logoalt Hacker News

shmerlyesterday at 7:30 PM6 repliesview on HN

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.


Replies

eric__cartmanyesterday at 7:55 PM

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.

show 1 reply
cwzwarichyesterday at 7:55 PM

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.

show 3 replies
dontlaughyesterday at 8:10 PM

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

show 1 reply
5-yesterday at 7:44 PM

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).

show 1 reply
xeonmcyesterday at 8:08 PM

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

show 1 reply
hinkleyyesterday at 11:49 PM

Win32S but the other way around.

Win64S?