Top
Best
New

Posted by haunter 3 days ago

Linux gaming is faster because Windows APIs are becoming Linux kernel features(www.xda-developers.com)
754 points | 489 comments
JoeAltmaier 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.

hnthrowaway0315 13 hours ago||
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.

JoeAltmaier 10 hours ago||
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.

throw98226 10 hours ago|||
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.
CTOSian 2 hours ago|||
hello! hello! I was mainly admin and COBOL dev with them (I wish I kept the collection of the manuals and PRGs, alas when no space..), bitsavers have a quite collection (incl a virtualbox HDD) if you are interested!
CyberDildonics 15 hours ago|||
if I implemented a couple of traps

What does this mean? System calls?

rtkwe 15 hours ago|||
Similar but traps are triggered automatically on attempts to execute a protected instruction.

https://www.geeksforgeeks.org/operating-systems/traps-and-sy...

dullcrisp 14 hours ago||
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?
amiga386 11 hours ago|||
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.

achierius 6 hours ago||
> 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.

Practically most will support access via both, but for different reasons. For example, page faults (which the software cannot possibly predict) are going to be exception-mediated, but syscalls (which the software asks for) are triggered via an interrupt.

bonzini 13 hours ago||||
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.

JoeAltmaier 10 hours ago||
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.

bonzini 13 minutes ago|||
Windows 95 used a related hack. Whenever a v8086 program asked to create a call to protected mode code ("please give me a real mode address to call to, in order to start executing the protected mode routine at address 0x123456"), Windows would store the entry point in a table and hand out real mode addresses like FFD0:0, FFCF:10, FFCE:20, FFCD:30, FFCC:40 that all point to the same instruction (because the segment part is shifted left by 4 in real or v8086 modes).

The routine at 0xFFD00 could then enter protected mode and use the code segment to build the index into a table of entry points: FFD0 goes to index 0, FFCF goes to index 1, and so on. But for extra kicks, the address isn't actually pointing to valid code. It points to a random "c" character in the BIOS, which is an ARPL instruction - which in turn is invalid in v8086 mode and therefore invokes the undefined opcode exception handler. The exception handler then takes care of doing the 32-bit call.

globalnode 9 hours ago|||
int 21h !
somenameforme 3 hours ago||
Need some params!

mov ah, 2

mov dl,7

Ahhh.. probably my first program. Don't forget the int 20 at the end! It was beeping great. Still never unlocked the mysteries of those TSR programs though.

thequux 1 hour ago||
It's been a long time since I've touched any of this, so the details have slipped my mind. However, the general idea was that there were two different exit calls in DOS: terminate and terminate and stay resident. The difference between the two is that the stay resident option wouldn't release the memory used by your application. Further, the interrupt table, which told the processor how to handle each interrupt, was in RAM and therefore writable.

So, what TSRs would do is overwrite one or more interrupts to point to a routine that would check if the system call in question was one it wanted to handle (eg, to add a hotkey it would grab the keyboard handler and check for a special set of keys before passing control back to the normal handler). Once that was fine, it would call the TSR system call and control would be passed back to the OS with the hook still in place

Polizeiposaune 13 hours ago||||
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.

cmrdporcupine 13 hours ago|||
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.

rolph 15 hours ago||||
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.

https://en.wikipedia.org/wiki/Interrupt#Terminology

jjk7 15 hours ago||||
Before SYSCALL there was INT
m463 8 hours ago||
I remember SVC. and also things like BR14 and IEFBR14
therealfigtree 2 hours ago||||
It's a trap
fintler 7 hours ago||||
Need to pee? Take the a-trap to Shell.
hack1312 15 hours ago|||
[dead]
KolibriFly 5 hours ago|||
This is such a neat historical parallel
actionfromafar 15 hours ago||
That's a great twist! Very few people traded Bill Gates a linker for a compiler!
jr_isidore 15 hours ago||
Yes, I agree. Amazing twist of fate.
trashface 15 hours ago||
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.

Gareth321 10 minutes ago||
I think Linux needs a few things before it will be ready for mass consumer adoption.

1. An equivalent of kernel level anti-cheats. Cheating really sucks. It ruins online games. Kernel level anti-cheats aren't perfect, but they're much better than user-space or server-side anti-cheats. Maybe in the future AI solves this, but inherence-based anti-cheats are likely going to be a cat-and-mouse game. Valve have stated they are working on this problem and I think if anyone is going to solve it, it's them.

2. Immutability. Right now distributing games on Linux isn't distributing games "on Linux." It's distributing games to 12 different distros with a hundreds different configurations and a thousand customisations. This is impossible to support. When SteamOS gains traction, developers will be able to target exactly one distro with fixed configurations and limited customisations. Valve will set the standard for other distros.

3. An enforced equivalent of .exe. One of the most wonderful parts of Windows is the near universal acceptance and use of the executable installation method. You just double click the file and install it. Linux is an absolute clusterfuck of installation manuals and scripts and competing app stores with their own repos and permissions and packaging methods. If Valve were to mandate the use of, for example, flatpaks in SteamOS, that will become the universal standard. I think this is one of the most frustrating parts of using Linux for regular people.

4. Better hardware support. My Fanatec peripherals don't work well in Linux. Fanatec doesn't offer drivers and open source options are limited in functionality (and stability). There are many products for which drivers support sucks in Linux. I think AI will solve many of these issues over the next few years. Unless the manufacturer has gone out of their way to encrypt of obfuscate the communication layer with the product, you can basically point Codex at the peripheral and tell it to build an interface driver. Within a few years, I imagine operating systems will have this kind of functionality built in. If the OS encounters a peripheral it doesn't recognise, it will just build its own driver on the fly.

I am more optimistic about all of these than ever before. Linus Torvalds famously said it will take Valve to fix this fragmentation problem for us, and that looks like where we are heading. No doubt there will be Linux fans who lament the loss of diversity and competition, but I think we end up with a true competition to Windows for gaming. That's when I will make the jump.

rowanG077 1 minute ago||
> 2. Immutability. Right now distributing games on Linux isn't distributing games "on Linux." It's distributing games to 12 different distros with a hundreds different configurations and a thousand customisations. This is impossible to support. When SteamOS gains traction, developers will be able to target exactly one distro with fixed configurations and limited customisations. Valve will set the standard for other distros.

Steam has already solved that problem. You target steam (not steamOS) and all other distros will do the work for you.

liamgm 2 hours ago|||
Yes , Win32 / DirectX in common HAL for games now , just compile your game for windows/steam , you can run everywhere , minimize the headache of doing native game development , like breaking with X11 / wayland kde / wayland gnome / wayland mutter .

For the OSes runtime side you can depend on SteamOS / Apple's Game Porting Toolkit / Crossover / Proton / DWProton / Wine / and Android's Winlator/Gamehub/Gamenative .

For DirectX compatibility you can depends on Apple's D3DMetal , DXMT , VKD3D , DXVK and WineD3D .

KolibriFly 5 hours ago|||
This is exactly why Proton feels like the pragmatic path. Native ports are nice in theory, but PC games are rarely just one clean executable anymore
sph 1 hour ago|||
I have stopped playing native ports and just prefer Proton when I have the choice. Many devs using Unity & co. just tick the "export to Linux" option and never try the build, which is often much slower or bug ridden.

I was playing Project: Gorgon recently, I was about to refund because it ran terribly on my machine (despite the low end graphics), when I noticed it was using the native build, switched to Proton and got a 200% FPS boost.

As long as I can play on Linux, I don't care what translation layer it goes through.

rightbyte 2 hours ago||||
EA's horrible launcher comes to mind.
imtringued 2 hours ago|||
Yeah, PC games are like console cartridges. You plug them into a compatible slot and they work.
Quekid5 12 hours ago|||
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.

Fnoord 6 hours ago||
Actually, I have been having a specific issue with pickpocketing in BG3. On native Windows and native Linux, the client crashes if I pickpocket too quick. One time, on Linux, it even made my whole OS crash (and then some weird error BIOS error). But specifically with Wine on Linux, it does not occur. The only reason I even tried with Wine on Linux is because I wanted to try some mods unavailable otherwise. It does seem the native port has better latency, but latency in a game like this is pretty irrelevant.

I have been using Linux for nearly 30 years now, including running CS (HL1) via Wine with better performance and stability than Windows 9x on a LAN party. Good times.

Sometimes native ports don't get updates, while Windows port does. If you can then run it via Wine, you may have a more stable/less buggy experience.

Note I use both Wine and Proton. BG3 I run with Proton. But Proton is 'just' a fork with (neat) improvements which also partly got backported.

Oh, and I have to mention, I don't use Arch Linux.

brandnewideas 42 minutes ago||
Huh, I was unaware that BG3 had a native Linux release, as it's not listed on the Steam store page. Turns out that they released it only for the Steam Deck. Strange
frameset 32 minutes ago||
Yeah there's some weirdness too, it's heavily optimised for the Deck, low rez textures, low shadow quality etc.

So if you force it to run on your Linux desktop you don't get an experience commensurate with your hardware.

ToucanLoucan 14 hours ago||
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.

mfinelli 14 hours ago|||
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).
HiPhish 13 hours ago|||
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?

[1] https://en.wikipedia.org/wiki/OverlayFS

[2] https://www.gnu.org/software/stow/

mfinelli 12 hours ago||
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)

karlding 2 hours ago||
Keep in mind that overlay file systems are designed to treat the lower layer as read only. Changes made in the merged view are written to the upper layer while the original lower files are untouched.

So if you need to persist changes into the lower layers, I think you may need to do tricks like taking snapshots and then swapping the bind mount (maybe with some diffing logic) or some other offline methods.

imtringued 2 hours ago||||
I know that running Vortex is a pain but I never ran into any problems once it was installed. I did this back in 2022.

I don't want to discourage you, but what's wrong with helping MO2 and Vortex get ported to Linux?

MrDrMcCoy 41 minutes ago||
Vortex at one time did have a native Linux version. IIRC, it had very minimal game support, lagged behind the main branch, and was eventually canceled. I don't think they're interested in contributions for native Linux. A separate app seeking to implement Vortex API and package support would potentially be more free to improve the UX, do Flatpak/Appimage, or use more interesting Linux features like overlayfs and FUSE archive mounting. I have a mind to try my hand at it, would be a good starter project for a new language.
ToucanLoucan 13 hours ago|||
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!
mfinelli 13 hours ago||
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

