Linux gaming is faster because Windows APIs are becoming Linux kernel features
xda-developers.com554 points by haunter 3 days ago
554 points by haunter 3 days ago
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 you wanted to get into development mode in CTOS, the keyword was 'developement' - an e between the p and the m. Worked on this system back in early 1990 as a developer.
Looks like this one? https://en.wikipedia.org/wiki/Convergent_Technologies_Operat...
Thanks for sharing, never heard about it before. What was kernel programming back then? Briefly checked the wikipedia and looks like CTOS was kinda big in the government space back in the 80s.
It was popular with govt because it came with an HDLC network build-in, server/client depended on the OS you booted. This saved you a network administrator.
The kernel was in Intel ASM86 but the rest of the OS was written in PLM86. When I joined it was 2MB of code on a 128K 8086 cpu. By the time I left it was 9MB of code running on an 80386.
if I implemented a couple of traps
What does this mean? System calls?
Similar but traps are triggered automatically on attempts to execute a protected instruction.
https://www.geeksforgeeks.org/operating-systems/traps-and-sy...
Why/when are traps used rather than explicit system calls? Is it just historical coevolution? Or is the idea that the user mode program doesn’t need to know that it’s unprivileged? Or is it just repurposing the error handler path to perform privileged operations?
As others have said, a trap is one way to implement system calls. It's literally the TRAP mnemonic on a 68000.
https://www.nxp.com/docs/en/reference-manual/M68000PRM.pdf see page 292, also see page 629 for the table of "exception vectors" (addresses for code to handle each specific trap/exception/interrupt)
Most processors support both "interrupts" (an external peripheral is banging on the CPU's interrupt pins... but also invocable from software; software interrupts; SWIs; INT instruction on x86) and "exceptions" (e.g. divide by zero, bus error, illegal instruction). Depending on the processor, accessing the "privileged" mode can be done either by software interrupts, exceptions, or both. An operating system should pick one and stick with it.
Other uses for interrupt/exception/trap vectors include hardware breakpoints: don't try and single-step the CPU, overwrite the code with an illegal instruction and control will flow to the illegal instruction handler where you can see all the registers then execute the real instruction that was meant to be there and return to where you left off. Some CPUs have a formal "BKPT" type instruction for that.
One other use on the 68000 is that any unrecognised instruction that started $Fxxx triggered the F-line handler; all the floating point instructions were in the form $Fxxx, so if you didn't have an FPU, you could put a software emulator for the FPU instructions in the F-line handler and software wouldn't know the difference. Traps/exceptions don't have to be a jump from unprivileged to privileged, they can just be utilitarian.
At the time of DOS, x86 didn't have multiple privileges. The system call instruction was typically INT, the software interrupt instruction.
Later on the 386 Intel added virtual 8086 mode which trapped to the kernel privileged instruction exception also for certain instructions that had to be virtualized, among them INT.
Yes, exactly.
We used a set of INT instructions in well-known low memory addresses that all jumped to the same place. We had an ASM file that you linked with, that had sixteen different address combinations for each.
The common entry point would look back on the stack and calculate from the return address which entry point had been called, and run the appropriate kernel call. We called it the CS:IP hack.
In the context of this post, the DOS INT10 and INTx(I forget) required the caller to load registers with the desired system call number, then perform the trap instruction in their code. Fortunately CTOS didn't need those particular software interrupts, so I could implement them for my purposes.
Depends on the processor architecture and its nomenclature.
Traps typically also result from exceptional conditions (like divide by zero or page fault).
An architecture may or may not provide non-trap paths for less-privileged code to invoke more-privileged subsystems (call gates, "syscall" instructions, etc.).
Traps typically need some way to preserve all userspace-accessible registers (otherwise resuming from a page fault is .. hard). Dedicated syscall instructions may only need to restore a subset of registers.
In some implementations, processors may discover that an instruction must trap after it starts irreversibly changing architecturally-visibile state; in cases like that, the processor needs to leave enough breadcrumbs for the OS to allow either a clean unwind or a resumption of the interrupted instruction. My understanding is that the original 68000 somewhat famously got this wrong.
Traps were/are the mechanism for doing syscalls.
I don't know OG x86 (cuz, ewww) but on 68k this was generally the way. On my Atari ST a syscall was performed by filling your registers and stack as expected, then executing one of the TRAP opcodes and that would get the CPU To save PC etc & jump to the handler but in supervisor mode, where your syscall could then read state perform accordingly, and then return back to you.
I think x86_64 has just formalized this into a specific SYSCALL instruction?
ARM variants call it SVC (supervisor call).
Same difference.
Some older operating systems just implemented their syscalls as ordinary subroutine jumps, though, and everything ran in supervisor etc. I believe AmigaOS was like this, you just went through a jump table. Which, I think, shaves some cycles but also means compromises in terms of building for memory protection, etc.
if you know a particular process or system callmakes errors,then you run code that checks for that error,or exception,or preempively hooks a problematic system call,to redirect to "your"code that handles the state of exception,and returns.
That's a great twist! Very few people traded Bill Gates a linker for a compiler!
Feels like there is some real momentum on linux gaming now. I mostly play older games but I've gotten most of them working acceptably in proton on my old system 76 laptop (oryp5, with a nvidia 2060; ~7 years old). The laptop actually has plenty of power for the games I play, but I underclock to keep the heat/fan speeds down (been doing the same on the win10 install on the same system), still getting acceptable framerate in proton for most of the things I do in game, non intense stuff.
Decades ago I ported some games to linux but I do think proton is the correct approach now. One underappreciated advantage is you get most of the mod environment too. In ESO for instance, there is an addon (tamriel trade center) which lets you download item prices, but it requires a windows client exe to do that. That client works on proton.
I also do some modding myself and can cross compile my rust code to windows with cargo xwin, and run it right away in proton, which is fairly amusing to behold.
I actually don't mind windows generally (been a MS user since DOS 5), but Win11 is a game changer, pun intended, and not in a good way.
Yeah, I've been playing BG3 on Linux[0] for about 2 years at this point (using a Lutris "recipe" or whatever they call it). Ironically, the biggest issues have been with some of the modding tools needing specific versions of DotNet and whatnot. The game itself runs flawlessly.
[0] Arch Linux, btw, because that must be mentioned.
I'm looking to finally get off Windows for good. My experience with the SteamDeck started me, later I upgraded to a ROG Ally X for beefier performance but found Windows insufferable on a handheld, and installed SteamOS. I was blown away by the performance gains. A few months later I installed Kubuntu for the first time since 2013 or so, Steam shortly after, and while the desktop linux route is definitely more taxing (manually installing things like Mod Organizer 2 instead of Vortex, for instance, and all of that needing to run differently as opposed to Windows where it's all just .exe's) I've been absolutely blown away by the performance gains again. Mind you this machine is no slacker, it's a GE76 Raider from MSI, 3060 under the hood, but games just run smoother in Linux. And the alt-tab experience is untouchable, Fallout: New Vegas hates it and crashes, but everything more modern utterly doesn't care. I can alt-tab in and out, check messages, desktop composing works great no matter what game I'm playing, no more issues in modded games where the game completely locks the machine as Linux just doesn't seem to allow it, it's fantastic.
I have a couple more things to figure, I need XBox authentication to work for Halo Infinite and Sea of Theives, among others, and I need to figure out some solutions for some ancient software I have to run, which will probably end up being a Windows 11 VM. But as for my daily driver OS, I am so excited to get off Windows once and for all.
Re: modding with MO2/vortex I had a similar problem in that installing them on linux isn't super straightforward, and then once I did get them installed when I launched the game through them like I used to do on windows the performance was abysmal. I decided to tackle the problem myself and so I wrote this: https://github.com/mfinelli/modctl. It's a mod manager that I wrote specifically for linux. It's not really ready for primetime yet, but if you're willing to experiment depending on your needs it might work for you. The repo might look like work has slowed down, which I guess is true but that's mostly because I implemented all of the main stuff that I wanted to and now I've just been using it instead of building it for the past few weeks though there are still a few rough edges and a couple of bugs that I need to sort out (but nothing game breaking that I've found yet).
Have you considered using OverlayFS[1] instead of installing all files into the game directory and tracking them with a database? Or maybe what GNU Stow is doing where it installs each package into its own directory and then uses symlinks which it tracks to "install" the files into the global file hierarchy?
Ooh overlayfs is quite interesting. I'll have to take a closer look at that. I imagine it's similar to what MO2 was doing on windows with the virtual filesytem to keep the game directory clean.
The stow approach is something that I considered but ultimately rejected for a couple of reasons around handling conflicts of game-installed files as well as how to ultimately handle the symlink lifecycle (eg wrapper to make the "non-running" state always clean or to let it always persist and then need to run manual cleanup/update steps). But if you're interested in that approach when I was applying for Nexus Mods approval I discovered https://github.com/Marc1326/Anvil-Organizer in the overall list of mod tools which I believe uses that strategy (though I haven't really looked too closely)
But basically my original idea to just install the files directly into the game directory stems from the fact that when I switched to linux for gaming and not having success with MO2 that's literally what I was doing. I would download the mod from nexus and unzip/tar it into the game directory manually. When I wanted to uninstall or update I'd find the original archive list the files in it and then delete them from my game directory. After doing this too much I realized that I was basically missing the functionality of a standard linux package manager (eg apt, pacman, etc)
Interesting! I was modding Fallout New Vegas and 4 if that adds context, what did you have issues with? All the same happy to bookmark it, might play with it at some point, thanks!
I've really only tested it with Cyberpunk 2077 (and a bit of WH40K rogue trader). The issues (so far) are with tangential features. For example it's possible to define rules when you extract files (eg the mod author sticks them in a subdirectory or something you can have the tool automatically strip that leading directory) the "preview" feature to see how to rules affect the files before extraction isn't working as expected. But the main loop of create a profile for the game, add/remove mods to it, and have it spit them out into your game directory works without issue.
I should add that it's a CLI tool only (I may add a TUI later but it probably won't ever have a GUI if that matters). Anyway if you check it out and have any feedback whether positive or negative that would be cool
It's funny you say that, I've been considering another run through of 2077 and some mods would give it a fresh coat of paint... :think:
Modding will continue to be a challenge, but doable, thing, until more mod devs get onboarded to Linux themselves. If the mod devs enjoy using Linux, they'll probably start building mods with UIs native to Linux.
I would say custom modding and online multiplayer anti-cheat systems are the last real hold outs, and even then it doesn't affect every game.
Regarding mod managers, there is Limo[1] for Linux. I used it for Viva New Vegas[2], but some mods do not seem to work. I don't know if it's due to Limo or if I did something wrong though.
RE: Sea of Thieves on linux w/ xb/microsoft auth. I was able to work around it by just removing 2fa from my microsoft acc. Obviously not a great solution. but yeah. You may be able to reenable it afterwards, I never tried, its the only thing my microsoft account is useful for at this point anyways.
Orly? I hadn't gotten that far yet but interesting data point. I'd only tried Infinite and the game just wouldn't even really launch, I didn't even get to the main menu, didn't open XBox authentication at all and I just assumed I had to have something installed. When I did some googling I'd heard of something called... my memory fails me, Heroic I think? I hadn't actually gotten around to trying yet though so I've no clue if that's any good.
I can't speak to Halo Infinite, but for SoT that's what worked for me. Another commenter is saying they were able to auth with a passkey (for infinite), which I never tried (for SoT), but id imagine it would work.
Heroic is a launcher aggregate/wrapper I think? for 'Epic, GOG and Amazon Prime Games' It's either Steam, native/standalone or arr for me. for non-steam stuff I use umu.
* I should add that I am launching a steam purchased copy of SoT, not the one from Xbox store/gamepass or what have you, so the process is likely different, but maybe not cus you are likely going to see the same auth popup served via wine/proton.
I ended up being able to authenticate using a passkey, IIRC. Can't remember if that was my yubikey or bitwarden. I was surprised that it worked at all.
It didn't use to be complicated, but an update messed stuff up a few months ago (halo infinite).
There were specific games keeping me on windows, mostly online PVP. At some point I switched anyway and I don't regret it at all. Now when my friends suggest a game and I'm not able to play it, I just do something else or we choose a different game. There are so many great games out there now, and more release every week. Plus, as I've gotten older, it has become more apparent the fun is in socializing, not the game itself.
My point is, you may find the one or two games holding you back won't be missed much.
What do you plan to do about firmware updates?
Believe it or not, it's actually easier to handle on linux than it is on windows now [1]. Normal caveats apply, it depends on your HW manufacturer. However, a lot of them are participating which makes it pretty slick.
And, assuming your are doing x86, you probably already have an EFI partition so even doing motherboard bios updates isn't much of a big deal. You just drop the update in the FAT32 EFI partition, reboot, and point the motherboard at that location. Some motherboards even support just doing that as part of an online update.
For a hot moment Windows would just update firmware for big vendors as an update. Worked slick. I think vendors are bailing out on this though.
That said some Linux distros can do the same now though I've used so many the last few months I don't know which.
Given the current momentum, it feels like (to me) the adage of “Windows is for Games” is going by the wayside.
If you look at Steam, and OSs like Bazzite it’s clear the consumer-side is finally shoring up. But that aside, from an economic incentive, game providers (for example Amazon Luna), don’t want to be paying the licenses for running Windows machines for Video Game Streaming on Demand. In fact, at my time there one of the major thing I worked on was figuring out how to stream the games using Linux + Proton + Vulkan so we could use the AMD machines.
Honestly the biggest hurdle was (and probably still is) Anti-Cheat and BattlEye.
At any rate, I’m personally happy to see this trend as I haven’t had a Windows OS since Windows 7.
Nah.
Linux is still too bloody awful for power users, never mind the median gamer.
Most Linux usage is SteamOS which only barely counts.
It’s a great hedge that keeps Windows almost honest. But we’re a long long long long long <breathe> long long long ways from the median gaming PC being Linux.
Online multiplayer games keep trying to allow linux users in and keep having to lock them out because there's an instant influx of cheaters.
The Nintendo Switch (which runs Linux) was a favorite of cheaters after jailbreaks came out.
When anyone can compile and run their own kernel with god knows what for modifications, that makes it substantially easier for cheaters and substantially harder for anti-cheat. I don't see that ever changing.
You can't rely on server-side detection either, because some of the cheats are so advanced they go to great lengths to "behave" like a highly skilled human player would with their aiming
The status quo's days are numbered. Online chess shows how.
An AI will play these games like a human but better. The AI can be totally separate from the windows box wearing anti-cheat ankle bracelets just as your brain a separate thing to the windows box when when you play. It can interact with the box via keyboard, mouse or controller.
No windows kernel module is useful in detecting and deterring chess cheating no matter how fanciful or factual the vibrating "device" stories are.
Anti-cheat by kernel module, it's day will be entirely done very soon if it isn't already.
"Any time you beat a computer at a game it let you win." Are we there yet? If not, how long?
It never was fair to play vs computers in reaction games or skill games.
IE: Quakebots and Fighting games have perfect reaction times and perfect combos. They can simply block perfectly and counter attack perfectly and never drop a combo.
You act like cheating is new to video games??
--------
We never wanted bot in these games. Still don't want them today, and it's a big reason that playing on public boxes (ex: at an arcade or eSports tournament) is still a thing.
Defeating an opponent in a tournament is a big thing for fighting games. The risk of cheating online is always there so online tournaments are simply never taken as seriously (ie: as much $$$$ risked as real life tournaments).
> You act like cheating is new to video games??
No, I think the point is that with AI the existing anti-cheat measures can simply be avoided by letting the AI play through the same interface as a human. Therefore anti-cheat kernel modules will no longer be useful, and will no longer be a reason to stay on Windows.
> "Any time you beat a computer at a game it let you win." Are we there yet? If not, how long?
I don't want to beat a computer, I want to beat another person.
>The Nintendo Switch (which runs Linux) was a favorite of cheaters after jailbreaks came out.
If you're saying the Nintendo Switch system software is Linux-based, I don't think that's correct. It's a proprietary system based on a microkernel architecture.
> You can't rely on server-side detection either, because some of the cheats are so advanced they go to great lengths to "behave" like a highly skilled human player would with their aiming
Shouldn't that be the goal of anti cheat? That cheating is indistinguishable from expert gameplay? Seems to me like these companies are just trying to avoid implementing proper infallible server-authoritative gameplay by offloading the cheat detection to the untrustworthy client, and then trying to lock down the client to make it trustworthy.
All these games already have an authoritative server. These cheaters aren't breaking the rules of the game by being invincible, super speedy, etc. they're aim-botting and wall hacking. Those cheats can't be prevented with authoritative networking.
The Nintendo Switch runs a custom operating system codenamed HorizonOS.
I was going to say. There's no way Nintendo would be caught dead with GPL anything, even GPLv2.
And yet there's plenty of competitive multiplayer shooters that work fine on Linux. Rivals, The Finals, deadlock, CS2, Overwatch, Hunt Showdown, etc.
EA did a big announcement about switching to kernel level Anti-Cheat for Battlefield 6 to combat cheating, yet there's still plenty of cheaters around. It's looking more and more like an excuse in order to give the appearance of combating cheating.
Finding a way to get the multiplayer studios to get Linux support for their competitive games like Valve does could crack a wedge in the market for mainstream users to get in, particularly in those who don't want to pay the Windows tax (not everyone is willing to experiment or go unlicensed).
I can't prove it, but the Steam Deck has probably torn down a lot of barriers for mainstream use among the crowd that care about the game more than the OS. Getting some of the other games (League, Vanguard, Warzone, BF6, etc.) or whatever is popular in those segments onboard might be the critical mass that justifies fixing all the rough edges that get fixed when a big pile of users are represented.
Anecdotally, it took less time for me to install Devuan (not even one of the “easier” distros) and steam and start downloading games on a new machine than it took me to figure out how to decrapify vanilla win 11 after first boot.
If you want statistics, Linux’s gaming market share is 2x that of MacOS.
The barriers to gaming on Linux have never been lower. They’re certainly much lower than the barriers to running windows games on windows were back in the Win 95 - XP SP2 days (when I jumped ship).
Yeah, anti-cheat support is probably the biggest barrier right now. The Steam Deck already showed that many gamers do not really care about the OS as long as their favorite games work smoothly.
I can’t see it happening until valve adds some kind of trusted compute environment. I’m imagining online games could have a flag which enforces secure boot, boot chain attestation, and disables multi tasking features. So while you are playing the game it becomes a single task device, but after you quit it’s fully unlocked again to do whatever you want.
Quite the contrary. I care about the OS and that’s why I switched to Linux gaming. The experience wrapping the game is just so much better.
Sure, but the point is that Windows gamers generally do not care.
In other words, no one is going to refuse to use Linux out of loyalty to Windows, as long as all the games they want to play work.
Show me the numbers. Show me an identical gaming PC running Windows 11 and then Linux, and show not just FPS - but things like frametime pacing, latency, etc.
This NTSync stuff is very impressive, but I haven't seen a lot of end-to-end numbers versus Windows. The last comparisons I saw showed pretty much every distribution on the order of 5-30% behind Windows, varying on the game. And Nvidia GPU support was still not great.
I WANT to swap. Please give me cause to do so. I'm sitting here with my finger on the button waiting for it to finally get good enough to make sense.
Your initial baseline was arbitrary. If the game had been 10% slower on Windows, would you have never enjoyed it? If not, how could switching with a 10% penalty be a deal-breaking downside?
Just do it. Swap and let go of objectivity. Let your subjective experience guide you.
For me, the subjective joy of not having to fuck around with Microsoft's bullshit was worth multiples of having to mess around with technical crap to get a game working (spoiler: I nearly never have to do that because I play single player games, Dota and CS). I couldn't give less of a damn if my FPS in some random title is 10% slower than it would be in Windows. So long as it's playable, I benefit in spades from the trade-off.
> spoiler: I nearly never have to do that because I play single player games, Dota and CS
I think most of the people who really care about game performance aren't people playing games like you do. They are either playing AAA games where the graphics quality is paramount, or competitive games where performance is useful for being competitive.
I mean, there are costs to swapping though. Going by just feels seems to be the wrong way to think about it.
it can’t really be a way to think about it when the recommendation is to not think about it and just do it. experience, observe, reach opinion. all in accordance with you and not some number that’s abstract to your perception.
Yawman, being on Linux for everything else feels great. In a personal way (rather than technical) it’s like being back in my 20’s hacking Redhat and FreeBSD. I also find the community support is great when I’ve run into the odd issue. My FPS are good and I don’t think about it.
I select games based on ProtonDB. There’s always constraints and I’m cool with the limitations that this brings. BF6 is a no-go due to its anticheat tool, no problem. Got lots of other choices.
We're talking about gaming here.
What other goal is there than maximizing your subjective enjoyment of the game?
Sure if you're a professional streamer, your feels are maybe less important than engagement metrics but if you're just a casual?
Dude just play what feels good. It's literally the best and only metric.
If you want to swap, then just do it right now? As far as gaming is concerned Linux just works, and reaches speeds that are more than good enough to do so, even if they're not exactly the same as windows - the steam deck is pretty much proof of this.
If Linux was measurably 5% slower on all benchmarks, would that mean you wouldn't do it even if you wanted to? Is every single nanosecond of performance really that important to you? I switched 10 years ago when things were a lot rougher than this, and in the end everything still worked well enough that I never cared to swap back.
5% would already be well within the margin of difference for separate identical clean installations of windows on the same hardware.
But the issue is that it is many multiples of that, especially on the most common PC gaming hardware (Nvidia GPUs), often more than a 25% difference in framerates. Not so important at 144fps, but very important at a 60fps baseline and for genres like fighting games.
A lot of people don't mind, say, an extra 5 frames of input delay. They don't notice it. But a lot of people do notice even an extra 2 or 3.
I do think that frame pacing issues kinda do have a critical thin threshold where it's either bearable or an unacceptable difference. And the native windows version can often already be riding right on that line. So while it's not fair to the Linux version to demand better, it is unfortunately the case that it might tip over that line.
I'd guess that the difference only matters if you have the latest most expensive gear pushed to the limit. I have a 2019 RX5700 XT and one of the DDR4 ryzen 5 cpus and all of my games run flawlessly on Linux with great performance.
I've long since decided that buying the latest top end hardware is just spending a lot of money to be upset by buggy drivers or not being able to get 5000 fps in a benchmark but has no real gains in how fun games are.
This. I understand that getting your desktop fps to ridiculous heights is a hobby in and of itself, an obsession that I don't share at all, and good luck to them that do. But I'm colourblind and have the reaction speed of a slug. Anything over 25fps is wasted on me.
After building a few PCs over the years something I've noticed is every time I've bought the highest end new part I feel bad about the money spent, and then I feel bad every time there's a delayed frame or feature missing, and then I feel bad when the next model comes out.
Every time I get something mid range or second hand I feel good about what a good deal I got, and how I'm getting 98% of the features for 40% of the price, and how realistically as soon as you stop pixel peeping screenshots, you won't even notice your settings are on High instead of Ultra. You just take in the story, the sound design, and the actual game.
> all of my games run flawlessly on Linux with great performance.
Your definition of great performance is not mine, but it’s fantastic to watch Linux users continue to hand wave away real issues whilst continually claiming the same or better performance across the board, which is provably false.
> but has no real gains in how fun games are.
It absolutely does for me. Modern displays are absolutely dogshit. I won’t play at anything less than 144hz, as much as I can I aim for 200hz and I want that with consistent frame times.
This is exactly the mentality I'm talking about. People have entertained themselves for all of human history without anything nearly as sophisticated as modern displays. At some point this unchecked desire will suck all of the fun out of a hobby and leave you constantly buying the latest thing and dissatisfied at anything that isn't the highests specs possible to acquire.
The game story, gameplay elements, and such have become secondary to the real hobby of consumerism. If people could have fun gaming 20 years ago, there is no reason it isn't possible to have just as much fun gaming on low to mid range hardware today.
> 5% would already be well within the margin of difference for separate identical clean installations of windows on the same hardware.
what is the source of this non-determinism?
I gave it a try. Got a steam deck, tries steam os on my desktop.
I kept running into issues that took me time to solve. I understand that the only reason it took me time to solve these issues is because I'm new to it and that people who have been gaming on Linux for years already know how to solve them all. But what would happen was is I would sit down to play a game spend maybe an hour or two fixing issues and then after that I ran out of time to play the game. I kept this up for a couple months but honestly at some point I just gave up. Now I'm playing games on Windows again.
To be clear, I'm a huge proponent of Linux gaming. I just unfortunately am too busy these days to spend the time to get it to work.
I can recommend CachyOS as a linux distribution for gaming that has worked for me across multiple computers without any fiddling. It's the one that's led to me ditching windows entirely after a few failed attempts over the years.
Although, everyone probably says that about whatever distro they happen to use lol.
I was only able to install the latest CachyOS image by modifying the boot arguments in grub of the live installer, after reading the lengthy log file it pooped out after the first install fail.
I have no idea why people recommend this to people who aren't actually deep into tech and linux already.
Yeah, that's why I added the qualifier at the end. But I legit flashed a USB with the ISO, booted, installed the OS, installed steam, installed a game, ran it, and had 0 issues or customisations required.
Agreed. Recommendations to use Arch-based distros especially. My personal recommendation, which has ended up sticking for a few Linux-curious gamer friends, has always been Bazzite.
I think I’d avoid the Cosmic version of POP!OS for a while for gaming. I mean it works but you do have to get fiddling again unlike the previous not cosmic version.
Most egregious problem is that steam games start in a strange window rather than full screen and you have to press a weird key combo to fix it.
Nvidia based Acer nitro FWIW your mileage may vary
Depends a lot on your hardware. I've got a ~2020 gaming pc and I just installed bazzite on it, moved my desktop to the TV and only use it with an xbox controller. Never opened the terminal or configured anything, all my games just work.
> I would sit down to play a game spend maybe an hour or two fixing issues and then after that I ran out of time to play the game
I know you framed this as a negative, but this is something I yearn for; It's the one of the best games, imo. I often wish I ran into more issues, but for the most part, things _just work_^TM.
And I'll try again when I have more time.
Most folks are in this category. But most, including me, wont try anytime soon unless some very positive news come up. We have lives to live, kids to raise, work to do and so on.
Gaming moved for a lot of us from 'now I have 5 hours or whole weekend to gaming if I want to' to mere blips here and there, which need to be as frictionless as poasible.
Which is great - it means we are doing something actually meaningful and more worthy in our lives. But it also means I will never have enough time for such fiddling. I am fine with it, as much as I can be, but lets be honest to ourselves here.
Which brings up a point I've been wondering over the years.
Where are the hordes of kids like us back then who were content with the afternoons, evenings and wee early morning hours of endless fiddling? What I realize now is those years spent fiddling sharpened our debugging senses in both ineffable and tractable ways.
A larger proportion of the juniors I see coming through the corporate halls these days than I remember from even 10 years ago do not have that knack for fiddling, nor history when it comes up. And it shows in their debugging temperament. LLM's are making this worse.
I've seen the sentiment come up a lot, and I've talked about it with a buddy a lot.
For all the issues people claim to have with iOS or Android, they really "just work" compared to the shit we had to deal with back in the day. And I don't even mean bugs, but UX just wasn't as sleek.
I can find a pdf of the TTRPG I'm playing that's hidden deep in an iCloud drive by simply opening spotlight an typing the approximate name. And the same works on my iPhone. Apps that create documents for me hide their file structure, because it's all abstracted away from me. It works, and I don't have to think about it as much.
You still have kids that start fiddling with tech, but only out of clear interest. Not as a necessity.
I have both a Windows gaming machine and a Steam Deck, so I am already using Linux for gaming... when I can.
Some of my favorite games that I play don't work on it, though, so I need to keep my PC. My issues are not performance, but inability to play at all.
For me personally, the biggest game that keeps me from only using Linux for gaming is EA FC (used to be called FIFA, it is the soccer game). It requires Windows to play online. The same for PUBG, which is another game I play with friends.
As long as I can't play those games, I have to keep my windows gaming PC.
I personally don't mind that much, honestly. It would be nice to play on Linux for everything, but I can dual boot when I am not gaming if I want to.
I think the actual answer you are looking for is this paragraph:
> These old workarounds got subtle edge cases wrong in ways that produced occasional hitches, deadlocks, or weird behavior in specific games, which are bugs that don't show up on benchmark charts but can absolutely ruin individual experiences. NTSYNC fixes those at the source by matching Windows behavior exactly, and that means as soon as your favorite distro moves to the new kernel version, whether it be Bazzite, CachyOS, Fedora, or a flavor of Ubuntu, they all get this much-needed fix.
That's the crux of the article. NTSYNC isn't faster, it's more "correct". Most games are around the same level of performance, with certain outliers both ways. Right now there isn't anything performance wise that Linux has to do that would impact all games. Just tweaks and additions to the different layers [1][2][3] in the same way driver vendors do. Much of the poor performance is for API violations and other shenanigans.
1: https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/uti...
2: https://github.com/doitsujin/dxvk/blob/master/src/util/confi...
3: https://github.com/HansKristian-Work/vkd3d-proton/blob/maste...
> NTSYNC isn't faster, it's more "correct".
It depends on what you're using now, though. If you're just using a vanilla wine/proton install, then NTSYNC should indeed be a lot faster as well. If you're using fsync or... I forget the name of the other one... then you many not see much in the way of perf improvements.
Here are some numbers: I bought a windows box with misconfigured dram timings (bios bug).
I never would’ve been able to root cause it under windows (certainly not with builtin tools), but dmidecode on linux made the problem obvious.
Fixing the timings fixed crashes in amdgpu that windows users widely reported (with no diagnosis), and increased frame rates by 30-50%.
Anyway, if you really want to move, do yourself a favor and just go with straight AMD.
Software support is better than intel and nvidia, HW blows intel out of the water. The only exception is if you need cuda for AI dev work.
If memory serves, Linux typically outperforms Windows with AMD and Intel graphics. Some of the gotchas are things like running games through Proton or anti-cheat/DRM stuff not getting the same attention that Windows does, but the raw performance is there. I wouldn't recommend using Nvidia on Linux though.
I run NVIDIA on my Bazzite box and I get excellent performance. I had to fiddle with a few things though that probably work out of the box on AMD (example: screen tearing in Steam Big Picture mode. Fix: enabling developer mode in Steam and setting "Force Composite" to true).
In amd, you have to turn on TearFree in xorg.conf, but you can then avoid screen tearing with and without compositors.
I have no idea why this is not turned on by default.
I've running the game Black Myth: Wukong on my dual boot PC systems. The OS are openSUSE Tumbleweed and Windows 10, hardware is AMD RX7800XT and intel i7. Turned out Linux is 10% faster than Windows, and more stable fps.
Then swap! Partition and dual-boot into Bazzite. Or get an extra SSD and flash Bazzite there.
It's an easy weekend side project, and any numbers people give you will be ballparks anyway - the performance of Linux drivers for YOUR specific GPU running YOUR specific Steam games are all that actually matter.
Just take the two hours to do it. You won't regret it.
Depending on storage constraints, you could always dualboot. That would give you the exact same hardware to compare, and it's not a full commitment.
Anecdotally, I find that getting Linux on somewhat older or underpowered hardware is always a massive positive. Better performance as well as battery life. I'm not as familiar with modern hardware's relationship to either OS ("OS vs. some flavor of OS based on a similar or same kernel" - I know) with modern hardware. Worth a shot though!
Every supercomputer seems to do quite well with Linux kernels. Probably good enough for Crysis :)
I have not seen the numbers, but even a game running 10% faster does not replace the fact that many games wont even start in Linux (League of Legends for example).
I've been gaming on Linux since 2020 on an Nvidia GPU with no problems, including some AAA titles like Overwatch and Halo.
Unless you're playing CS competitively and really need 720fps for your 360Hz monitor, is 5-30% fewer frames (all else equal) really a deal breaker? Is this hardware thats barly good enough or something else?
I ask because I feel like I can frequently play games at, say, 150fps, and losing 30% would mean almost nothing to me to switch to Linux. I worry more about general capatibility and anticheat.
5-30% is what a sizable amount of people upgrade their hardware for
looks at ancient desktop rig still doing everything I ask of it
Huh.
I wonder if they're the same people who complain that they don't have enough money to live.
100 fps to 95-70fps is definitely noticeable, 30% is way too much.
I'm not saying it's not noticeable, I'm saying it's not a deal breaker. If my only holdout from switching to Linux from Windows is gaming, I'd take a 30% fps hit, assuming my fps is generally in the ~150 range, not the ~60 range.
If Linux dropped my frames from 80 to 50, it would be a deal breaker.
Fortunately I haven't noticed performance impacts so I'm on the hype train.
A lot of the revolution is just getting within 5-30% of Windows!
If you need every last bit of FPS maybe it is lagging, but 5-30% slower is roughly on par at a large sense, it's less than the difference of e.g. one NVidia GPU generation to the next, so it makes it playable.
One problem is that having better FPS stops mattering if the frame pacing and timing is bad, making the game feel like a juddery mess. Or if there is significant input delay differences.
That's why all the data matters for all of these dimensions; game performance is much more than FPS per watt over time.
When people see "linux gaming is great now, look at the fps" it comes across as potentially disengenuous because of all the other factors that matter and should be tested. Or rather, if a reviewer is talking entirely about framerate, then I just can't trust their opinion and expertise when it comes to the state of Linux gaming.
Another problem is that having better frame pacing, or better timing stops mattering if the OS decides to reboot for updates mid game. Game experience is much more than just game performance.
Part of the issue is that a large part of linux gamers are saying "linux gaming is great" and meaning "linux gaming is good enough now that it is better than putting up with microsoft and windows 11"
Some people would rather put up with slightly worse frame pacing if it means no microsoft. Some linux folks are super gung-ho pro privacy, some are just super anti-microsoft but can't game on mac. There's a whole lot of reasons to wind up on linux, so the importance of specific performance details may vary depending on WHY you would be swapping.
And some people are playing games on good enough hardware that there arent noticeable frame pacing issues, so good raw FPS numbers just reinforce their views, and they just genuinely mean they are having a good experience themselves.
To tack onto this a big annoyance for me right now is the lack of knowledge in the community about frame pacing and how to configure the computer.
The user will say 'it lags' but does not mention if they have tearing enabled in wayland, what are their 1% lows, have they set an fps cap, what vsync settings have they chosen in-game. On top of that there is an ecosystem failure as not every game supports arbitrary caps and you have to configure some mangohud thing.
Linux is only a 'just click play' experience if you have no standards because I have never had this stuff be correct out of the box on a fresh install.
Just produce your own numbers. Install whatever flavour of Linux you like (all distrohopping leads to Debian) on a separate partition and benchmark it yourself. It isn't complicated.
In the case of my machine, I haven't observed any difference. And by observe I mean with my eyes, I haven't bothered with actual benchmarks because it seems to work about the same, which is good enough for me. I haven't booted my Windows partition in months, and I'm probably just going to blow it away next time I need storage space.
Its never going to happen. Because console players by far dominate the gaming scene. Microsoft is going to push Xbox first, which will drive all development of the games, which is going to be windows focused. As such, all major release studios are going to target that.
Until we get something like CoD titles being Steam Console first, linux is allways going to lag behind.
That being said, I think we are on a precipice of AI being able to simply just rewrite games from concepts. Start with generic source code for an FPS or 3PS, then people can contribute changes in english language to tailor the game. So it won't be even copying source code, it would be copying concepts and then making a new game with it. There have been a lot of games that have very rudimentary graphics that people played in large numbers because the complexity and gameplay was quite good.
Most major platforms already have enough asset flips cluttering their storefronts[1][2] -- generic games made from preexisting engine templates with some assets bought from the store. Using AI will just make producing the slop easier, it wouldn't make something that's worth playing.
Anyone actually looking to make something genuinely fun will probably go the old fashioned way of spending countless hours honing their craft, which in turn gives them a good eye to make sure what they're making doesn't have the shovelware stink.
[1] https://www.notebookcheck.net/Sony-delists-700-PS4-and-PS5-s...
[2] https://www.gamesindustry.biz/shovelware-is-a-bigger-problem...
I use Bazzite for all my gaming (Returnal at the minute) and it works unbelievably well. I don’t tinker with any of the proton version. I just press play.
I recently completed Stellar Blade with zero issues.
I don’t even shutdown the machine, I just hit the power to sleep it. Instantly resumes where I left off.
Incredible to see just how far it’s come.
im using bazzite with an amd cpu and amd gpu and sleep doesn't work properly? what motherboard/cpu/gpu do you have? did you have to do something special to make it work?
I support linux gaming btw but I can't help but feel every narrative glosses over that certain games are going to require uncomfortably intrusive anti-cheating systems.
I'm just realizing that I can't play Battlefield 6 and I do wonder what the path is. I don't think it's ever going to be supported on Linux or Mac.
Unfortunately, the alternative to uncomfortably intrusive anti-cheat is more cheaters, because cheaters don't care about how intrusive their cheats have to be in order to evade anti-cheat. They will happily run hypervisor-level cheats.
There's certainly room for improvement on the netcode sometimes (Client-side hit registration is an absolute bone-headed design), but those won't prevent aim bots.
Server-side anti-cheat relies on heuristics and can easily be evaded. At the high level, a highly-skilled player may be indistinguishable from a cheater, so you could easily get false positives.
I don't think that's necessarily true, I think companies are lazy and highly invasive anticheat is an easy win they can license from a 3rd party. Algorithmic security, server-side heuristics, and human review can get you far. I have very, very rarely seen a blatant cheater in Overwatch (maybe 3 times in 10 years?), for example, and yet it's been playable via WINE for almost its entire lifetime.
I recently had my faith shattered with I saw someone lock onto an ally through a wall in a kill cam, and I haven't played sense.
Blatant cheaters are bad in some ways, but subtle cheat are far worse imo.
Overwatch is more dependent upon teamwork, ability usage, positioning, etc.
Cheating is endemic in BR and tactical shooter type games. I remember one f2p game was deleting 50,000 cheater accounts every month.
Hypervisor anti-cheat is old hat. The current 'state of the art' is either a DMA card that pretends to be a sound or network card but really is constantly reading and writing directly to RAM in the game's memory space.
The other 'state of the art' which is much cheaper, easier, and essentially impossible to detect on a hardware/equipment level, are the AI-based systems that examine the video and generate inputs via USB, emulating controllers or keyboards and mice. It's a huge problem on console right now and can only be detected via server-side analysis.
What is even more insane is I was playing Battlefield 1 on Linux for years, until in 2023(?) they backported "EA Anticheat" to BF1, half a decade after the game stopped getting support.
This broke what was otherwise a perfectly normal Battlefield experience. Battlefield 4 requires Punkbuster, although it can run on Linux with no issues. You have to downgrade to an older version though, since EA hasn't updated BF4 to the latest PB AC, which causes you to get kicked.
The fact that some games now come with root kits is insane. I really hope Microsoft cracks down on that nonsense.
Given the kernel level anticheats inform you they're going to be installed, I don't think they fit the definition of a root kit.
CloudStrike was installed with user consent, and still ended up being a fatal rootkit. Installing software in Ring 0 is always a bad idea.
Battlefield 4 plays great on Linux, with active servers and functional crossplay/anticheat. It's usually less than $5 on sale and satiates my transient BF urges.
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
The article mentions this: "A few years back, Linux added a way for software to wait on several events at once, which is something Windows had built in for decades, but Linux didn't."
This is not really my area, but from a quick web search, I think they mean io_uring. Here's a blog post about it: https://mazzo.li/posts/uring-multiplex.html
Epoll / select? since everything is a file, you can wait on everything.
The last time I asked the same question here, user dwattttt finally pointed out[1][2] to me that there is 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...
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 does work across 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.)
It very often being used for thread management inside single process etc. Very convenient. Nobody says it has to be default.
How often does a video game really need a lock that can be shared between processes,
That seems hugely useful for interprocess communication and I can immediately think of reasons to use IPC in a game. Having a separate voice process for one.
But that goes back to "how often". Not how many games use it, but how many times per second they use it. You might touch your voice process lock once per frame? That's negligible in terms of CPU time. Any half-reasonable overhead makes no difference in that lock, but might have a big impact in a more common lock.
There's been real progress. Wine's memory allocator had an architecture with three nested locks. "Realloc" held a futex lock on the memory allocator while recopying the buffer. Multiple threads doing allocation could go into futex congestion, with many threads looping on the futex. This made Vec::push in Rust insanely inefficient. Some of my programs dropped from 60FPS to about 0.5 FPS.
Fixed in Wine 11.0. Thanks to the Wine team.
Not sure if this was related to NTSYNC, but Wine's locking infrastructure definitely got an overhaul.
This is a fluffy, non-technical article so I googled NTSYNC. It seems like they implement Win32 events, semaphores, mutex and WaitForMultipleObjects.
It's curious that they didn't do this as file descriptors that can be epolled. For example I think you could do semaphores and events with eventfd(2), which always struck me as inspired by those Win32 objects somehow. But maybe this is a simpler purpose built interface.
isn't this how esync works?
edit: i think so https://github.com/zfigura/wine/blob/esync/README.esync
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!
which would be the right use of the term. WSL was originally called LXSS = linux subsystem. As I understand, lawyers stepped in soon after.
The two terms seem semantically identical (i.e., ambiguous and therefore meaningless) to me.
They already did the same thing 25 years ago with "Windows Services for UNIX": https://en.wikipedia.org/wiki/Windows_Services_for_UNIX
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
That ship sailed when they let Xbox rot over the last 6 years. The platform feels pretty dead since about 2020 or 2019 and they didn't take advantage of making a cheap android based or Windows 10X based streaming stick with a controller to lock people into the cloud and leverage phones. Controller and keyboard support is still a hot mess on Cloud Pass.
I think this, as a business model, really relies on them also selling the licenses to the OS that you're using as well. Otherwise, gamepass would be on MacOS already, no?
Last I read, it really doesn't now. Less than 10% of Microsoft revenue is Windows with growth stagnant. It's all about subscriptions and recurring revenue now driving growth. They might as well bundle a Windows licence with all Game Pass subscriptions.
Their money all comes from Azure, Office, and now AI services. Windows is just a platform to sell their other stuff now. Which has been reflected in the state of windows over the last 10 years.
Well, they are using Windows to sell people that subscription. Windows is Microsoft's bazaar where you can't move 10 meters without being pestered about using $service.
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.
Their strategy WAS GamePass - get a bunch of users accumulating huge collections of inexpensive-but-high-value games, paid for via a subscription (rented), that are only playable on Windows (enforced via Microsoft's own software and an account login). Use loss aversion to prevent the users from letting their subscriptions lapse.
They made a tactical mistake by trying to directly monetize the GamePass subscription instead of having it remain a purposefully-underpriced vendor lock-in mechanism. Whoops.
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.
>The AppleTV is already in a similar tier to modern consoles, as far as specs and benchmarks go
What benchmarks are you talking about? CPU-wise the A15 Bionic just barely beats the Ryzen 3700X in single-core and gets absolutely destroyed in multi-core (Geekbench). As for the GPU, the Radeon RX 7600 (closest thing I can find to a "modern console") does >10x the TFLOPS in FP32.
The only reason why they look like they're "in a similar tier" in ported games is because the A15 Bionic is usually tested on 5-6" screens that can be upscaled from 360p without any measurable loss in visual quality, with a massive downgrade in model and texture quality for the same reason. The only modern console the Apple TV "may be" similar to is the Switch 1
Apple is fundamentally incompatible with "serious" gaming. Games are largely not regular software platforms which receive endless updates and maintenance. Every few years Apple makes a breaking change and expects every app to update or break, which is fine for Photoshop and electron apps, but most games just end up unplayable. This happened when Apple killed 32 bit support and tons of games that used to work on Mac never worked again.
It doesn't seem like a market they have any interest in. The real money is in mobile slop games with micro transactions.
I use Steam Link on my AppleTV which lets me play games on my PC. It works great as long as the game works well with a PS5 controller (and lots of them do).
> The AppleTV is already in a similar tier to modern consoles, as far as specs and benchmarks go
[citation needed]
I dont want a locked down living room, not from apple nor anybody else (but everybody else uses open standards so not really possible).
Simply no, thank you.
That’s… the game console market. Even the NES in the ‘80s tried to lock out unauthorized (by Nintendo) software. When the screen flashes over and over on boot, that’s the lockout chip not seeing what it expects (due to a poor connection, usually, if it’s a cartridge that should work). Though I hear the latest Xbox is notably more open than the norm, and of course a living-room PC from Valve would buck that trend entirely.
Hmm.
Me and all my dad friends are all signing up for XBox accounts so our kids can play Minecraft. So IDK about that.
Are they playing on Xboxes? Because that is Microsoft's living room product, and the part of the business that is struggling right now.
To give you an idea of how bad it is, they slowed console manufacturing to a trickle last year to try and juice their profit margins, and are now stuck in a situation where they can't spin manufacturing back up to cash in on the inevitable rush of demand for hardware when Grand Theft Auto comes out this fall.
Their gaming marketshare is minuscule both on PCs and consoles already. It's a downward spiral for years already.
That's not true. It's actually spiraling the other direction now. Consoles just don't have the value proposition they used to have. You can buy a general purpose PC for the same price as a console that has better performance and also allows you to do your taxes.
No you can't. Even at the raised prices. And if your argument includes used prices don't forget you can buy used consoles too.
Windows still has a huge gaming marketshare on PC, and Microsoft as publisher is still a big player. You mean something else?
wow that's interesting. Where is the gaming share moving, if not pc and consoles? I guess hand-held devices (do those not count as consoles?) and phones?
According to my google searching XBox has almost a quarter of the console gaming market share. Hardly miniscule.
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.
Given how popular Steam Deck and fiends have gotten I wonder if companies would avoid it because it could noticeably hurt sales until it’s added to proton.
Really their best card is new and additional APIs, building incentives to develop against it.
WinRT (not to be confused with Windows RT, the early ARM version of windows), UWP, GDK, xgameruntime. All of these are relatively new and require virtualization and other security features.
Put pressure on devs by gateing xbox and gamepass behind this runtime and now you have a lever to make the situation more difficult for linux.
Kinda has the opposite effect on me however, as the only reason I'm not subscribed to gamepass right now is the games wont work on my steamdeck. But if MS can get enough killer apps as exclusive to that platform then that will certainly add some pressure.
They can’t, they’re selling backwards compatibility - but it matters less and less each year as more stuff moves to the browsers.
MS does not care. At all. This doesn't affect anything that they make a profit on.
It's actually been a couple of years since I ran across a game that didn't work well on Linux. At most, I have had to bump the default Proton version.
On the games that won't work well, last time I looked at it anything VR was a huge PITA (e.g. https://github.com/chaosmaou/wivrn-guide)
That's where Valve's Frame brought huge expectations.
It really depends on the type of game you play. As everyone points out, kernel level anti-cheat is a problem on Linux, but also games that require odd controllers have trouble as well. One game I play, Farming Simulator 22, doesn't work well on Linux because they use the raw windows input from joysticks and wheels. You can still play with mouse and keyboard, but the fun isn't there.
I was pleasantly surprised at just how many of my games worked well on my new Ubuntu install. Even more so at how many games are playable on my Xubuntu Chromebook install.
I have occasional issues mainly with graphics drivers or anti-cheat. Otherwise thought it's remarkably stable. I've also gotten a lot of non-Steam games to work fine.
I switched to Linux for everything but AAA FPS PVP games last year and have had a great experience so far.
Steam+Proton makes everything I play just work: Helldivers 2, Slay the Spire 2, No Rest For The Wicked, FF7 Remake, Stardew, modded Lethal Company (using r2modman) are the main things I've been playing recently, and all worked out of the box with Proton.
My PS5 controller may have needed me to install one package or something but has been working flawlessly after that.
I keep a Windows drive around for stuff like Apex Legends, Battlefield 6, but I pretty much never boot into Windows anymore except for those.
(I probably sound like a shill at this point, having commented something like this on multiple Linux threads now, but I continue to be impressed at how well Linux performs for gaming these days!)
It may finally be the year of the linx desktop. Microsoft actively being hostile to towards Windows users can't last forever.
It might be the year of Linux gaming systems. The desktop went from terrible to bad and is still at least a decade behind unless some organisation invests dozens of millions and gets themselves an actual professional dev team.
The Linux desktop won not with a bang, but because all of the Windows users realized they would be happier with iPads.
If you competitor starts fading faster than you improve, eventually you’ll pass them no matter how far ahead they were.
What excites me is that the kernel gets better not only for windows games but can also get benefits that can be more general purpose, such as what the article writes about: program able to wait for multiple events at once.
It will be interesting to see how native Linux games differ in what fancy under the hood kernel or syscall features they use.
There will never be native games that use unique Linux kernel features because no studio will waste their time spending those development resources on an OS with even 10% market share, which Linux is nowhere near. The exception would be if, say, Playstation switches to Linux from BSD, which they will never do, as GNU licensing in essentially fatally incompatible with copy protection and anti-cheat functions.
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..
DisplayPort has been running the best PC high end monitors for a long while. HDMI OTOH has been in A/V land (DRM management).
Don't most monitors ship with DisplayPort cables? All of mine have. HDMI is more popular with TVs/home theater systems.
I didn't follow this story much: how exactly did they get past the legal hurdles? Or there never actually were any hurdles, just sabre rattling?
Purely rumor, but supposedly Valve put tons of pressure on them (no idea by what means, again this is all rumor) because they wanted support for the Steam Machine release.
any reason why we are using hdmi over display port?
Unless you're on the absolute newest stuff with DisplayPort 2.1, HDMI 2.1 has more bandwidth than DP1.4. That'll be Nvidias 2000 through 4000 series. No DisplayPort 2.1 until the RTX 5000s.
And then monitors released during this time generally do the same too.
Also if you want to use it through a capture card, HDMI ones are way more common and cheaper
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.
I want a TV with DP. Do you have a recommended source for where to pick up commercial TVs?
Which is kind of funny. At least, to my mind this has associated HDMI-only with the budget option (TVs), and DP with the premium tier (monitors).
What really drives me nuts is smart TVs with 100mbps Ethernet connections. When I bought a tv we looked in vain for gigabit Ethernet.
It is futile to expect the TV to be smart and support all sorts of apps and hardware only to be abandoned by the manufacturer years down the line. The only correct way to buy a TV imho is to hunt for a dumb but excellent display properties and get a streaming device such as Google TV Streamer, Apple TV or DIY x86 HTPC.
>DIY x86 HTPC
ARM slander was not warranted
Are there DIY Arm boards that make a good HTPC? Do they have hardware video decoding?
Unfortunately we're the weird ones for wanting to stream >100mbps content.
My 2020 LG CX has a USB 2.0 port and I get ~300mbps with a gigabit adapter, if the TV you ended up with has a USB port it's worth a try.
What >100mbps content is there? 4K bluray just needs a bigger buffer to handle >100mbps spikes (Kodi for example offers this) and Moonlight/Apollo/etc is well into diminishing returns
4k blu-ray remuxes break 100mbps for long enough to cause problems on my TV, unless I use either wifi or the USB adapter. Others have done investigations showing in some movies the bitrate will exceed 100mbps for minutes at a time.
1. https://www.reddit.com/r/PleX/comments/eoa03e/psa_100_mbps_i...
TVs are made with BOM of like 10$ for the SoC, so it's the cheapest crap available.
Then again - none of the streaming services are streaming at anything remotely close to 100Mbps so I doubt they consider it necessary to upgrade to GbE.
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.
My monitor has 1 displayport and 2 hdmi and I have 2 computers I use with it. They can't share the displayport. All comparable monitors (last time I checked) have the same. So it'd be nice if both worked.
For one, DisplayPort doesn’t support HDR output
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.
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.
For 4k at 60Hz, you'd need HDMI 2.0 or DP 1.2. At those speeds, both kinds of cable should be able to reach 25 feet, and I can find reputable brands selling both kinds at the length.
> HDMI goes 25'+, no problem.
Yep. That's likely because that's an active cable. Active DisplayPort cables exist, too. Here is one vendor selling active UHBR10 cables [0]. If you don't NEED UHBR, then you'll find your selection to be much, much larger. I've been using some Monoprice-branded 50 and 100 ft active fiber-optic HBR3 DisplayPort cables for years with no problem.
[0] <https://www.bhphotovideo.com/c/products/displayport-cables/c...>
displayport has supported HDR10 since 2016
and displayport 2.0, since 2019, has supported all the same variations (hdr10+, dolby vision) that HDMI does
Do you mean in practice, or something? DP definitely supports HDR, and it seems to work fine for me.
Nvidia makes a fine GPU. The problem with Nvidia on linux is the drivers. You're beholden to Team Green for driver updates, and when they decide not to support a GPU anymore, that's it. Now, linux does have the nouveau driver, but that doesn't support all the hardware or much 3d at all, and never will.
I particularly got fed up with Nvidia on linux playing War Thunder - I had a regular crash that Gaijin and Nvidia each blamed on each other, and I never did get it fixed.
Nvidia driver updates can also leave you stuck with no desktop environment on occasion and while fixable, it's a pain in the rear. However, when the drivers are right, Nvidia performance is second to none.
AMD has drivers built right into the kernel, and as long as you have whichever nonfree firmware repos your distro supports (I use Devuan, a Debian derivative), AMD cards 'just work'. If using xorg, install xserver-xorg-video-amdgpu for modern cards, and xserver-xorg-video-radeon for older cards. I'm currently playing on a Radeon 9070 (non-XT) on a 1440p monitor with plenty of performance. I know that it also works on wayland, but I have no experience there.
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.
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.
I run Steam on Ubuntu with a "GeForce RTX 2070 SUPER" (according to lspci), and while it generally works it has some weird issues with gaming in Linux. Some games end up with what feels like ~200ms latency for no apparent reason, and frame rates on some things like Just Cause 3, which I ought to be horribly overspec'd for (a 2015 game) run comfortably, but just barely, which really isn't right. And Persona 5 gets about 2 frames per second in Linux. My Steam Deck pushes it at 60 at 720p with no problem, and I think was pushing out 1080 at one point quite playably, and I think I benchmarked my PC at ~6 times more powerful than my Steam Deck.
Whereas the AMD-based Steam Deck always does what it should do.
I think this gets overblown a bit. AMD is better, but Nvidia can work. There's plenty of valid reasons to put in the extra effort and go with Nvidia.
I hope this is right, because "you have to use AMD GPU" is not what people want to hear when building a PC.
From people who have been using Linux since the 90s, the long term view is that nvidia has always been mostly fine since the early 2000s for hw acceleration if you didn't mind a binary blob. Yes, there have always been driver bugs - but that was never unique to a specific platform, i.e. nvidia on macos had opengl driver bugs that went unfixed for eternity until support was dropped, then the bug reports could be closed.
Comparatively the leading alternative was a dumpster fire of a broken mess for the longest time on Linux. All through the 2000s, ATi provided a binary blob driver known as fglrx which some people joked was a half-baked codebase from somemthing that started on HP-UX, passable enough for running sales demos and then was thrown at an intern to port it to Linux. If you went with ATi and tried to do much with foss opengl programs, you could expect daily or weekly kernel panics and performance that was <50% of that of the windows driver for an identical build. The solution was always to buy nvidia if you wanted stability.
Nothing has really changed for Nvidia on Linux, it still continues to perform adequetly. Plenty of people, including myself have used the binary blob for games and other 3D software with wine through the late 2000s, 2010s and proton in the 2020s without much comment because it works fine. The exception being that if you buy a used card, coming up on 10+ years old because your requirements are minimal - don't expect current driver support. Nvidia drop support for old cards on Windows too.
AMD is definitely night and day in terms of meeting the free software ecosystem properly, and so arguably the reason to go with a new AMD card is voting for that kind of support with your wallet.
I know plenty of people that use Nvidia and Linux, and it's something I've done in the past. You just suck it up and install the closed-source black box drivers and get on with your life.
Although, eventually NVIDIA will drop support for your card and you’ll have an annoying situation. This happened for Pascal on Arch Linux a while ago. The 10X0 series are pretty old at this point, but then Linux shines on older systems too.
You can still use the old drivers they work fine. This also isn't unique to Linux, Nvidia's latest Windows drivers also don't support 10 series cards anymore.
Unless the old drivers have security issues, then you're stuck with the nouveau driver which sometimes only has very basic support for some GPUs.
NVidia supports their GPUs for a really long time (unlike AMD, which paradoxically drops official support really fast; e.g. see their ROCm support). Anyway, by the time NVidia drops support for their current newer GPUs there's a high chance that NVK[1] will be ready for general use.
There's so much "old info" that people pass around online when it comes to linux (or anything I guess with an ever evolving feature set).
Any modern distro running NVidia or AMD should be fine. I've done both. I didn't have to do anything for the NVIDIA 3000 or NVIDIA 4000 series cards but select the nvidia driver. AMD otoh is built into kernel now.
Right now AMD is the better choice due to support from Valve. It might change in the future due to Red Hat's effort.
I bought AMD as my last GPU purely because it meant I didn't have to stress out about how I was actually going to acquire one. I just walked into Microcenter, picked one off the shelf, and checked out. It was the crypto craze then, and I get the impression that this hasn't changed much today with AI sucking all the oxygen out of consumer electronics. Didn't care very much about DLSS or any other Nvidia specific features. That AMD works well on Linux only sweetened the deal.
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.
I run a GTX 970 on Fedora 44 KDE Plasma (Wayland) without issues. Make sure to use the 580.xx Nvidia driver.
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 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 is fine. There was a time that it was really difficult and the easiest route to success was to disable the Intel iGPU, and force Nvidia GPU to handle everything in BIOS. That hasn't been the case for a while, and you can even get nice desktop environment integration to let you choose which GPU to run a program with.
> 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.
I think things might have changed in the last 6-7 years? That's when I switched away from Nvidia.
Or does your laptop have no other igpu?
My last Nvidia laptop was a Hybrid optimus laptop. I almost always ran it on the built in Intel igpu because of the really bad issues with the Nvidia cards. Video tearing, bad power management etc... I remember even switching the GPU wasn't easy... And performance wasn't as good either ..
I technically have both in one laptop with an AMD iGPU and an RTX GPU. Most of my problems with archlinux is running a 240Hz HDR monitor on dGPU, where the NVIDIA firmware glitches into buffer out of memory errors not reading the CDID properly, and this was solved only less than a month ago with latest beta driver. Lingering problem is waking from memory with crashed plasmashell but this one is KDE Plasma specific, while the monitor one is Linux wide.
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.
AMD has provided great support for far longer, but newer Nvidia cards which support the nvidia-open driver should also be good.
Still, if you don't absolutely need CUDA, then AMD provides better value anyway.
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.
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.
For gaming and desktop use AMD is great, though for raytracing you'll need newer cards. If you want to run local AI models too then AMD is quite shaky, rocm only supports a few cards with each version and their software stack just isn't as polished as nvidia's.
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.
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
AFAIK none of AMD's offerings match the 5090 for pure gaming performance, so personally that's what I would stick with regardless.
Sure, if you're made of money. For the rest of us, AMD gives you more bang for your buck. Though in this market, it's hard to argue that any of them give you good value.
yes absolutely -- although I did use Nvidia GTX 1070 for a bunch of years without much of an issue, and I still believe Nvidia gets you more "bang for your buck", I would only buy AMD cards now due to the more integral support with Linux gaming.
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
In good faith, you can't really say "[x] is shit" if you don't have an usual setup; X11 is no longer the default on most distros. Even when I was also using it, it never crashed.
I don't know whether your GPU is older than mine or not but I have the RX 7700XTX. Maybe it had a software defect...
Linux Mint uses X11 for some reason. I was getting black screen after sleep because of that. Nuked it and installed Ubuntu, worked fine.
Mint has experimental Wayland support right now. The future for Mint is Wayland.
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 gets parroted between 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.
I get a lot of XDA articles appearing in my Google News feeds and a good chunk of the ones I read definitely have the slop half baked vibe to them. Where they barely provide much substance in the article and sometimes barely even address what the article headline said. They also pump out so many articles about the same topics. I swear I've seen like 100 articles from them just on Obsidian Notes alone and so many of them are barebones and lackluster.
There is the odd decent nugget in there, but it is a shame seeing them fall like this. Unfortunately the same sentiment is true about most news sites now.
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:
At least Anandtech just shut down rather than turning into a zombie tech blog.
This is not just a Tech Journalism problem, but applies to a lot of other Journalism.
Win32 - the #1 stable userland ABI for Linux!
A great talk at a conference given by Elizabeth Figura, the main developer behind putting NTSYNC into Linux:
It’s wild to think that the "Year of the Linux Desktop" didn't happen because of a massive marketing push, but because the kernel just slowly absorbed the competition's DNA.
Seeing XDA brought up some good memories. That's the website that really got me into software engineering. I remember trying thousands of different ROMs every month and changing phone every 6 months. My username is still there and seeing the forum still alive and well is awesome!
One canary I have for Linux vs Windows is whether Bloomberg ever support Linux natively on the terminal. You can actually use the API from inside WSL quite easily already.
Personally I don't know if this is some weird compatibility stuff for Windows apps, or the reason why Windows apps on Linux, whether running via Wine or being ports, rely on these apis because no good alternatives exist.. And if these apis are going to be used/useful for stuff beyond Windows compatibility, for native Linux apps.
Which is a weird thing to think about, and not sure very lovely.
https://store.steampowered.com/hwsurvey/
How do I actually see the graph?
All I see is stats for April:
- Windows 93.47% +1.14%
- Linux 4.52% -0.81%
- OSX 2.01% -0.34%
Valve doesn't keep a historic of the numbers, you will have to do with people that collect them and aggregates them https://www.gamingonlinux.com/steam-tracker/
Linux gaming is fine unless you want to play something with anti-cheat, which is basically any non-Valve competitive multiplayer title.
I found the computer in the article more interesting than the fact, that gaming is getting faster under Linux.
https://www.kickstarter.com/projects/944362954/bapaco-the-wo...
Interesting, but I wish it was half the size folded...
I stopped using Windows all together two years ago, and since then Linux gaming has made huge strides. Almost everything is playable now with the exception of Kernel AC games - which I don’t play anyways. The success of the Steam Deck has been an integral part, and Vulkan performance is similar if not equal to DX.
It can't be neglected that Microsoft is alienating its own power users on such a level that they are now considering switching over and bringing all their know-how with them. Linux gaming is also faster because there's more developers interested in making gaming work outside of the Microsoft dominion.
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.
my son, and his friends all seem to have switched to https://garudalinux.org/ recently for gaming. Seems to be working out well for them.
I'm working and gaming on Garuda for over 3 years and not planing to switch any time soon.
It runs super smooth, with the build in 'wayback machine' and 'curated' Arch distro (7.0 zen kernel just dropped a week ago) pretty much bullet proof for beginners or as a daily distro if you want to get stuff done w/o caring much about it - just loving it. On the other hand side you have cutting edge gaming tech like wine/proton staging versions per default, so I'm playing Blizzard games with NTSYNC (the tech from the article) for several months now :) Forgot about most of the flashy default UI though :D
Pretty cool distro! I switched to Bazzite myself but I've also seen a lot of popularity for CachyOS for gaming rigs.
That's exactly the kind of flashy, gaming-forward distro I was drawn to as a teenager. Good times :)
I sometimes wonder if my modern machines could run Sabayon's DE with high performance.
Time to start betting: Will Windows 12 be based on a Linux kernel? :D
The problem with Windows isn’t the kernel, which is generally reported to be actually quite excellent. The problem is everything else.
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.
ability to make some filesystems case-insensitive was also added for wine
https://www.collabora.com/news-and-blog/blog/2020/08/27/usin...
Is NTSYNC used for anything else other than wine/proton?
The docs explicitly say not to: https://docs.kernel.org/next/userspace-api/ntsync.html
Anyone move completely over to Linux for gaming? What is the experience like and what are you using?
I am, I have an Nvidia 5070 Ti, Aurora for my OS (from the same people as bazzite, but I'm a light gamer so I'm fine using flatpak steam/heroic/etc). the only problems I've faced are
- occasionally an online game breaks and it's usually fixed within a day or two. for example at some point a Battle.net update broke the launcher under Wine some time last year, then for a while Overwatch would intermittently crash once every few sessions. I haven't gamed on Windows in years so I can't even compare anecdotally, but I suspect Windows is probably slightly more stable with live service games. I've never had any issues with a single player game, period. (YMMV)
- DX12 performance is 10-20% worse on Nvidia. This should be improved Soon (TM) - I think the last piece is https://github.com/HansKristian-Work/vkd3d-proton/tree/descr...
- Some anticheats block Linux - the only times I've switched over to windows in the last year have been when some friends wanted me to play Marathon with them
- Running 'sidecars' alongside your games or modding works but is generally more of a hassle with wine
things I didn't expect to work but do:
- Game streaming with Sunlight works fine to Samsung TV via the TizenOS Moonlight app
- Nvidia had suspend issues for a year but those have all been sorted out the last few months
Yeah, I completely ditched windows about 3 years ago now and I haven't looked back. My taste in games definitely helps, I mostly play indies and older games.
I've only run into a few big issues. One is that gamepass doesn't work at all (of course) so I cancelled it when I switched, but between price increases and BDS I would have cancelled anyway. The other is anticheat like everyone says, but the only game I've actually run into this with is Fall Guys (I only play this every few months and it usually works with some fiddling but sometimes it doesn't). Other multiplayer games like Rocket League and all of the Valve ones have been fine.
The only issue I can remember running into on a steam game was a crash in Civ V multiplayer that had an easy to find workaround. Outside of steam I've had a few small issues with older games from gog like Arcanum and KOTOR2, but my understanding is that these are fairly buggy on windows too.
Overall experience is very good with AMD graphics. Most games run on Steam out of the box. There are also emulators for all the systems I've wanted to use. I use Faugus Launcher for other stores like BattleNet and Epic Games (Magic Arena).
For the most part the games just work, it's more system issues that I've run into where Linux suspend mode and the audio stack can be a little flaky and required Claude to diagnose and sort out.
Nvidia has gotten a lot better over the last 2 years as well. There are still driver bugs that are somewhat annoying. It's also annoying that the driver is out of kernel. But otherwise, the open source nvidia by nvivia works just fine.
Nvidia for me on Linux (Fedora 43 - KDE Plasma) for about half of the titles I play works flawlessly, although the other half of the games seemingly have issues.
I encounter a few games with frame pacing issues, otherwise not present on Windows. Shader compile time is longer than on Windows. Occasional crash in some games, etc.
Windows has issues too. It's not perfect, although they are different issues to Linux.
Ryzen 5800x3D RTX 4080 64GB DDR4 @ 4000 M/T's
Do Epic titles even work on Linux? I thought I read somewhere that Tim Sweeney hated Linux and does whatever possible to make sure Epic's games like Fortnite don't run on it.
I gave up trying to fix issues with hibernate and audio on linux. I just leave my machine on overnight
love linux but the audio situation has always been bad.
I've been gaming on Linux (Fedora) exclusively for ~10 years, and in that time able to play any new release that interests me so long as it doesn't have egregious client side anti-cheat.
>NTSYNC isn't the first time Linux has gained a new feature specifically because Windows games needed it. A few years back, Linux added a way for software to wait on several events at once, which is something Windows had built in for decades, but Linux didn't.
Lol.
Post doesn't sound explicitly vibewritten, so probably just a non-technical person.
"how does it feel to be embraced and extended?"
ntsync was out already for a while. And it's not necessarily faster than previously available esync and fsync, but it's more correct and clean.
This is good to hear, but I get 120FPS on Windows in Cyberpunk 2077 and ~70 on Ubuntu. Horizon Zero Dawn is much worse, and quite often drops to seconds-per-frame instead of frames-per-second, if I turn on dynamic scaling. I just have an ssd with windows on it for gaming and boot to that from the bios. Also means my headphones UI works too. But, to be fair, the fact that I _can_ run Cyberpunk and HZD if I want to is pretty impressive.
Linux does not dragged down in performance by the thousands of virus and malware scanners.
If by "thousands of virus" you mean software shipped by default in Windows, then I agree with you. Everything feels so sluggish on Windows 11 compared to any Linux distribution even if you run it on an HDD... it's ridiculous.
Crazy to think that it took over 35 years for the superior technical fundamentals to matter.
It's true what Max Planck said that science advances one funeral at a time. So does the tech industry as a whole.
This page really does not like playing nice with reader mode, making it near impossible to read unfortunately.
The fundamental difference between Linux and OSes like Windows, macOS, Android, iOS, is that the people making Linux are simply trying to make it good, give it as many features as possible, let the user do as much as possible, make it as easy to use as possible.. Whereas the design of the others is guided by a bunch of weird business-goals and internal politics that constantly change.
That's why Linux keeps getting better while the others keep getting worse.
What about macos?
Apple doesn't care about gaming.
Apple has never really cared about games unless it's on the iPhone or iPad. It's worked out well for them though. Mobile gaming is a $100 billion dollar market, PC gaming and console gaming are each about half that.
They don’t care about iPhone/iPad gaming either.
They stumbled into the perfect spot with the iPhone, then IAP sweetened it.
Since they found money they support it. But in the process they’ve really destroyed gaming on the platform unless you want casino games or candy crush/clash of clans things designed to extract money and show another ad every 12 seconds.
Yeah they show Resident Evil VIII and Assassins Creed Whatever but they don’t sell much. And the race to free IAPs created mean good games can’t sell even at a single $2 purchase.
Apple Arcade is the only sanctuary. I haven’t heard good things from the dev side, and it’s 80%+ old games from before things were destroyed or IAP riddled games with the IAPs removed, at times not even rebalanced.
I use it because it’s about all that’s left. But iPhone gaming is a shadow of what we had in the early years.
And at this point there is no competition left. The smart phone ate everything. And as far as I know Android games are in the same mess.
Well sure it worked out great for Apple. By preventing users from sideloading emulators or playing real games, you force them to purchase gambling apps and low-quality slopware to entertain themselves. "Real world" game developers like Nintendo outright gave up on iOS/mobile gaming because it wasn't a comparable gaming experience.
A good example of this is the Final Fantasy Pixel Remasters, which were so lazily ported that most fans advocate for pirating the originals instead. Why should anyone pay $14.99 for the bad version of FFVI?
I don't mind playing whatever games my Mac will play, but it does feel like Apple has an entire org full-time making sure games don't work on Mac.
overwatch plays flawlessly on macOS right now, Game Porting Toolkit 2 is DirectX on Metal done by a $1T company.
all that said, they view this as enabling the consumer by supporting their hardware better, they have an antagonist, mafia-like relationship with game developers.
Overwatch is a low bar - it's one of the games you can run with the upstream WineD3D OpenGL drivers from the early 2010s.
[flagged]
[dead]
[dead]
Nothing like copying someone else’s shit when you want to avoid thinking of new things for an operating system.
You could be more like Plan9, Linux. You could actually innovate and create new paradigms that make people look at MacOS and Windows and think that they are no longer in the same league.
But you don’t want to do that. You want to play games faster.
Fucking children run the world today. There are no adults keeping track of things making sure that as we go forward that things make sense. There’s no adult supervision in the computing industry anymore. None. It’s all just profit margins calling all the shots. Asinine.
How did it turn out for windows, being “The OS for Games”? Not great, I’d say. Windows is quickly losing that title and will soon become more and more irrelevant for gaming. If you focus on games until you’re “The OS for Games” then decide to innovate on real things that matter outside the home, then you’ll lose that title just like Microsoft is losing it now, and it will happen a lot faster for you than it did Microsoft, because the Linux community is about as organized as an Oklahoma town recently destroyed by a tornado.
Games are fast enough for anyone and there are certainly enough games today that if 5 people lived for 500 years each, there’s not enough time for them collectively to play all games that are available today.
I don’t know what you gamers think the “end game” is for games. Graphics? When are you meant to be happy? When will you stop and say, “ok, we made it”?
Graphics. Pfft. Games do not get better with more realistic graphics, and you know it. Great games are great because they are well thought out and well tested. Great games are not great because the shadows are sharper or because the reflections are more accurate. Some of the shittiest games ever look amazing, and some of the shittiest looking games are S-tier. And you all know it.
Old man mode: off
“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.”
I mean, this whole thread is basically suggesting that 23 years later, improvements to Linux and self-sabotage by Microsoft are going to possibly destroy (or atleast, start to cause some bleeding) to Microsoft (in the gaming-market).
This isn't Linux looking to destroy MS, this is mostly Valve understanding the requirement for an OS that won't be able to become predatory to them and their business model in a single system update.
The goal was to be able to patch and fix the systems I was using, and swap out bits and pieces as I wanted. And that seems to be less and less possible on Linux these days, as you have these tightly vertically-integrated stacks where everything depends on the latest version of everything else.
Personally I used to be a Linux zealot back in the early 2000s, then I actually learned to program C++ and dove a bit into OS architecture... I realized why Linux on the desktop always sucked.. Not because of some dastardly conspiracy by Microsoft, but because of the very basic fact that server people and vendors held the developer purse strings and they drove the engineering decisions.
Let's take a simple example.. to send a network packet to a different machine, you just call into the Linux kernel, which dispatches your stuff directly to the network card, and you're done. Pretty simple. However if you want to send a message to your neighboring X11 window, you have to go into the kernel to do IPC, which then somehow dispatches your message to the server process, unblocks and schedules the message pump in X11, which finds your window, then once again you go back into the kernel... then your target process is scheduled, so on and so forth.
Wildly inefficient, yet Linux never got proper good IPC merged (until binder), low latency audio sucked, and none of this coordination logic or audio processing got in the kernel.
Why? Because servers don't need that stuff and some server engineer isn't going to know or care about your use case, you're just small fry, and none of the stuff you do is worth taking on technical risk or slowing down server workloads.
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".
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.
> muscle memory (or more accurately, the mental model of the system)
That's not "more accurately", that's just a completely different thing. When I'm on Mac, my muscle memory is thrown off. I'll be typing and my ctrl+s, alt+tab, win+4, ctrl+left* all cause wildly unpredictable (to me) things. I'm currently using Linux, and all of those things work how I expect (with a tiny asterisk on win+#). When I want a control panel, I press the windows button on my keyboard to open something functionally equivalent to the start menu, and open System Settings to get something functionally equivalent to the control panel.
I have no doubt that I could learn the deep differences between Windows and Mac over time, but the initial muscle memory causes me stress before I get to that point. When I switch to Linux I don't have that stress, and so I've been comfortably learning those differences.
* - save, switch to the previously in-focus window, switch to the 4th program on the taskbar, move the cursor one word to the left
We weren't talking about whether the registry was better or worse, we were talking about how similar the two OSes were.
Um... Are you referring to WSL? Wouldn't that be the linux kernel running under windows?
WSL 1.0 was doing something like that. Doing syscall translation in real time. Eventually edge cases forced them to abandon that architecture and now it's just a VM.
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?
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.
interface and architecture may influence each other, but interface doesn’t determine architecture