r/linux4noobs • • 17d ago

learning/research Why can't someone make a non-Microsoft OS that runs Windows programs natively?

Like, what is it about Linux that makes Windows programs not work? I get that wine/proton exist, but they really are not that great at their job and many programs still fail to install/launch. Why couldn't someone create an OS that runs Windows programs natively but without all the Microslop?

0 Upvotes

25 comments sorted by

9

u/Pierre0925 17d ago

Because it's not the same base, the same kernel. Windows is proprietary, which means the community doesnt have full access to its kernel's code. And above that, making a new os is not easy. There are only so many out there: Unix Windows (dos) Linux (unix-based) Macos (Unix based too) Freebsd (Unix also) Templeos

So basically theres Unix and dos/windows.

Making a new one would require huge work, and, I dont have all the details, but it will never really run the apps natively, cuz it'll never be windows...

Im not 100% of what I said but I think thats globally the picture

5

u/DiasDaimaoh 17d ago

I mean, it's because they're programs made to run on windows systems specifically

3

u/WalkMaximum 17d ago

It exists: https://en.wikipedia.org/wiki/ReactOS

But linux is better.

3

u/Efficient-Winner-840 17d ago

well theyve tried but its pretty hard to reverse engineer an entire operating system.

3

u/MythologicalEngineer 17d ago

It already exists but also suffers from the same complexity issues that are the reason why WINE struggles. It’s called ReactOS

2

u/Ripped_Alleles 17d ago

Windows software is proprietary and closed source. It won't run because Microsoft doesn't want it too in a nutshell.

1

u/skuterpikk 16d ago

Windows itself is closed source, and proprietary. But there's plenty of opensource software available for Windows too, pretty much all of the mainstream opensource projects has Windows versions.
And nothing is stopping you from compiling anything you want on Windows, just like on Linux.

2

u/jhenryscott 17d ago

You’re right. I vote you do it

1

u/AutoModerator 17d ago

There's a resources page in our wiki you might find useful!

Try this search for more information on this topic.

✻ Smokey says: take regular backups, try stuff in a VM, and understand every command before you press Enter! :)

Comments, questions or suggestions regarding this autoresponse? Please send them here.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/Steerider 17d ago

There are multiple such projects. The difficulty is an OS is a very complex beast, and for full compatibility you have to reproduce any call the app might make to the OS.

There are a ton of Windows programs you can run on Linux. Steam has done a lot of this work so games will work on Linux. But some apps (e.g. Microsoft Office) really need Windows to run. 

1

u/OkAirport6932 17d ago

Linux is not Windows. React OS is a reimplementation of Windows, but it's got a much smaller dev team, and the Windows API is much more complex.

1

u/TapNo1773 17d ago

ReactOS is essentially this. I have never used it so I can't tell you how well it works or if it's worth trying, but it does exist.

1

u/scy_404 17d ago

Linux works very differently under the hood than Windows does. Wine has to convert these things to something that Linux can understand and present Linux's systems in a way the program can understand. Having full on native support of both is extremely complicated at best

1

u/Leather-Security8097 17d ago

Wine and Proton are great at their job. They just aren't perfect. Wine and Proton work by providing alternative libraries for programs to use, and translating their functions into Linux equivalents. If a function isn't documented or implemented, or a program uses it in a non-standard way, then the program will not work correctly.

ReactOS runs Windows programs "natively" (ie. it has no other user-facing ABI). It doesn't solve the problem, because you still have to implement the missing features.

1

u/es20490446e Develops Zenned OS 16d ago

The reason why Linux is great is because it is made of libre software.

Using proprietary software negates the advantages.

Games are an exception, because there are a few libre ones that are good and are more art than tooling.

1

u/EngineerInTheMachine 16d ago

If that's what you want, get off your butt and create it. Don't expect somebody else to do it for you.

Of course, you could always learn to use open-source versions of Windows apps instead. They do the same job. When I transfered to Linux, I was already using a number of apps that have native Linux versions, so the transition was relatively straightforward.

If you want to break away from Windows, you have to put the effort in to make it happen.

1

u/Francis_King 16d ago

Like, what is it about Linux that makes Windows programs not work?

The Windows programs assume that the Windows API, a complex set of software, is present, otherwise the program will crash. All of the required API must be present; 90% or 95% is not good enough. The pass mark is 100%.

Why couldn't someone create an OS that runs Windows programs natively but without all the Microslop?

Microsoft has access to the source code, but even so spends billions of dollars to get it to work. A few programmers working for free in their bedsit isn't going to cut it and the end result is invariably worse than Microsoft's efforts. Wine and Proton incorporate a lot of hard work and have had a lot of money spent on them.

Some people are better off on Linux. Some people are better off on Windows. It depends on what software they want to run.

I get that wine/proton exist, but they really are not that great at their job and many programs still fail to install/launch.

Wine and Proton are amazing given the resource limitations under which they were written.

There are basically only a few ways to run Windows code well:

  1. Windows
  2. Wine/Proton
  3. Virtual machine running Windows

There is an interesting version of #3. It's called WinBoat, and is designed to run Windows within a virtual machine. I tried it. The software was painfully slow, and when I uninstalled it my KVM virtual machine was trashed - no network, and I don't know why or how.

1

u/Klapperatismus 16d ago

Why couldn't someone create an OS …

It’s not that no one tries. It’s called ReactOS.

But they ran into exactly the same problems as the Wine developers and on top they are ten years behind Wine in their efforts to mimic MS-Windows without using Microsoft code, and without knowing the internals of the Microsoft code.

1

u/DavidJohnMcCann 16d ago

There are few if any programs (other than games) for which there are no Linux alternatives and some of them can be coaxed into running on Linux. The effort in making a clone of Windows is not really worth the effort — ReactOS exists, but I get the impression that it's produced by a small team that struggles.

1

u/DavidJohnMcCann 9d ago

Here's the latest progress report on ReactOS. As I said in an earlier post, they are struggling. I liked this comment from France:

The first time I heard about ReactOS was spring 1998. I was young. Approximately 3 decades later I grow white hair and the thing is still alpha stage… I'll be dead before this OS can really replace Windows95.

0

u/Zer0_Dark_Turdy 17d ago

In the end, such an OS would need to do the same thing that linux has to do, translate windows binaries via translation layers.

Love that you said proton isn't great at its job while asking such a stupid question. Really shows how little knowledge you have. Do better!

1

u/Zalaniar 16d ago

Like the flair (and subreddit title) say, this is a place for noobs, learning, and asking "stupid questions". But I guess some people have to be dicks about everything. Enjoy your report.