ToucanLoucan 13 hours ago||
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:
progforlyfe 14 hours ago||||
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.

beart 14 hours ago||||
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.

HiPhish 13 hours ago||||
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.

[1] https://github.com/limo-app/limo

[2] https://vivanewvegas.moddinglinked.com/

cwel 14 hours ago||||
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.
ToucanLoucan 13 hours ago||
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.
cwel 13 hours ago|||
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.

MayeulC 13 hours ago|||
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).

foo12bar 14 hours ago|||
What do you plan to do about firmware updates?
cogman10 14 hours ago||
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.

https://wiki.archlinux.org/title/Fwupd

hypercube33 9 hours ago||
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.

isityettime 7 hours ago||
All the distros that support it use the same system, fwupd: https://fwupd.org/

It's the same tool the person you were replying to was pointing at via the Arch wiki. It's pretty standard. I'd expect most distros to support it by now.

neverkn0wsb357 11 hours ago||
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.

protocolture 6 hours ago||
>Given the current momentum, it feels like (to me) the adage of “Windows is for Games” is going by the wayside.

I think that games have been a strategic priority for Windows for a very long time. Going all the way back to DOS/4GW on Windows 95. But the impression I get from Microsoft is that they kind of don't want the hassle of maintaining a desktop OS anymore, and they would be happier if everyone went elsewhere.

kzrdude 1 hour ago|||
I think that's the key explanation. Gamers are no longer a mass market user group for microsoft - they target all the casual computer users. Gamers actually want full control of their computer, pay attention to details and care about performance: that's a niche user base, and it's clear why their interests overlap with the linux community: user needs trump everything.
somenameforme 3 hours ago||||
I'm not sure. They put a ton of effort into things like DirectX, were outright anticompetitive against OpenGL, and there was an atypically high degree of competence and vision throughout. It probably wasn't about the games but about tying people to Windows. People didn't make games for Linux because there were no gamers on Linux. There were no gamers on Linux because people didn't make games for Linux.

On top of this, gaming used to be (and probably still is) the main reason to cycle through PCs. If you're just going to browse the web, use relatively low resource software, etc then a PC or even laptop from a decade+ ago is 100% fine. The reason consumers upgrade is going to be heavily weighted by games. And each of those upgrades often comes with new OEM software that was licensed and other economic benefits to Microsoft.

---

As for modern Microsoft, I agree with you from an outsider's perspective, but I'd bet internally it's a different game. Microsoft seems to be having major issues with labor competency, on both the implementation and management side, and it's making their entire ecosystem collapse. Anything that has major outward visibility (like desktop OS) is going to make the circus most immediately visible. I have little doubt they have the same stuff going on internally with their other offerings.

HerbManic 5 hours ago|||
The last few years it has felt like that, Microsoft is more than happy to sell to everyone while also having Windows.

I mean Windows is still a huge cash cow for them and is THE desktop OS but the actions they are taking with it sort of makes it feel like a second class citizen.

swiftcoder 3 hours ago||
> and is THE desktop OS

Part of the problem seems to be that desktop OS use as a whole is cratering as more and more folks who grew up in the smartphone era enter adulthood. Outside of tech circles, I meet a lot of folks who have a phone + tablet but no actual computer...

inquirerGeneral 10 hours ago|||
[dead]
KennyBlanken 10 hours ago|||
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

harry8 10 hours ago|||
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?

Gareth321 5 minutes ago|||
Your argument appears to be nihilistic in nature: "don't bother fighting the cheating because it's inevitable." Forgive me, but I won't be giving up that easily. No anti-cheat is perfect, and we're not aiming for perfect. We're aiming for a reduction, and the harder we make cheating, the fewer cheaters there are. If cheating requires special hardware to mimic mouse and keyboard input, that significantly cuts down how many cheaters one will encounter in a given day. I have no doubt that the threat vector here widens and deepens as AI becomes more integrated into our operating systems. That does not mean we should give up or accept cheating as inevitable.
jjmarr 5 hours ago||||
China solved this years ago with mandatory ID verification to play video games.

https://en.wikipedia.org/wiki/Real-name_system_for_online_ga...

This was to prevent children from getting addicted but also leads to real life penalties for cheating in video games.

harry8 1 hour ago||
This a new and exciting use of the word "solved." I don't think I'm completely comfortable with it, possibly due to being raised on a diet of anti-soviet propaganda that spoke of such thing as "freedom" "justice", not sure if people care much anymore but there it is.
dragontamer 9 hours ago||||
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).

wtetzner 8 hours ago||
> 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.

zrm 6 hours ago|||
It seems like what this needs is the return of video arcades.

Fill a room at the mall with Linux boxen with midrange GPUs and fiber internet and the sort of keyboards you can clean with pressurized water. Charge an entry fee and then sell pizza, cheetos, coffee, soda and beer. Open at 11AM and close at sunrise.

Then publish the public IPs used by the arcade-owned machines at each location in the chain and use different public IPs for the customer WiFi. No DRM nonsense, just a way to know you're playing with someone at the arcade where the management doesn't allow cheats on their machines.

