Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On the userland side, there is some good progress of using thunking to run 32-bit Windows programs in Wine on Linux without the need for 32-bit libraries (the only edge case remaining is thunking 32-bit OpenGL which is lacking needed extensions for acceptable performance). But the same can't be said for a bunch of legacy 32-bit native Linux stuff like games which commonly have no source to rebuild them.

May be someone can develop such thunking for legacy Linux userland.



How many of those legacy applications where the source is not available actually need to run natively on a modern kernel?

The only thing I can think of is games, and the Windows binary most likely works better under Wine anyways.

There are many embedded systems like CNC controllers, advertisement displays, etc... that run those old applications, but I seriously doubt anyone would be willing to update the software in those things.


Yeah, games I'd guess is the most common case or at least one enough people would care about.


I run a game server running a 32bit binary from 2004. I guess I will not be upgrading in the future.


It shouldn’t be difficult to write a binary translator to run 32-bit executables on a 64-bit userspace. You will take a small performance hit (on top of the performance hit of using the 32-bit architecture to begin with), but that should be fine for anything old enough to not be recompiled.


In some ways, Windows already does that too - the 32-bit syscall wrappers [switch into a 64-bit code segment](https://aktas.github.io/Heavens-Gate) so the 64-bit ntdll copy can call the 64-bit syscall.


I would guess so, but I haven't seen anyone developing that so far.


most of those games would have windows builds?

that said, i sometimes think about a clean-room reimplementation of e.g. the unity3d runtime -- there are so many games that don't even use native code logic (which still could be supported with binary translation via e.g. unicorn) and are really just mono bytecode but still can't be run on platforms for which their authors didn't think to build them (or which were not supported by the unity runtime at the time of the game's release).


> most of those games would have windows builds?

Yeah, that's a reasonable workaround, as long as it doesn't hit that OpenGL problem above (now it mostly affects DX7 era games, since they don't have Vulkan translation path). Hopefully it can be fixed.


Perhaps a new compatibility layer, call it LIME -- LIME Is My Emulater


LIME Isn’t Merely an Emulator


In practice, the path for legacy software on Linux is Wine.


I have heard people say the only stable ABI on Linux is Win32.


Win32S but the other way around.

Win64S?




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: