This is probably because Linux has a much finer tuned scheduler for multiples cores and multiples threads per-core. Linux dominates the HPC market for more than a decade and, as current workstations approach features of supercomputers from decades ago, the better scheduler begins to shine.
Also, considering how much Linux dominates on servers, it is very likely that IO latency or throughput, depending on the case, is top.
I don't expect windows to be better except for some memory heavy applications given it is mostly used on the desktop and has probably memory management features that are adequate for this use case.
It is a shame that for AAA games we still live with a virtual monopoly controlled by the option which is not the highest performant. Specially considering how gamers like to brag about their machines and setup to extract the last drop of performance. It would be interesting if gamers forced the industry to bow to the most advanced solution. Developers, HPC, servers and embedded people were successful doing exactly that.
If your theory about Linux's historic use means it is a better fit for modern desktop CPUs, shouldn't the same be true for memory? I don't see why Windows should be better (according to the theory) as servers have also been the place of most memory intensive applications.
By memory-intensive I mean applications that have to do frequent allocations and de-allocations. This is very common on the desktop.
In HPC I think the more common case is a big allocation at program start and then lots of processing to de-allocate only after the number-crunching part is finished.
On servers it boils down to how quickly you can respond to network events and fire new processes.
When I want to play games, I want to click on heads till they're not heads anymore, or think with portals, or race around a city with friends.
Not trying to debug why pulse audio is having issues and refusing to send audio to the front jack, again.
Maybe this has changed of late, and I'm just burned by these previous "adventures", but video/audio always felt like a bit of an afterthought in Linux to me.
Pipewire is replacing PulseAudio and I can finally say, it works great. Pulse was a great idea for its time, but it was poorly written and it took 10 years for it to get to a point it didn't make you wish you could avoid using it.
Also I think it's crucial to clarify that in my experience the vast majority of audio troubles on Linux are due to how buggy and shitty (and ubiquitous) Realtek soundcards are. Those integrated cards are junk, and they are buggy like hell, if you read the source code the drivers have to resort to doing what's basically black magic to get them to work, each single damn configuration has its own quirks, etc.
This is also true for Realtek NICs though, almost everything those guys do is shitty as heck.
This is a great example of the blessing/curse of gnu/linux.
On the one hand, freedom and infinite flexibility.
On the other hand... There’s is no high level structure or plan as a whole.
Linux is only the kernel, and distributions set up the userspace in varying ways.
So development is inherently fractured into numerous similar projects.
These projects leap frog and replace each other over time. But there is a lot of effort spent in reinventing the wheel.
Sometimes I wish that, for example, we could all settle on one window manager. Everyone could put efforts in the same direction, and make it awesome.
Of course in reality that would never work, but in some ways it would be nice to see the same amount of refinement and consistency in the userspace as in the kernel.
So we had ALSA > PulseAudio > Pipewire.
What's the next thing that works Great* for Linux?
*Terms and conditions apply, not guaranteed to work in all cases. Doesn't support hardware decoding or positional audio among other features. If you are having issues please refer to section 4.2 – "It's free and open source" where it's stated that the User waives all rights to criticise the Work unless they contribute to the Linux kernel themselves.
I honestly had issues with audio also on Windows, so I don't think what you are saying is completely true. Even on Windows you play the lottery every time you buy a motherboard or a laptop, and if you lose, you're stuck with a shitty sound card with worse drivers.
For instance, my workplace gave me an HP Zbook which has a builtin Realtek sound card whose Windows drivers do not support separate volumes for speakers and headphones. If you unplug your headphone jack by mistake, the embedded speakers will promptly start blasting the entire room with whatever you were listening to at the same audio level you set for the headphones. The output source is even called "Speakers/Headphones".
If you uninstall the official Realtek drivers, Windows uses the generic HDA driver from Microsoft which supports different, separate sound outputs for the headphones and speakers, but it doesn't have all the weird hacks required to make the HDA codec actually work fine, so setting the volume at more than 10% creates clicks and audio artifacts. On Linux the drivers have been patched to avoid these issues, so both jack sensing and separate audio levels work fine.
Someone mentioned Pulseaudio having issues with front jack detection - this is an issue I had myself, and I discovered that the underlying cause in the case of my desktop machine was due to the sound card triggering random jack plugged/unplugged events.
This sent Pulseaudio's jacksense logic haywire, because it repeatedly saw sinks appearing and disappearing. I tried to remove the Realtek drivers on Windows on the same machine and - voilà! A very similar issue occurs with the Microsoft generic driver, which leads me to think that the OEM driver does some black magic stuff underneath to get jack sensing work fine on their sound card.
To get an idea of how buggy and terribile are the builtin soundcards shipped in consumer hardware, just look at FreeBSD's HDA audio driver, which is forced to apply hacks depending on the __specific model of laptop__ just to avoid audio glitches:
While this might be true (neither saying it is or isn't) it is interesting that a lot of gamers will go to extreme lengths, both time and money-wise, for a few extra FPS but still most don't use the energy to switch to Linux. I wonder why.
We all know why: gamers don't use linux because some of their games don't run on linux or run with limitations. If more publishers were willing to, this could change.
For me the dealbreaker is that games run consistently at 10%-20% lower FPS on Linux than on Windows. Not a disaster but it bothers me.
Native Linux games do run fast and sometimes faster but more and more publishers are abandoning native Linux and are taking the Proton route. That way they can get games to run on Linux and ignore all the support questions. "Sorry we dont't support Proton but we hear it runs well!".
But some big games that a lot of geeks use a lot of time tweaking do run better in Linux. Many of these gamers only play the one game for most of their time. If they can use X hours in Windows to gain Y FPS but can gain more FPS by using >X time in Linux then why don't they? My guess is most simply don't know.
Many games do run with lower FPS but it isn't really set in stone. I have used WINE with good FPS gains before. Of course that was back when I had the time and not the money to throw at it.
Because people play games to relax, Linux, for all its benefits is at times unbelievably frustrating to debug, for most, that isn’t a good use of their limited free time.
My comment wasn't clear on my point which were that some gamers use a lot of time and money to gain X amount of FPS in a game but they don't use Linux even when it might gain them at least as much. Maybe because they simply don't know?
This stereotypical gamers you talk about are also very conservatives, and upgrades only if there is an actual benefit in doing so, for the sole reason of keeping the FPS as high as possible, which is at incredible odds with the ever changing Linux graphical ecosystem, where nothing is stable but in constant flux.
> When I want to play games, I want to click on heads till they're not heads anymore, or think with portals, or race around a city with friends.
I understand what you mean. Nevertheless, some gamers have the fame of being technically proficient power users who are willing to pay more and spend a lot of time just to get games to squeeze even the last drop of possible performance from their systems.
Today these gamers could be using a higher performant kernel if publishers were willing to fight the monopoly.
Your point is invalid, I have had many issues with games for Windows on Win10 and the last two examples I remember was GTAIV and CSGO.
GTAIV demanded from me to google for some time how to make it work without Microsoft service which wasn't available any longer.
CSGO just been stuck on loading map frame and couldn't find any solution until started to mess with client startup settings.
TBH Windows never was like you say "just click and play", especially when we talking about supporting older software or messing with different drivers due to lags, stutering or other issues.
Ba! even consoles don't provide anymore what you wrote above.
Oh look, another "I've tried linux 25 years ago and some hardware didn't work and it sucked" post.
Forgive the roughness of this reply... but...
In the last 15 years every linux that I've installed on every desktop and laptop that I've tried worked perfectly out of the box. No sound issues, no network issues, no wifi issues, video card drives just work. And if you use more "user friendly" distros like linux mint you do not even need to use the command line, amd drivers are right there in the kernel, and you can install nvidia drivers right from the gui. And you can on click heads or you can think with portals or race around a city without ever needing to use terminal or to debug audio issues.
At home I am all in on Linux desktop (I'm using mint) and I love it. However, I have a gaming PC with two AMD graphics cards attached. These do not work together with the vanilla distribution, they need drivers from AMD to work correctly. As of recent the driver has stopped working together with the latest kernels supplied by the distribution (the graphics cards are somewhat older).
"Working perfectly out of the box" is a bit of a stretch.
On the other had, as far as I can tell (I use Windows 10 at work), Linux desktops are considerably faster for many tasks. And there is little left to desire going to the distributions repository...
Unfortunately for every "it works perfectly here" post, there's just as many people where it doesn't work. My own experience with Ubuntu is "it works fine until it suddenly doesn't", and when looking for solutions on the internet, you find a thousand answers, all contradicting each other.
I recently installed the latest version of Linux Mint because I was sick of Windows with Microsoft thinking that because I had installed Windows it owns my PC, automatically 'fixing' things that were better off not running, as these were things that trawled my hard drive and absolutely destroyed the performance of the PC for long periods at a time. The two things that come to mind when dealing with this is 'Microsoft Compatibility Appraiser' (the Microsoft Telemetry thing) and 'Windows Update Medic Service'. Both these things trawl my hard drive, I've watched them do it. Why 'Windows Update Medic Service' would be going through the jar files of a program that I unpacked to a completely non-windows directory I have no idea. These programs doing this is one thing, but Microsoft tries to prevent people from disabling these services from running, I actually have to break windows enough so that it actually runs well. That is why I realised that when I run Windows I really don't own my PC and installed Linux.
Experience installing and setting up Linux.
* Installing Linux was trivial, scary to shrink an NTFS partition in the installer, but after a long time it finished and worked really well. Tried Windows built in NTFS resize before this but even with almost all data removed from HDD it wouldn't lower the more than something like 300MB off of a 2.7GB partition.
* The basics worked without configuration. Graphics were fine even before installing drivers, internet was autosetup out of the box.
* There was still some basic stuff that needed searching the internet for to deal with, such as sound volume. The sound was really quiet even putting it to max volume on the desktop. Thing is the graphical control to change it was separate from the master volume, which was set to almost 0%. To change this I needed to run the 'alsamixer' command line program.
* Fonts look different, for some reason the way they were rendered made them look skinnier. Played with the rendering settings and then just accepted it.
* I was hyper sensitive to programs and games running differently and thought that some had problems on Linux (such as micro stutter in a game). But then I compared and they had exactly the same problem on both Windows and Linux. Ended up installing the much newer XanMod kernel distribution before I realised it was my perception and not my Linux install that was the problem.
So the setup worked to a point, having a desktop with internet connectivity was no problem and required no actual setup that I remember. Other things like sound required required me to use the terminal to set it up correctly. There was some other stuff I had to change which I had to search the internet for quite some time for, I wouldn't have been able to do it without looking stuff up on answer sites. Not the smoothest setup for getting stuff working correctly, but not too bad, and it is stuff I don't have to worry about after initial setup. Some of the issues with sound may have been because I was using a USB sound card which I think is not that common. Anyway that is my recent experience, Linux didn't run perfectly out of the box for me, but it was manageable. That was just the setup, running it is very nice, very snappy, and it doesn't have stuff that grinds my hard drive for no good reason.
> And you can on click heads or you can think with portals or race around a city without ever needing to use terminal or to debug audio issues.
No, you're limited to either game that runs natively on Linux (so almost nothing) or Proton (which works fine but with worse performance than native Windows). Oh and don't expect to play anything that's not on Steam without digging a bit into the command line. Should I add that to have the version of Proton that has usually the best compatibility on protondb, you have to install it manually? I play on linux and it's fine because I play WoW classic with a few friends and sometimes RimWorld, but for example if I wanted to play Vermintide with them I would have to install Windows (thanks anti cheat!).
There was no GPU acceleration for my nvidia card out of the box. Installing the drivers caused X11/wayland/whateverthefuck to glitch out and I had to do terminal magic to get it to boot.
Using some other variant or version of nvidia drivers caused Chrome to screw up compositing which would result in pure black sections out of the viewport during scrolling.
My front panel microphone inputs weren't working, and multichannel audio playback was garbled.
I couldn't turn on GSYNC on my monitor, and it flickered at 144hz.
Most of my mouse buttons weren't working.
My printer/scanner wasn't working.
I couldn't play any of my games.
Do I have to continue? I'm not interested in Linux apologetics: "That's because you're using nvidia / chrome / realtek." "That's because you're using XY distro, you should be using Arch/whatever". "That's because that game developer sucks, Source engine games work fine". "That's because Logitech..."
Developers, HPC, and hyperscalers have vast amounts of money to fund these investments, and are overall a relatively few number of companies. They did not come for free; Linux only supports those systems as well as it does due to decades of investment from the top players in those fields, and that investment created inertia and cost savings to appear. Sorry, but it's a fundamental misunderstanding of how resources are allocated to think anyone (who wasn't named Sun) was "forced" into accepting Linux as some superior option, rather than seeing the writing on the wall that Linux was going to dominate purely by virtue of its cheapness and the ability to hire for it (case in point, many people adopted Linux despite its objectively inferior storage solutions for many years until recently). Linux isn't a person, it can't choose anything. But people will choose Linux if a widget that was $1.50 is now $.50, and they can pocket the $1. Completely different scenarios.
The idea "Gamers" can do almost anything other than start shitfits online is some weird "individual responsibility" pipedream. "Gamers" can't even stop major studios from getting shuttered after giving them tons of money (successful sales for games) and at high praise. The problem is structural, not one individual consumer choices are going to fix.
Linux won the academia and hobbyists by being cheap. But more advanced unices like solaris (which had dtrace and zfs), irix and aix it won by being faster.
AFAIK, AMD has been faster than intel to tune the power governor on linux. Considering the benchmark shows no comparison on how much electricity the system is eating and is using default settings, it is possible that windows lead in this case can explained by the power governor still needing some updates. We'll have to wait newer kernels to be sure.
>"If taking the geometric mean of all 79 benchmark results, Ubuntu 21.04 on this AMD Ryzen Threadripper 3990X workstation was 25% faster than Windows 10 for this set of workstation-minded benchmarks"
33 comments
[ 4.8 ms ] story [ 85.1 ms ] threadAlso, considering how much Linux dominates on servers, it is very likely that IO latency or throughput, depending on the case, is top.
I don't expect windows to be better except for some memory heavy applications given it is mostly used on the desktop and has probably memory management features that are adequate for this use case.
It is a shame that for AAA games we still live with a virtual monopoly controlled by the option which is not the highest performant. Specially considering how gamers like to brag about their machines and setup to extract the last drop of performance. It would be interesting if gamers forced the industry to bow to the most advanced solution. Developers, HPC, servers and embedded people were successful doing exactly that.
In HPC I think the more common case is a big allocation at program start and then lots of processing to de-allocate only after the number-crunching part is finished.
On servers it boils down to how quickly you can respond to network events and fire new processes.
When I want to play games, I want to click on heads till they're not heads anymore, or think with portals, or race around a city with friends.
Not trying to debug why pulse audio is having issues and refusing to send audio to the front jack, again.
Maybe this has changed of late, and I'm just burned by these previous "adventures", but video/audio always felt like a bit of an afterthought in Linux to me.
This is also true for Realtek NICs though, almost everything those guys do is shitty as heck.
On the one hand, freedom and infinite flexibility.
On the other hand... There’s is no high level structure or plan as a whole.
Linux is only the kernel, and distributions set up the userspace in varying ways.
So development is inherently fractured into numerous similar projects.
These projects leap frog and replace each other over time. But there is a lot of effort spent in reinventing the wheel.
Sometimes I wish that, for example, we could all settle on one window manager. Everyone could put efforts in the same direction, and make it awesome.
Of course in reality that would never work, but in some ways it would be nice to see the same amount of refinement and consistency in the userspace as in the kernel.
*Terms and conditions apply, not guaranteed to work in all cases. Doesn't support hardware decoding or positional audio among other features. If you are having issues please refer to section 4.2 – "It's free and open source" where it's stated that the User waives all rights to criticise the Work unless they contribute to the Linux kernel themselves.
For instance, my workplace gave me an HP Zbook which has a builtin Realtek sound card whose Windows drivers do not support separate volumes for speakers and headphones. If you unplug your headphone jack by mistake, the embedded speakers will promptly start blasting the entire room with whatever you were listening to at the same audio level you set for the headphones. The output source is even called "Speakers/Headphones".
If you uninstall the official Realtek drivers, Windows uses the generic HDA driver from Microsoft which supports different, separate sound outputs for the headphones and speakers, but it doesn't have all the weird hacks required to make the HDA codec actually work fine, so setting the volume at more than 10% creates clicks and audio artifacts. On Linux the drivers have been patched to avoid these issues, so both jack sensing and separate audio levels work fine.
Someone mentioned Pulseaudio having issues with front jack detection - this is an issue I had myself, and I discovered that the underlying cause in the case of my desktop machine was due to the sound card triggering random jack plugged/unplugged events.
This sent Pulseaudio's jacksense logic haywire, because it repeatedly saw sinks appearing and disappearing. I tried to remove the Realtek drivers on Windows on the same machine and - voilà! A very similar issue occurs with the Microsoft generic driver, which leads me to think that the OEM driver does some black magic stuff underneath to get jack sensing work fine on their sound card.
To get an idea of how buggy and terribile are the builtin soundcards shipped in consumer hardware, just look at FreeBSD's HDA audio driver, which is forced to apply hacks depending on the __specific model of laptop__ just to avoid audio glitches:
https://github.com/freebsd/freebsd-src/blob/40923b0c81cc2c15...
Native Linux games do run fast and sometimes faster but more and more publishers are abandoning native Linux and are taking the Proton route. That way they can get games to run on Linux and ignore all the support questions. "Sorry we dont't support Proton but we hear it runs well!".
Many games do run with lower FPS but it isn't really set in stone. I have used WINE with good FPS gains before. Of course that was back when I had the time and not the money to throw at it.
Yesterday X11, today Wayland, tomorrow what?
Yesterday ALSA, today Pulseaudio, tomorrow what?
Yesterday GTK2, today QT, tomorrow what?
I understand what you mean. Nevertheless, some gamers have the fame of being technically proficient power users who are willing to pay more and spend a lot of time just to get games to squeeze even the last drop of possible performance from their systems.
Today these gamers could be using a higher performant kernel if publishers were willing to fight the monopoly.
GTAIV demanded from me to google for some time how to make it work without Microsoft service which wasn't available any longer.
CSGO just been stuck on loading map frame and couldn't find any solution until started to mess with client startup settings.
TBH Windows never was like you say "just click and play", especially when we talking about supporting older software or messing with different drivers due to lags, stutering or other issues.
Ba! even consoles don't provide anymore what you wrote above.
Forgive the roughness of this reply... but...
In the last 15 years every linux that I've installed on every desktop and laptop that I've tried worked perfectly out of the box. No sound issues, no network issues, no wifi issues, video card drives just work. And if you use more "user friendly" distros like linux mint you do not even need to use the command line, amd drivers are right there in the kernel, and you can install nvidia drivers right from the gui. And you can on click heads or you can think with portals or race around a city without ever needing to use terminal or to debug audio issues.
"Working perfectly out of the box" is a bit of a stretch.
On the other had, as far as I can tell (I use Windows 10 at work), Linux desktops are considerably faster for many tasks. And there is little left to desire going to the distributions repository...
Experience installing and setting up Linux.
* Installing Linux was trivial, scary to shrink an NTFS partition in the installer, but after a long time it finished and worked really well. Tried Windows built in NTFS resize before this but even with almost all data removed from HDD it wouldn't lower the more than something like 300MB off of a 2.7GB partition.
* The basics worked without configuration. Graphics were fine even before installing drivers, internet was autosetup out of the box.
* There was still some basic stuff that needed searching the internet for to deal with, such as sound volume. The sound was really quiet even putting it to max volume on the desktop. Thing is the graphical control to change it was separate from the master volume, which was set to almost 0%. To change this I needed to run the 'alsamixer' command line program.
* Fonts look different, for some reason the way they were rendered made them look skinnier. Played with the rendering settings and then just accepted it.
* I was hyper sensitive to programs and games running differently and thought that some had problems on Linux (such as micro stutter in a game). But then I compared and they had exactly the same problem on both Windows and Linux. Ended up installing the much newer XanMod kernel distribution before I realised it was my perception and not my Linux install that was the problem.
So the setup worked to a point, having a desktop with internet connectivity was no problem and required no actual setup that I remember. Other things like sound required required me to use the terminal to set it up correctly. There was some other stuff I had to change which I had to search the internet for quite some time for, I wouldn't have been able to do it without looking stuff up on answer sites. Not the smoothest setup for getting stuff working correctly, but not too bad, and it is stuff I don't have to worry about after initial setup. Some of the issues with sound may have been because I was using a USB sound card which I think is not that common. Anyway that is my recent experience, Linux didn't run perfectly out of the box for me, but it was manageable. That was just the setup, running it is very nice, very snappy, and it doesn't have stuff that grinds my hard drive for no good reason.
No, you're limited to either game that runs natively on Linux (so almost nothing) or Proton (which works fine but with worse performance than native Windows). Oh and don't expect to play anything that's not on Steam without digging a bit into the command line. Should I add that to have the version of Proton that has usually the best compatibility on protondb, you have to install it manually? I play on linux and it's fine because I play WoW classic with a few friends and sometimes RimWorld, but for example if I wanted to play Vermintide with them I would have to install Windows (thanks anti cheat!).
There was no GPU acceleration for my nvidia card out of the box. Installing the drivers caused X11/wayland/whateverthefuck to glitch out and I had to do terminal magic to get it to boot.
Using some other variant or version of nvidia drivers caused Chrome to screw up compositing which would result in pure black sections out of the viewport during scrolling.
My front panel microphone inputs weren't working, and multichannel audio playback was garbled.
I couldn't turn on GSYNC on my monitor, and it flickered at 144hz.
Most of my mouse buttons weren't working.
My printer/scanner wasn't working.
I couldn't play any of my games.
Do I have to continue? I'm not interested in Linux apologetics: "That's because you're using nvidia / chrome / realtek." "That's because you're using XY distro, you should be using Arch/whatever". "That's because that game developer sucks, Source engine games work fine". "That's because Logitech..."
I don't care.
The idea "Gamers" can do almost anything other than start shitfits online is some weird "individual responsibility" pipedream. "Gamers" can't even stop major studios from getting shuttered after giving them tons of money (successful sales for games) and at high praise. The problem is structural, not one individual consumer choices are going to fix.
Most notable is the performance improvement of the recent Windows update. I wonder what happened.
AFAIK, AMD has been faster than intel to tune the power governor on linux. Considering the benchmark shows no comparison on how much electricity the system is eating and is using default settings, it is possible that windows lead in this case can explained by the power governor still needing some updates. We'll have to wait newer kernels to be sure.
>"If taking the geometric mean of all 79 benchmark results, Ubuntu 21.04 on this AMD Ryzen Threadripper 3990X workstation was 25% faster than Windows 10 for this set of workstation-minded benchmarks"