hackeridiot12 5 hours ago||
Yes exactly but you do not go far enough with your plans. What is the point of any game if we can not determine who has memorised the meta best and who’s fingers twitch fastest. We need to out law general purpose computing in society and first it must be slowly phased out. Humans have shown they can not be trusted with open platforms they will always cheat and scam each other to gain an advantage. We will also need eye tracking devices to determine if they are cheating by reading notes off paper nearby. I think your plan comes to perfection if we chip everyone in case someone else plays for them on the locked down device.
kelseydh 3 hours ago||||
Chess anti-cheat now relies on looking at your moves and spotting mistakes. Not even grandmasters play tactically perfect games so this works pretty well for finding cheaters. In theory FPS games could do the same to detect aimbotting.
harry8 1 hour ago||
and will have to do something along those lines for online play.
dragontamer 5 hours ago|||
No one is going to use LLMs if aimbots are available.

Have you even played an FPS vs an aimbots before?

eightysixfour 9 hours ago|||
> "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.

YPPH 10 hours ago||||
>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.

swiftcoder 3 hours ago|||
It's proprietary, but they kit bashed a bunch of existing components (iirc, Android's surface flinger, the Nvidia embedded linux drivers, and the freebsd network stack)
farmerbb 9 hours ago|||
I think it's a FreeBSD variant, if I remember correctly.
DarkUranium 9 hours ago|||
It's definitely not. Completely bespoke OS.
cobalt 8 hours ago|||
ps* is based on freeBSD, Nintendo is proprietary (though use OSS libraries)
benchloftbrunch 7 hours ago||||
Nintendo Switch does not run Linux, it runs a proprietary OS called Horizon based on the Nintendo 3DS firmware. Not sure but it might or might not have some BSD code in the network stack or something.
dlcarrier 5 hours ago||
Pretty much everything uses BSD source code in the network stack, including Windows, so that much is a safe assumption, but there's far more that the Switch is using. According to the copyright notice, it uses the FreeBSD kernel. This tracks with reported use of BSD jails, which are part of the BSD kernel.
QuaternionsBhop 10 hours ago||||
> 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.

ben-schaaf 9 hours ago||
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.
sayamqazi 5 hours ago|||
I dont know what kind of authoritative server Apex Legend uses that let the infamous "Tufi" hacker do what he did for so long. IMO it should be trivial to ban someone hitting more than 80% of their shots as headshots,, dual weilding weapons that were never supposed to be dual-weilded. Charge rifle beam permanently shooting and swapping armors from miles away
emkoemko 6 hours ago|||
why can't we prevent wall hacking by not sending packets of enemy players position if the user can't see them on their screen
yetihehe 3 hours ago|||
Sometimes user can partially see them, game client would need that position. Then user can make a mod that flashes silhouette that just appeared behind a wall for a moment.
ChocolateGod 3 hours ago||||
You can do it to a degree (basic room detection), but it'll never be 100% accurate because of latency and compute cost, you have to give leeway.
gsich 45 minutes ago||||
not a trivial solution.
lovich 5 hours ago|||
you run into some really difficult to solve issues when it comes to the gameplay loop, the graphics engine, and network latency trying to solve that unless you are playing some sort of turn based game where all data can be resolved before the next action
prmoustache 3 hours ago||||
What is the problem with cheating or bots really?

I feel that the solution is just to have a decent ranking/level system so that users play with other people, cheaters, bots or regular users of the same level. When I was playing mario kart with my 5y old daughter, I didn't mind she had access to helps to not run out of the road as it allowed us to play together. I don't see how different it is between say, a super skilled player, and a lower skilled player with cheat/assists. If cheating/assists system becomes so efficient, cheaters will just end up playing together and non cheater will have got rid of them and play between non cheater of similar level. Prolem solved. No?

treyd 10 hours ago||||
The Nintendo Switch runs a custom operating system codenamed HorizonOS.
tardedmeme 8 hours ago||
I was going to say. There's no way Nintendo would be caught dead with GPL anything, even GPLv2.
emkoemko 6 hours ago||||
i am really doubting that Nintendo Switch uses Linux?... they would have to provide source code no?
f33d5173 5 hours ago||
Only to the kernel. And only if they patched it. Kernel modules don't count as patches. This is how myriad android vendors get out of providing source. But no, the switch doesn't use linux afaik.
ben-schaaf 9 hours ago|||
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.

forrestthewoods 8 hours ago||
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.

neofrog 5 hours ago|||
If you call yourself a power user and cannot use Linux properly, you are not a power user.
boltzmann64 7 hours ago||||
I am really curious: what is your definition of a power user.
xandrius 1 hour ago||
Double clicking an icon real fast and be the last 10 players consistently in a public match of fortnite. That's a true power user.
figmert 5 hours ago||||
What do you consider a power user? Because I'd consider an OS that refuses to let you do what you want, and constantly reverts your customisation, the opposite of power user friendly.

We're a long way not because Linux cannot do it. We're a long way because publishers refuse to take it serious.

benchloftbrunch 7 hours ago||||
I'd bet even more Linux usage is ChromeOS which even more barely counts, and certainly both are dwarfed by Android which simply doesn't count.
protocolture 4 hours ago||||
How are these statements compatible?

Like if most linux usage is SteamOS that suggests its good for gamers right?

And that all any other distro has to do, is target SteamOS in terms of gaming usability?

tjpnz 46 minutes ago||||
SteamOS is Linux.
bigyabai 8 hours ago|||
Linux is for power users. Windows 10 with Powertoys and WSL for stuff like yt-dlp is a fine stopgap, but you can get the same workflow on Linux with a leaner system.

