Used to be a staff member working on an x86 OS called CTOS. I realized if I implemented a couple of traps, we could run command-line DOS programs. So I did. And it worked. Dev tools, text processing, piped commands all worked.
It helped that the DOS executable format was the same as the CTOS format - because we had traded Bill Gates our linker (which produces executables) for his BASIC compiler.
I developed for windows before moving to linux. I was surprised to find that was no system call similar to windows WaitForMultipleObjects. Sure you can implement something similar using poll() or using condition variables. but WaitForMultipleObjects seems so much simpler and more versatile
A lot of that flexibility is what makes it hard to efficiently emulate (especially without kernel level support), but some of it seems too flexible to make sense as the default choice. How often does a video game really need a lock that can be shared between processes, and why should that lock type be the one that a game engine uses for almost all of its locks?
> How often does a video game really need a lock that can be shared between processes,
What do you mean? SRWLock (or the older CRITICAL_SECTION) cannot be shared between processes. A (Win32) Mutex can be shared between processes, but that's its entire purpose. So Windows does have different tools for different jobs.
In fact, it's really the other way round: on Linux, a futex also works across processes, but there is no equivalent in Windows. (Sadly, WaitOnAddress can only be used in a single process.)
The last time I asked the same question here, someone finally pointed out [1][2] a significant difference: wfmo can actually acquire semaphores in addition to waiting for them, which poll can't do in a non-racy way and efficient way. It can also do rendezvous synchronization (i.e. signal-and-wait).
I wonder what spanners Windows can throw into the works to slow them down at this point, or if they're so checked out of the Desktop market as they suckle down hard on that Azure teat, that they're more than happy to let Linux eat their lunch
You are not gonna get promoted slowing down Linux gaming at MS today, the thing they want is Netflix of gaming where the platform doesn’t matter but everyone’s paying them $20 a month
Microsoft/Xbox is in the process of losing the living room permanently in the next gen if you ask me.
I don't know what they could do spanner tossing wise to really screw w/ Linux gaming at this point that wouldn't just drive more frustrated customers off their platform.
That might make room for Apple to finally try. The AppleTV is already in a similar tier to modern consoles, as far as specs and benchmarks go. Most of what's missing is a first-party controller and a marketing push. Disk space is tight, too, I guess. Still, they're most of the way to having a horse in the race, if they want to.
I reckon a successful launch of the Steam box (or whatever they're calling it) with its enormous library could develop into something that really challenges what's left of Microsoft's piece of the console market (and threaten Sony a little, for that matter) though it's looking like the memory shortage is gonna kneecap that by forcing the price too high. Bad timing.
Lock future game developers in to a corner forcing them only to produce compatible for WSL, Windows for Linux releases. Restricting the license of use on GNU/Linux.
AMD. The final holdout, HDMI 2.1 support being blocked by the HDMI group, has been overcome w/ the HDMI group relenting and support is now landing in the kernel (expected in 7.2).
I sort of figured that HDMI stupidity was strategically a good thing as it sort of brought the dynamic of the HDMI consortium and VESA. specifically how they treat the end users, more to the public eye.
That is, more people being subtly pushed to using display port is not a bad thing.
Some people have TVs or displays that only use HDMI. I personally wouldn't recommend HDMI if DisplayPort is available, but if HDMI is your only option, then having it work properly will be important.
The cable length limitations are also a pain in the ass for not-uncommon A/V system configurations. 6' recommended max, and the best you might get working stably if the device and cable gods smile on you is 15'. 6' is the lower edge of acceptable for just about any A/V system setup (in practice it means your devices need to be within about a meter of the screen's port[s], which is pretty close) and even 15' is still too short to be useful for, say, a projector, or a "the A/V receiver or HDMI switch is over in that cabinet, the TV is on this wall across the room" situation.
End of 2024 I did exactly that. Ryzen and RADEON all the way. Rocking Fedora right now but was using Ubuntu for a bit. I have no reason to use Windows at all.
Just anecdata, but I just got a Lenovo T16 with AMD. Graphics is just painless, everything works with no issues. My old system with an Nvidia card running the same O/S keeps running into weird issues. It mostly works, just needs attention and little tweaks and extra stuff sometimes.
AMD does a lot of work to ensure their support for Linux is first-class.
With the kernel now natively supporting their systems, you can expect good support.
It's earned them some good will over Nvidia
which has gotten better recently with the rise of AI, but still requires users to jump through a couple of hoops due to their attempts to protect their IP.
It is more than that, I really like openbsd as a desktop system. This is niche enough that I have zero expectation for any sort of support from the hardware vendors. However, because the amd drivers are opensource. Heroic people in the obsd dev community are able to make it work there. I don't strictly need a gaming gpu for my desktop work, but it is nice to have a setup I can boot linux on to play games with.
Heroic because the amdgpu driver is strangely huge, more code than the rest of the obsd kernel combined, It has something to do with gpu's having no isa stability and the generated code for each card present in the driver.
AMD for sure. Years ago for Linux NVIDIA was the sure winner. At the moment, AMD beats it out soundly on both cost and performance. ie, the same game running on either an NVIDIA or AMD GPU in Linux will generally run much better on the AMD GPU.
I built a Linux gaming PC a few years ago, running Bazzite.
AMD is much better. Nvidia has been improving but stuff "just works" with AMD because the kernel (amdgpu) and userspace (RADV) drivers are open source. Valve is a major RADV contributor too.
I don't feel like I'm missing out on anything with my 9070 XT. Performance is great.
People say you will have less problems with AMD but I am using a Nvidia GPU for years now (on Cachyos and Pop OS) without issues. I'm using Steam and Proton pretty much exclusively though.
Which card and which drivers? I switched from Windows 10 to Xubuntu last year and have had endless issues with my Nvidia card (GTX 970). At the moment, I can't even use the desktop without annoying flickering & hard to diagnose / fix bugs.
Its an old card so I have no idea why I'm still struggling to get it to work. Is it perhaps because I'm using Xfce? I heard that Nvidia cards play better with Wayland although I haven't tested this myself.
Anything between 700 and 2000 series (inclusive) is in this "completely proprietary due to signed firmware but also not fully supported in Wayland" zone. You need to have at least 3000 series to have proprietary drivers with open kernel driver and good KMS/GBM/Wayland support.
> Nvidia on laptops? Insert the famous Linus Torvalds meme here
I have an RTX 5070 (whatever the laptop variant is) and it absolutely rocks with almost everything I throw at it, running Ubuntu+Steam+Proton. I no longer worry whether a Windows game is going to run, because almost all of them do with good performance.
AMDs are much better supported. There is life with NVIDIA GPUs too, I am on 4070Ti currently doing fine, but for new builds AMD is clearly a better choice with better drivers
I predict that ntsync will eventually evolve into full blown ntoskrnl.ko and there would be virtually no overhead on calling Windows API. You can almost call it a Linux Subsystem for Windows.
I only hope this eventually reaches enough coverage to support media production. It’s the last commercial area I care about. I’m entirely willing to pay for good work here (and have) but both major commercial desktop OSs are exhibiting significant warning signs of contempt for the users.
I remember when XDA was the home of Android homebrew hackers working on things like CyanogenMod. It's so strange to see it repurposed as the brand for the same quasi-correct tech article slop that seems to go around all the big blogs.
Tom's Hardware is a bit before my time, but I remember it being well regarded. I've seen a lot of similar articles under that name lately. I wonder if they've undergone similar fates.
Same with all the bigger tech blogs from a decade ago. How-To Geek is completely overrun with the same sort of slop. Finally had to remove it from my RSS reader.
Oh look at that, XDA and HTG are both owned by Valnet:
Headline says "Windows APIs are becoming Linux kernel features", but only provides two actual examples? It lists NTSYNC, and waiting on multiple events at once.
“He who fights with Windows should see to it that he himself does not become Windows. And when you gaze long into ntoskrnl, ntoskrnl also gazes into you.”
Seriously, is it really a victory if you have to adopt the architecture of your sworn enemy?
To quote Linus Torvalds from 1997: "I don't try to be a threat to Microsoft, mainly because I don't really see MS as competition. Especially not Windows - the goals of Linux and Windows are simply so different."
He got less humble later on when momentum started building behind Linux. To quote Linus Torvalds from 2003: “Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect.”
We are so far removed from 1997 that this statement means nothing.
> the goals of Linux and Windows are simply so different.
So different that Windows muscle memory works on most main stream Linux UI's, Many (most?) Steam games run on Linux, and now we have Windows in the Linux kernel.
Does Windows muscle memory work? The vast majority of shortcuts are completely different for the casual user, and for the power user, there's no regedit or control panel and other such things.
Be that as it may, it means that the muscle memory (or more accurately, the mental model of the system) is gone. I've long held the belief that power users or knows-enough-to-be-dangerous users have a harder time switching for that exact reason.
A control panel (or cross-distro YaST) would be very welcome in the ecosystem I think.
What is the purpose of achieving victory? Is it to produce the software that works better or is it to stick your fingers in your ears and lalala the loudest?
Not really, in the drunken happiness to have games, Linux users keep forgetting those are games developed on game studios that the only place there are GNU/Linux installations running are their MMO servers.
It is no different from arguing how Linux is getting better GameCube games with Dolphin.
Also Valve is only as good as its current management is still around, eventually like any other company time will pass, and new warm bodies will take other decisions.
Used to be a staff member working on an x86 OS called CTOS. I realized if I implemented a couple of traps, we could run command-line DOS programs. So I did. And it worked. Dev tools, text processing, piped commands all worked.
It helped that the DOS executable format was the same as the CTOS format - because we had traded Bill Gates our linker (which produces executables) for his BASIC compiler.
if I implemented a couple of traps
What does this mean? System calls?
That's a great twist! Very few people traded Bill Gates a linker for a compiler!
I developed for windows before moving to linux. I was surprised to find that was no system call similar to windows WaitForMultipleObjects. Sure you can implement something similar using poll() or using condition variables. but WaitForMultipleObjects seems so much simpler and more versatile
A lot of that flexibility is what makes it hard to efficiently emulate (especially without kernel level support), but some of it seems too flexible to make sense as the default choice. How often does a video game really need a lock that can be shared between processes, and why should that lock type be the one that a game engine uses for almost all of its locks?
> How often does a video game really need a lock that can be shared between processes,
What do you mean? SRWLock (or the older CRITICAL_SECTION) cannot be shared between processes. A (Win32) Mutex can be shared between processes, but that's its entire purpose. So Windows does have different tools for different jobs.
In fact, it's really the other way round: on Linux, a futex also works across processes, but there is no equivalent in Windows. (Sadly, WaitOnAddress can only be used in a single process.)
Epoll / select? since everything is a file, you can wait on everything.
The last time I asked the same question here, someone finally pointed out [1][2] a significant difference: wfmo can actually acquire semaphores in addition to waiting for them, which poll can't do in a non-racy way and efficient way. It can also do rendezvous synchronization (i.e. signal-and-wait).
[1] https://news.ycombinator.com/item?id=47513667 [2] https://lore.kernel.org/lkml/f4cc1a38-1441-62f8-47e4-0c67f5a...
I wonder what spanners Windows can throw into the works to slow them down at this point, or if they're so checked out of the Desktop market as they suckle down hard on that Azure teat, that they're more than happy to let Linux eat their lunch
You are not gonna get promoted slowing down Linux gaming at MS today, the thing they want is Netflix of gaming where the platform doesn’t matter but everyone’s paying them $20 a month
Microsoft/Xbox is in the process of losing the living room permanently in the next gen if you ask me.
I don't know what they could do spanner tossing wise to really screw w/ Linux gaming at this point that wouldn't just drive more frustrated customers off their platform.
That might make room for Apple to finally try. The AppleTV is already in a similar tier to modern consoles, as far as specs and benchmarks go. Most of what's missing is a first-party controller and a marketing push. Disk space is tight, too, I guess. Still, they're most of the way to having a horse in the race, if they want to.
I reckon a successful launch of the Steam box (or whatever they're calling it) with its enormous library could develop into something that really challenges what's left of Microsoft's piece of the console market (and threaten Sony a little, for that matter) though it's looking like the memory shortage is gonna kneecap that by forcing the price too high. Bad timing.
Their gaming marketshare is minuscule both on PCs and consoles already. It's a downward spiral for years already.
Lock future game developers in to a corner forcing them only to produce compatible for WSL, Windows for Linux releases. Restricting the license of use on GNU/Linux.
If you purpose build a Linux gaming PC, would you lean more towards AMD GPUs over Nvidia?
AMD. The final holdout, HDMI 2.1 support being blocked by the HDMI group, has been overcome w/ the HDMI group relenting and support is now landing in the kernel (expected in 7.2).
https://www.gamingonlinux.com/2026/05/further-expanded-amd-h...
I sort of figured that HDMI stupidity was strategically a good thing as it sort of brought the dynamic of the HDMI consortium and VESA. specifically how they treat the end users, more to the public eye.
That is, more people being subtly pushed to using display port is not a bad thing.
I was faintly surprised that my recent monitor purchase came with a displayport cable.
Didn't help connecting it to my Macbook, but still..
any reason why we are using hdmi over display port?
The vast majority of the TVs only come with HDMI .. not even good enough analog inputs anymore..
I have been told (but not confirmed) that is mandated by the HDMI mob. If you want HDMI on your TV, it cannot also have DP.
This can only be true for consumer-grade stuff. Even then I just guess the manufacturers kind of cheap out.
I have a dumb-ish Samsung Hotel TV / commercial TV at home. It has DP.
Some people have TVs or displays that only use HDMI. I personally wouldn't recommend HDMI if DisplayPort is available, but if HDMI is your only option, then having it work properly will be important.
For one, DisplayPort doesn’t support HDR output
The cable length limitations are also a pain in the ass for not-uncommon A/V system configurations. 6' recommended max, and the best you might get working stably if the device and cable gods smile on you is 15'. 6' is the lower edge of acceptable for just about any A/V system setup (in practice it means your devices need to be within about a meter of the screen's port[s], which is pretty close) and even 15' is still too short to be useful for, say, a projector, or a "the A/V receiver or HDMI switch is over in that cabinet, the TV is on this wall across the room" situation.
HDMI goes 25'+, no problem.
That can't be right. I'm reading this comment on an HDR monitor over DP right now.
Don't all USB-C video outputs use DP alt mode too, with an HDMI adapter at the end? And they can do HDR.
Do you mean in practice, or something? DP definitely supports HDR, and it seems to work fine for me.
End of 2024 I did exactly that. Ryzen and RADEON all the way. Rocking Fedora right now but was using Ubuntu for a bit. I have no reason to use Windows at all.
Just anecdata, but I just got a Lenovo T16 with AMD. Graphics is just painless, everything works with no issues. My old system with an Nvidia card running the same O/S keeps running into weird issues. It mostly works, just needs attention and little tweaks and extra stuff sometimes.
[delayed]
Right now AMD is the better choice due to support from Valve. It might change in the future due to Red Hat's effort.
AMD does a lot of work to ensure their support for Linux is first-class. With the kernel now natively supporting their systems, you can expect good support. It's earned them some good will over Nvidia which has gotten better recently with the rise of AI, but still requires users to jump through a couple of hoops due to their attempts to protect their IP.
It is more than that, I really like openbsd as a desktop system. This is niche enough that I have zero expectation for any sort of support from the hardware vendors. However, because the amd drivers are opensource. Heroic people in the obsd dev community are able to make it work there. I don't strictly need a gaming gpu for my desktop work, but it is nice to have a setup I can boot linux on to play games with.
Heroic because the amdgpu driver is strangely huge, more code than the rest of the obsd kernel combined, It has something to do with gpu's having no isa stability and the generated code for each card present in the driver.
AMD for sure. Years ago for Linux NVIDIA was the sure winner. At the moment, AMD beats it out soundly on both cost and performance. ie, the same game running on either an NVIDIA or AMD GPU in Linux will generally run much better on the AMD GPU.
I built a Linux gaming PC a few years ago, running Bazzite.
AMD is much better. Nvidia has been improving but stuff "just works" with AMD because the kernel (amdgpu) and userspace (RADV) drivers are open source. Valve is a major RADV contributor too.
I don't feel like I'm missing out on anything with my 9070 XT. Performance is great.
People say you will have less problems with AMD but I am using a Nvidia GPU for years now (on Cachyos and Pop OS) without issues. I'm using Steam and Proton pretty much exclusively though.
Which card and which drivers? I switched from Windows 10 to Xubuntu last year and have had endless issues with my Nvidia card (GTX 970). At the moment, I can't even use the desktop without annoying flickering & hard to diagnose / fix bugs.
Its an old card so I have no idea why I'm still struggling to get it to work. Is it perhaps because I'm using Xfce? I heard that Nvidia cards play better with Wayland although I haven't tested this myself.
Anything between 700 and 2000 series (inclusive) is in this "completely proprietary due to signed firmware but also not fully supported in Wayland" zone. You need to have at least 3000 series to have proprietary drivers with open kernel driver and good KMS/GBM/Wayland support.
I run a GTX 970 on Fedora 44 KDE Plasma (Wayland) without issues. Make sure to use the 580.xx Nvidia driver.
I can't speak for the parent but I have a 5090 and it works perfectly fine
Nvidia on desktop has been mostly fine, if not rock solid, on the happy path they provide.
But their happy path hasn't included proper wayland support for a long time.
Nvidia on laptops? Insert the famous Linus Torvalds meme here
> Nvidia on laptops? Insert the famous Linus Torvalds meme here
I have an RTX 5070 (whatever the laptop variant is) and it absolutely rocks with almost everything I throw at it, running Ubuntu+Steam+Proton. I no longer worry whether a Windows game is going to run, because almost all of them do with good performance.
AMDs are much better supported. There is life with NVIDIA GPUs too, I am on 4070Ti currently doing fine, but for new builds AMD is clearly a better choice with better drivers
Def AMD. And if your focus is gaming I’d give SteamOS a go. With a full AMD setup you should basically be plug and play.
both are shit
I used a recent nvidia blackwell GPU with linux, periodic crashes. Blackwell generation is shit.
Used recent builtin AMD GPU... Even worse, super reproduceable X crashes when using firefox
yes
I predict that ntsync will eventually evolve into full blown ntoskrnl.ko and there would be virtually no overhead on calling Windows API. You can almost call it a Linux Subsystem for Windows.
It would be fun to call it Windows Subsystem for Linux!
I only hope this eventually reaches enough coverage to support media production. It’s the last commercial area I care about. I’m entirely willing to pay for good work here (and have) but both major commercial desktop OSs are exhibiting significant warning signs of contempt for the users.
What about macos?
I remember when XDA was the home of Android homebrew hackers working on things like CyanogenMod. It's so strange to see it repurposed as the brand for the same quasi-correct tech article slop that seems to go around all the big blogs.
Tom's Hardware is a bit before my time, but I remember it being well regarded. I've seen a lot of similar articles under that name lately. I wonder if they've undergone similar fates.
Same with all the bigger tech blogs from a decade ago. How-To Geek is completely overrun with the same sort of slop. Finally had to remove it from my RSS reader.
Oh look at that, XDA and HTG are both owned by Valnet:
https://www.valnetinc.com/en/technology
private equity, what would we do without you?!
Headline says "Windows APIs are becoming Linux kernel features", but only provides two actual examples? It lists NTSYNC, and waiting on multiple events at once.
[delayed]
This page really does not like playing nice with reader mode, making it near impossible to read unfortunately.
“He who fights with Windows should see to it that he himself does not become Windows. And when you gaze long into ntoskrnl, ntoskrnl also gazes into you.”
Seriously, is it really a victory if you have to adopt the architecture of your sworn enemy?
Microsoft and Windows were never the enemy.
To quote Linus Torvalds from 1997: "I don't try to be a threat to Microsoft, mainly because I don't really see MS as competition. Especially not Windows - the goals of Linux and Windows are simply so different."
He got less humble later on when momentum started building behind Linux. To quote Linus Torvalds from 2003: “Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect.”
We are so far removed from 1997 that this statement means nothing.
> the goals of Linux and Windows are simply so different.
So different that Windows muscle memory works on most main stream Linux UI's, Many (most?) Steam games run on Linux, and now we have Windows in the Linux kernel.
Rather, several missing, useful APIs that were hard to emulate efficiently have been added. That's not "Windows in the Linux kernel".
How do we "have Windows in the Linux kernel"?
Does Windows muscle memory work? The vast majority of shortcuts are completely different for the casual user, and for the power user, there's no regedit or control panel and other such things.
> there's no regedit or control panel and other such things
That's not a bug, it's a feature.
Be that as it may, it means that the muscle memory (or more accurately, the mental model of the system) is gone. I've long held the belief that power users or knows-enough-to-be-dangerous users have a harder time switching for that exact reason.
A control panel (or cross-distro YaST) would be very welcome in the ecosystem I think.
Um... Are you referring to WSL? Wouldn't that be the linux kernel running under windows?
What is the purpose of achieving victory? Is it to produce the software that works better or is it to stick your fingers in your ears and lalala the loudest?
Windows copied futexes from Linux first, anyway.
If you are refusing to have a stable architecture, then you will maintain architecture of your enemy
Is the intent of Linux the architecture, or the philosophy of free / open source software?
interface and architecture may influence each other, but interface doesn’t determine architecture
Not really, in the drunken happiness to have games, Linux users keep forgetting those are games developed on game studios that the only place there are GNU/Linux installations running are their MMO servers.
It is no different from arguing how Linux is getting better GameCube games with Dolphin.
Also Valve is only as good as its current management is still around, eventually like any other company time will pass, and new warm bodies will take other decisions.
What you care more about?
technical details or real-world outcomes?
I mean the NT kernel was never really the enemy, it was the company behind it.
Linux does not dragged down in performance by the thousands of virus and malware scanners.