I think it's important to note that Linux isn't the only game in town when it comes to open source OS's. Linux users and devs love Linux for Linux, not merely as an alternative to Windows, and afaik there's not much in the way of open source microkernels, although in principle there's no reason why there can't be.
My point is, Linux uses a monolithic kernel, while Windows uses a microkernel, and if you want an open source OS that doesn't have much trouble running programs (including games) that were written to run on Windows, you'll probably need to have a microkernel. As well as having the OS be structured like Windows, but without using any Windows code.
But I'm not a programmer or software engineer and I'm talking out my ass, so don't take my word for anything tech-related. I'd also guess that only a company in a country like Russia or China would even be willing to undertake such a project, and then there'd be a coding arms race between such a company and Microsoft wherein the latter would do everything they could to make Windows programs no longer able to run on the alternative (maybe call it "Shatter"?). Funnily enough, this would probably just make Windows increasingly unusable, and since Microsoft is a pawn of the deep state, it would get the glowies even farther up the tech industry's asses than they were already.
Not my area of expertise, but I'm pretty sure you're talking out of your ass. The application is looking for certain resources. If those resources are provided by something in userland or the kernel isn't really the application's problem.
Your main issue in running things like games is going to be GPU drivers. Since those aren't very open, you are going to be at the mercy of whatever OS Nvidia/AMD/Intel feel like supporting.
My understanding is AMD generally supports open source initiatives directly (OpenGL, Mesa). Nvidia hands you a proprietary binary and says "this is for Linux, good luck." AMD is more philosophically open source. You kind of get the feeling that Nvidia's Linux support is maybe more a side effect of the data center / AI business where Linux is industry standard.
Easiest approach is to find a distro that has solid and reliable support for Proton, I think. Mesa is another factor to possibly to check on too.
There's a bunch of other details I'm coming across in a couple of redditthreads. It wouldn't be very sensible to try and cover everything mentioned in my own comment.
Worth noting that on a cursory glance at recent opinions, it does indeed seem like AMD typically more widely reliable on Linux than nVidia.
The issue is Nvidia itself. There are drivers that are open source and are delivered with the OS if you want to. Those suck though since they don't have the optimisation. If nvidia said they would go for open source drivers(they have open sourced some stuff recently with hopefully more to come) they could be put in the kernel like with AMD. And when they are open source people can earlier accommodate software for it.
Currently nvidia runs best on x11 which is slowly being replaced by wayland. Nvidia and wayland don't work well together and that's mostly because nvidia doesn't care to add functions that would help it. If it was open source people could make pull requests with patches for it. But alas, we're not there yet. IMHO and my personal experience nvidia works on Linux, just not as fancy as AMD.
For non-driver stuff if you were going to ask, "what if we just put a layer between the application and kernel and convert all the calls?" That's basically what WINE is.
Windows uses a hybrid Kernel. The only mainstream system, that I know of, that's using a microkernel is VMware ESXi. Although, that's a level 1 hypervisor whose only job is to pass the allocated hardware resources to the VMs running on it.
I think it's important to note that Linux isn't the only game in town when it comes to open source OS's. Linux users and devs love Linux for Linux, not merely as an alternative to Windows, and afaik there's not much in the way of open source microkernels, although in principle there's no reason why there can't be.
My point is, Linux uses a monolithic kernel, while Windows uses a microkernel, and if you want an open source OS that doesn't have much trouble running programs (including games) that were written to run on Windows, you'll probably need to have a microkernel. As well as having the OS be structured like Windows, but without using any Windows code.
But I'm not a programmer or software engineer and I'm talking out my ass, so don't take my word for anything tech-related. I'd also guess that only a company in a country like Russia or China would even be willing to undertake such a project, and then there'd be a coding arms race between such a company and Microsoft wherein the latter would do everything they could to make Windows programs no longer able to run on the alternative (maybe call it "Shatter"?). Funnily enough, this would probably just make Windows increasingly unusable, and since Microsoft is a pawn of the deep state, it would get the glowies even farther up the tech industry's asses than they were already.
Not my area of expertise, but I'm pretty sure you're talking out of your ass. The application is looking for certain resources. If those resources are provided by something in userland or the kernel isn't really the application's problem.
Your main issue in running things like games is going to be GPU drivers. Since those aren't very open, you are going to be at the mercy of whatever OS Nvidia/AMD/Intel feel like supporting.
My understanding is AMD generally supports open source initiatives directly (OpenGL, Mesa). Nvidia hands you a proprietary binary and says "this is for Linux, good luck." AMD is more philosophically open source. You kind of get the feeling that Nvidia's Linux support is maybe more a side effect of the data center / AI business where Linux is industry standard.
Got an RTX, it has rarely has issues but even those are negligible for me at least.
I've got an Nvidia GPU rip
This is why I run Windows on heads, and then people say I'm an idiot. Meanwhile, their GPU doesn't work.
So why can't a Linux distro be written to accomodate those drivers?
Easiest approach is to find a distro that has solid and reliable support for Proton, I think. Mesa is another factor to possibly to check on too.
There's a bunch of other details I'm coming across in a couple of reddit threads. It wouldn't be very sensible to try and cover everything mentioned in my own comment.
Worth noting that on a cursory glance at recent opinions, it does indeed seem like AMD typically more widely reliable on Linux than nVidia.
The issue is Nvidia itself. There are drivers that are open source and are delivered with the OS if you want to. Those suck though since they don't have the optimisation. If nvidia said they would go for open source drivers(they have open sourced some stuff recently with hopefully more to come) they could be put in the kernel like with AMD. And when they are open source people can earlier accommodate software for it.
Currently nvidia runs best on x11 which is slowly being replaced by wayland. Nvidia and wayland don't work well together and that's mostly because nvidia doesn't care to add functions that would help it. If it was open source people could make pull requests with patches for it. But alas, we're not there yet. IMHO and my personal experience nvidia works on Linux, just not as fancy as AMD.
That's beyond me and you're probably at least partially right about kernel architecture coming in to play.
You might find this interesting: https://en.wikipedia.org/wiki/ReactOS
For non-driver stuff if you were going to ask, "what if we just put a layer between the application and kernel and convert all the calls?" That's basically what WINE is.
Edit: This is a bit closer to what you were asking for, but I'd never heard of it before. https://en.wikipedia.org/wiki/Longene
tl;dr: It's been tried but either died off or isn't fully functional after decades.
Windows uses a hybrid Kernel. The only mainstream system, that I know of, that's using a microkernel is VMware ESXi. Although, that's a level 1 hypervisor whose only job is to pass the allocated hardware resources to the VMs running on it.