I never installed Windows 11 on any of my PCs, there's no place for it in my work or gaming regimen. If Linux is supposed to keep Windows honest, then some dev at Microsoft must have a Pinocchio nose.

isityettime 6 hours ago||
The problem is that Windows power users arrive on Linux and think they know what they're doing, when in reality they don't know up from down. Very basic things like norms about user confirmation and warnings are frequent stumbling blocks.¹

Windows power users expect their habits and instincts to be right and treat the system as broken wherever they aren't. After all, they "know computers"! So when one of them hits a snag, even if it would have been avoided by heeding a system's warnings, reading the documentation, or adhering to its norms, they declare (for others to repeat) things like "Linux isn't (ready) for power users".

--

1: Windows power users arrive to Linux with a mixture of incredible fatigue from pop-ups and blindness to all interruptions. They are used to mindlessly batting away constant notifications and distractions. They are also used to a host of familiar warnings that they know are bullshit, and reflexively ignore. But the warnings on Linux systems are not the warnings they know. They don't actually know what they mean or which are safe. To the point that their blindness to warnings becomes outright comical, as in this infamous example: https://i.imgur.com/J39WfLK.png

lovich 5 hours ago||
That imgur link is just sending me to the image template for the "I'll Fuckin' Do It Again" Goofy meme. If that was intentional than what youre referencing isnt as infamous as you thought as I have no idea what it means in terms of windows users on Linux.
isityettime 5 hours ago||
Lmfao, thanks. Damn indistinguishable imgur URLs on my clipboard. Fixed.
Shorel 5 hours ago||
Linux is one of the best Win-API platforms.

It is the absolute best for backwards compatibility: it runs 16 bit apps.

Now it is getting faster for gaming.

And the reverse relation is also true: In Linux, the best backwards compatible stable API is WinAPI.

I can play 30 year old Windows games in Linux. They just work and run better than ever.

For the same project (https://www.descent2.de), I can not even install the dependencies to compile it in a modern distro, as every library is deprecated and removed from the repositories. The precompiled native Linux binaries also can't work.

mappu 4 hours ago||
I used to love Descent 2!

People say this a lot about Linux and it somewhat rubs me the wrong way - sure, the Windows binary works if you install its library dependencies (wine). Likewise (OK, ever since libc5/glibc2 changeover in 2001) the Linux binary should work if you have its library dependencies (SDLv1 it looks like?). So what's really the problem? Your distribution stopped distributing the dependencies, making them harder to find? "DLL Hell" was a thing too.

I didn't see any binary downloads for Linux on that website, only source code.

I gave it a try anyway, the dependencies were actually not a problem for me, Debian has libsdl-{net,image}1.2-dev, libglew-dev, and so on, and if your distro does not have SDLv1 there is libsdl1.2-compat. But after the dependencies, there was a problem with the source code doing something involving bitfield packing that does not compile on x86_64.

I do see the source code has lived on, i can `apt install d2x-rebirth` on Debian 13 which has a comment about https://www.dxx-rebirth.com/ ...is that helpful?

skywal_l 4 hours ago|||
After a few fixes, it builds on a debian-13. You just need to install a few dependencies (glew, SDL, curl).

The real problem here is the tooling. New versions of automake and C++ compilers are stricter than they used to be.

Indeed, for long term conservation, you need to vendor your dependencies AND your tools to make sure that the project is sustainable without intervention. But with the magic of LLMs now, this is not a problem anymore. Claude was able to fix it in less than 10 minutes.

And having the source code beats playing the original game. You can recompile in high def and make all the modifications you want to make it feel like a modern game (or not!) and sill get you your dose of nostalgia.

_joel 3 hours ago||
Descent, Heretic, XCOM: TFTD.. All games that take me back to a special place :)
9x39 13 hours ago||
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.

hedora 8 hours ago||
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).

Mariajaved906 13 hours ago||
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.
Gigachad 9 hours ago|||
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.
ChocolateGod 3 hours ago|||
This is the main problem why anti cheats are currenty blocking SteamOS.

I don't think you'd need to block multi tasking though, but the kernel would need to prevent or tamper root access so it couldn't modify the game memory.

Perz1val 2 hours ago|||
You can't block multitasking, the largest multiplayers have huge crowds who play with friends and talk on discord.
doikor 2 hours ago||||
Valve doesn’t do kernel level anti cheat on Windows either. Those are the actual roadblocks.

Userland anti cheats can work (and do) on Linux if the developers want to. Most of the third party ones the developer buys/licenses already do.

But reality is that only the kernel level ones seem to work to some extent. Difference in the amount cheating between counter strike and valorant is just massive (both free to play games)

DevKoala 10 hours ago||||
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.
cortesoft 10 hours ago||
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.

cogman10 11 hours ago|||
Arguably, the PS2/3/4/5 proved that as did the various Nintendo platforms.
Night_Thastus 14 hours ago||
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.

NamTaf 12 hours ago||
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.

cortesoft 9 hours ago|||
> 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.

kokada 2 hours ago||
But it is also rare cases where a a few percent points actually make a huge difference. Remember when reviewers are doing benchmarks they're generally using a standardised test suite with uncapped framerates. For most people they would be perfectly happy to hit a target framerate, or if they really want to play uncapped they would first reduce a few graphical setting to archive good performance (most of time with imperceptible changes in the graphics). It is rare when the performance of the game is so tight in a hardware that a few percent points actually matter.

