Is it possible to create an OS that simply automatically runs .exe files through WINE/Proton/Bottles?

helenslunch@feddit.nl to Linux@lemmy.ml – 70 points –

I really enjoy Linux but I find myself having to keep Windows partitions around for software that specifically requires Windows.

Proton makes everything easier by automatically running game files through a translation layer, and it "just works" quite well most of the time.

Also VanillaOS can apparently auto-spin a container when you try to open a .deb or AUR package (this is my rudimentary understanding).

Setting up WINE/Bottles, etc. is above my pay grade.

Is it not possible to create an OS that just does the same thing as Steam but for the entire OS?

87

You are viewing a single comment

Sure, when linux loads are process it follows a standard procedure to see how to run the file. If the file has ELF markers it runs the process via the ELF loader. If the file has #! as the first then it uses a different process to run that script. (I doubt a.out executable format is supported anymore, but that at least used to be an option). There is no reason you cannot hack this process to detect windows executable and then use wine to load/run the application. I'm not sure why nobody has done this, but the basic things have been supported in linux for decades.

You don't need to hack anything, you can use Binfmt_misc to tell the kernel how to load windows binaries

I doubt a.out executable format is supported anymore, but that at least used to be an option

is that why when i compile c programs the default name is a.out?

Sorta, the file might not be in the a.out format anymore but the name has stuck around.

No shit, DOS box works well enough on Linux it was ported to Windows for older programs, just do the same with power shell.

1 more...

Are you un-ironically suggesting that this person should write a kernel plugin to support pe formated binaries? Especially considering that wine-binfmt is a thing?

i last looked into this about 20 years ago. I concluded I could make it work but I don't use wine enough to bother.

1 more...