To give a particular example, I started playing GTAV on Windows after building a new PC since I had no spare drives. After finally installing Linux I decided to try GTAV on Linux just to see how well it would run. And it runs amazingly well, and yes, it runs a few percent points slower than Windows, but the only tradeoff I did was slightly increase FSR4 and the game still looks amazing. I didn't really notice any graphics issues, especially not during actual gameplay (if I stayed at the same place and started to nitpick I could notice differences).

NewsaHackO 12 hours ago|||
I mean, there are costs to swapping though. Going by just feels seems to be the wrong way to think about it.
ulbu 11 hours ago|||
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.
lunatuna 11 hours ago||
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.

OccamsMirror 4 hours ago||
My son is really into soccer, so I wanted to get the latest ~~Fifa~~ FC game. Oh it has anticheat and doesn't run, at all. Frustrating because I wouldn't want to play online anyway.

Happy to not give EA any money if they're so set on shoving online play and therefore anticheat down the players throats.

Grateful that Steam allows easy refunds.

landryraccoon 10 hours ago|||
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.

worble 14 hours ago|||
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.

anonymousab 14 hours ago|||
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.

SchemaLoad 11 hours ago|||
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.

marcus_holmes 10 hours ago|||
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.
SchemaLoad 8 hours ago||
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.

theshackleford 10 hours ago|||
> 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.

SchemaLoad 9 hours ago||
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.

marcus_holmes 7 hours ago||
I think this is similar to how buying books is a related but different hobby to reading books, or buying board games is a related but different hobby to playing board games. I know people who have hundreds of board games, thousands of dollars worth, but rarely get to actually play them (for various reasons but mostly involving children).

The hobby of optimising your gaming desktop is a related but different hobby to actually playing games.

SchemaLoad 7 hours ago||
Completely agreed, I think most hobbies have this perverse side aspect that is just themed consumerism. And it's so easy to get sucked in to watching youtube videos about the latest board games that you just need to buy, while the reality is you aren't even playing the ones you already have.

It's much harder to step back and realise you don't need the new thing most of the time. Sure if you have a 15+ year old desktop and you can't run the new games at all then an upgrade could be good, but I'd guess most hardware purchases come from people who already have great hardware.

nopurpose 12 hours ago|||
> 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?

BoxedEmpathy 14 hours ago||||
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.

pjsmith404 12 hours ago|||
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.

jabwd 11 hours ago|||
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.

newdee 11 hours ago|||
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.
pjsmith404 11 hours ago||||
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.
unethical_ban 9 hours ago|||
I wonder if other Linux distros had the same issue.
jabwd 1 hour ago||
I haven't had it in the past with PopOS or Fedora, but it could be that the nvidia drivers back then weren't an issue. I could try with another distro if you're curious, that laptop is mostly a sacrificial machine for testing out distros and other stuff.
smackeyacky 12 hours ago|||
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

SchemaLoad 11 hours ago||||
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.
r14c 7 hours ago||||
Yeah some hardware combinations are just broken. IF ur lucky everything will just work, if not you can likely fix it with enough skill. That's better than nothing, but understandably frustrating if you accidentally pick a bad combination of devices.

Unfortunately the install process is always going to be at least a little bit technical. I wish it wasn't, but idk how you'd do that without making the os like an emmu chip that you can swap out, instead of a thing you write on your drive.

cwel 12 hours ago||||
> 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.

Egrodo 28 minutes ago||
You clearly don't work in a legacy codebase
BoxedEmpathy 14 hours ago|||
And I'll try again when I have more time.
kakacik 13 hours ago||
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.

yourapostasy 12 hours ago||
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.

ClikeX 12 hours ago||
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.

tobyhinloopen 2 hours ago||||
> As far as gaming is concerned Linux just works

Absolutely not. It works, it doesn't "just work". Tuning is absolutely required for a lot of games to get them working. Random crashes, "oh multiplayer doesn't work? singleplayer does?", random glitches, random performance issues, etc.

I still prefer dealing with some issues over dealing with Windows, but it doesn't "just work".

cortesoft 9 hours ago|||
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.

braiamp 14 hours ago|||
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...

kelnos 12 hours ago||
> 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.

mackal 7 hours ago||
Esync was the other one. Basically either of those enabled (honestly probably both were) and it didn't hit a corner case with issues, NTSYNC is basically no benefit. (I personally would rather use NTSYNC)
helterskelter 14 hours ago|||
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.
dlivingston 11 hours ago|||
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).
hedora 8 hours ago||
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.

QuaternionsBhop 7 hours ago|||
> I wouldn't recommend using Nvidia on Linux though.

This was true 4 years ago, but is outdated knowledge now. Nvidia used to disallow distributing drivers with distro images, but they have since made agreements with some popular distros. If the distro image you download includes drivers or you know how to install them, the proprietary drivers work really well.

zamalek 7 hours ago|||
Windows and Linux trade punches in terms of overall experience. What I've seen around is that if Linux has worse FPS, it tends to have more consistent pacing (it generally has better pacing - but not always, I had to abandon Once Human).

Gamer's Nexus has a pretty extensive benchmark video: https://youtu.be/ovOx4_8ajZ8?si=Cx5Q1a-lMMm14H4i . They refuse to compare to Windows, and it kinda makes sense: if it's satisfactory on Linux for your demands then who cares what Windows can do?

Here's a less professional, but direct comparison https://youtu.be/Giois6VtLPM?si=XFaVUMbea3u0AmP. An extremely important thing to note: AMD GPU. I personally have no idea what NVIDIA is like, but it sounds like their drivers are still all over the place.

And kernel-level anti-cheat doesn't work, though some (e.g. EAC) run in user mode if the developer allows it. Make sure to check ProtonDB for the games you care about. I have personally never had a good experience with Linux builds of games, so I just always use Proton now - but maybe I'm cursed because others have passionately disagreed with my experience. Either way, if a Linux game is broken/bad, try forcing it into Proton.

I don't want to say, "switch now" because it still has rough edges in terms of gaming. Better for you to have a great experience and stick around, than hate it and leave for good. Only you can figure out if it needs more time to cook based on some very light (ProtonDB) research.

I last used a Windows machine about a year ago, and I can say with confidence that the average desktop experience is significantly superior to the barrage of bullshit that Windows puts you through.

IshKebab 4 hours ago||
> if it's satisfactory on Linux for your demands then who cares what Windows can do?

Pretty much everyone? If bread and water is satisfactory for your demands then who cares about Beef Wellington?

If it was better than Windows they sure as hell would be comparing.

harrisi 14 hours ago|||
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 :)

dlivingston 11 hours ago|||
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.

utbabya 7 hours ago|||
As others have said, try it yourself, it's very low effort nowadays. For me the lowest bandwidth option was to dual boot then load existing library with https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-di...

Got it running in less than an hour.

hedora 8 hours ago|||
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.

Kholin 10 hours ago|||
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.
protocolture 6 hours ago|||
Faster (than previously) not Faster (than windows).

The title after the jump is "Linux gaming is getting faster because Windows APIs are becoming Linux kernel features"

Getting faster. Not at parity yet.

xboxnolifes 12 hours ago|||
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.

h4x0rr 12 hours ago|||
5-30% is what a sizable amount of people upgrade their hardware for
kQq9oHeAz6wLLS 12 hours ago||
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.

jofzar 12 hours ago|||
100 fps to 95-70fps is definitely noticeable, 30% is way too much.
xboxnolifes 11 hours ago||
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.
unethical_ban 9 hours ago||
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.

alprado50 10 hours ago|||
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).
emkoemko 6 hours ago|||
they installed Linux on a PS5 and somehow the Windows games running through proton get same or sometimes a little bit more fps then the native ps5 game, its crazy
lynndotpy 10 hours ago|||
I've been gaming on Linux since 2020 on an Nvidia GPU with no problems, including some AAA titles like Overwatch and Halo.
jmalicki 14 hours ago|||
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.

anonymousab 14 hours ago||
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.

bisby 12 hours ago|||
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.

jabroni_salad 12 hours ago||||
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.

Dylan16807 5 hours ago||
> 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.

I'm not saying you're wrong, but the standard you've outlined excludes Windows too.

tormeh 1 hour ago|||
This is very personal. I don't particularly mind stutter. Input lag annoys me a lot, though.
kstenerud 6 hours ago|||
> 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.

No.

> I WANT to swap. Please give me cause to do so.

If you won't put the work in, why should we help you? Just stay on Windows, and we'll enjoy our Linux gaming rigs.

AlienRobot 11 hours ago|||
It isn't saying it's faster than Windows. Just faster.
encom 11 hours ago|||
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.

Night_Thastus 7 hours ago|||
>It isn't complicated

Getting reliable, consistent, meaningful performance numbers is in fact, extremely complicated:

* You need a consistent way to reproduce the exact same outputs - accounting for things like the game's RNG. You can't just walk around and snap the FPS counter in the corner of the screen and call that good.

* For Windows (and occasionally Linux) you need to ensure nothing is running that will taint the results (updates, AV scans, etc)

* Sometimes individual driver versions work very poorly with a specific game. Just because it ran badly doesn't mean you got good data, it may just be a bug in that specific driver version

* You can't just run the benchmark once. You need to run it many times, establishing run-to-run variance

* There are often a good dozen-to-hundred individual OS settings which can impact performance, and in some cases run-to-run variance. You need to know which to tweak, and which to leave alone.

* Sometimes the result of individual in-game settings differs between driver versions. Just because setting X had a big impact once, doesn't mean it always did

* FPS is not a great metric - it's an average. You need to check and see if there are huge frametime spikes. If there are, the game will have a 'good' FPS but feel horrible to play due to stuttering.

* You need to decide if you're benchmarking more GPU-heavy or CPU-heavy - those types of benchmarks require drastically different settings. If you run a CPU-like benchmark you may see a wildly different gap in framerate compared to a GPU-heavy one for the same game.

Benchmarking properly means accounting for thousands of tiny variables. Only a handful actually do it right.

encom 1 hour ago||
You are making benchmarking WAAAY more complicated than it has to be. We're talking about some dude considering a switch to Linux, but isn't sure the performance is on par. Just load up your game and hit the benchmark button. No sane and rational person is going to be clowning around with driver revisions or regedit, because those types of people think that is more fun than playing the games.

>nothing is running that will taint the results

No, running background crap IS the result, because that's real world conditions, and not some artificial lab condition.

>You need to know which to tweak, and which to leave alone.

That one is easy. You leave all of them alone. Windows tweakers do more harm than good. Besides, replicating benchmark results is impossible after you do brain surgery on the OS.

>You need to decide if you're benchmarking more GPU-heavy or CPU-heavy[...]

You benchmark the games you play. Benchmarking anything else would be completely pointless.

>Only a handful actually do it right.

Rumors say that Hattori Hanzo used to work for AnandTech. I wonder what he's up to these days.

rlxwearer 10 hours ago|||
[dead]
ActorNightly 12 hours ago|||
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.

as1mov 11 hours ago||
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...

d0gwut 7 hours ago||
[dead]
Animats 15 hours ago||
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.

zuzululu 12 hours ago||
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.

Sohcahtoa82 11 hours ago||
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.

hedora 7 hours ago|||
I get that people want to play games with randos and 13-30 yr old basement dwellers on the internet, but the idea never appealed to me.

If the vendors said: Disable anticheat and we’ll block you from tournaments / matchmaking, I’d consider that a feature, not a bug.

If some IRL friend of mine wants to be an asshole and use auto aimers / see through walls to screw with me, then I have ways to deal with it outside the game.

On the other hand, if we both want to run some bullet hell mode + cheats with physics mods and a debugger attached, then what’s the problem?

It’s none of the game developer’s business.

I’m not sure if I am in the minority or majority, but I’m not the only one with this attitude. I suspect the set of people in this boat dwarfs the 5% market share Linux currently has.

They might even get some of us to buy their games if they added support for such a mode. How hard could it be?

WithinReason 2 hours ago||
there should be just an anti-cheat lobby an a no anticheat lobby
skupig 10 hours ago||||
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.
KennyBlanken 10 hours ago|||
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.

Dylan16807 5 hours ago||
A key phrase being free to play.

If the developer's winning $20 per cheater detection, and puts in extra resources when there's more cheaters, the equilibrium ends up a lot better.

And even for free games, I could imagine different ways to tie a monetary stake in in exchange for skipping invasive anticheats.

MintPaw 9 hours ago|||
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.

estebank 7 hours ago||
There's no reason that kind of client behavior can't be detected server side.
KennyBlanken 10 hours ago|||
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.

snvzz 4 hours ago||
The real state of the art is single-game machines.

Instead of running the game in some arbitrary computer, you'd require players to buy your dedicated hardware, a black box that runs the game and nothing else.

HDBaseT 11 hours ago|||
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.

encom 11 hours ago|||
The fact that some games now come with root kits is insane. I really hope Microsoft cracks down on that nonsense.
ChocolateGod 11 hours ago||
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.
bigyabai 8 hours ago||
CloudStrike was installed with user consent, and still ended up being a fatal rootkit. Installing software in Ring 0 is always a bad idea.
bigyabai 11 hours ago||
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.
chromadon 13 hours ago||
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.

coconut08 10 hours ago|
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?
chromadon 3 hours ago||
I’m using an AMD cpu and an Nvidia gpu and it worked out of the box.
las_balas_tres 16 hours ago|
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
adrianmonk 12 hours ago||
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

aniviacat 4 hours ago|||
I thought that's what NTSync was all about?

https://docs.kernel.org/next/userspace-api/ntsync.html

QuaternionsBhop 7 hours ago|||
No, I believe it's futex_waitv
the8472 1 hour ago||
it's both, futex_waitv can also be dispatched via io_uring so you can wait on file descriptors and futexes simultaneously.
FuckButtons 16 hours ago|||
Epoll / select? since everything is a file, you can wait on everything.
gpderetta 16 hours ago||
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...

wtallis 16 hours ago|||
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?
spacechild1 15 hours ago|||
> 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.)

FpUser 14 hours ago||||
It very often being used for thread management inside single process etc. Very convenient. Nobody says it has to be default.
CyberDildonics 15 hours ago|||
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.

Dylan16807 14 hours ago||
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.
CyberDildonics 7 hours ago||
It absolutely can make a difference because if you have locks that are supposed to sync or wake up other processes you care about latency not cpu usage.
Dylan16807 7 hours ago||
What specifically are you saying can make a difference?

I'm saying that extra overhead from making your lock work across processes should be very tiny. That overhead shouldn't add much more than a microsecond in either latency or CPU usage, compared to an in-process lock.

CyberDildonics 7 hours ago||
You were saying "reasonable overhead" makes no difference because something "isn't called much". This is not only ambiguous but also not true because latency is important.

What calls specifically are you talking about between windows and linux? This was started by someone talking about WaitForMultipleObjects.

Dylan16807 5 hours ago||
I wasn't excusing all overhead, I was excusing the difference in overhead caused by making the lock more flexible. Because that's what the discussion is about, a lock that can be shared between processes versus a lock that can't be. The penalty for being "too flexible".

But assuming reasonable implementations, the difference between those two lock styles shouldn't be more than about a microsecond, should it? So that's fine for a lock that's only used 100 times a second.

I'm not comparing windows and linux anywhere.

lowbloodsugar 14 hours ago||
Its IO completion ports I miss.
More comments...