Steam has already solved that problem. You target steam (not steamOS) and all other distros will do the work for you.
Your quoted quote.
Ultimately, you can’t trust the user computer unless you go for the secure boot things backed by a hardware key. I’m sure there are multiple ways to bypass anti-cheats on Windows.
> 2. Immutability[…] It's distributing games to 12 different distros with a hundreds different configurations and a thousand customisations
Does it really matter? You can always ship a statically compiled games. There’s only one kernel that is greatly back compatible.
> 3. An enforced equivalent of .exe.
I think ELF is the official standard for executable binary. The competition is illusory. There’s nothing preventing anyone from distributing a self extracting archive that installs on /opt. Packaging on Linux is about your system consistency, not software availability.
> 4. Better hardware support
That’s not a linux issue. If the manufacturer is not keen on getting it in the kernel or making it open source, they can always create a binary blob and distribute some shim that loads it.
Trials in Destiny 2 were a struggle before BattlEye, and the day BattlEye was enabled everyone suddenly forgot how to click heads. I put it "good enough" category.
There's more to it than dependencies. It's a valid point.
> I think ELF is the official standard for executable binary. The competition is illusory. There’s nothing preventing anyone from distributing a self extracting archive that installs on /opt. Packaging on Linux is about your system consistency, not software availability.
I think he meant .MSI and not .exe, but the point remains and is still valid. Why are there multiple ways to skin the same cat?
However, the real issue I'm getting at is the ability to run the same statically compiled binary many years later. That requires a dedication to compatibility (in this case, protocol compatibility). X11 was a bit all over the place on this, though it is probably stable enough now by dint of not getting much attention anymore. It seems like Wayland takes protocol compatibility pretty seriously [1] but there's an important caveat:
[W]hen a protocol transitions from unstable to stable, one last breaking change is permitted.
[ ... ]
Note that many useful protocols are still unstable at the time of writing.
Though this itself may be out of date by now (I can't find a date of authorship in that book).[1]: https://wayland-book.com/protocol-design/design-patterns.htm...
Most games however need GPU access and that is only possible by either dynamically loading libraries or shipping the code for all the hardware you want to support with your binary (not an option).
That said, you don't really need a fully static binary but "just" target the oldest Glibc you want to support and minimize your imports as much as possible to avoid any unexpected compatibility problems. I put "just" in quotes because the toolchains on Linux don't make that easy if you also want modern programming language support, but it is viable.
Even that will not protect you from hardware cheats.
Of course, you can use DMA over Thunderbolt, but the bar is so high (cost, specialised hardware) that most people who cheat won't do it.
> Does it really matter? You can always ship a statically compiled games
This isn't completely viable, you can't statically link the graphics driver.
I personally hope they never do, because present day anticheat systems are literally closed-source rootkits. You should not let that software onto any computer you own.
But then I don't really have a horse in the race, because I don't find competitive gaming with strangers enjoyable at all.
With what stable module ABI like Windows has? There isn't one.
You can build a module that targets the current kernel Ubuntu 24.04 is using, but that module won't load on 26.04, let alone a completely different distro like Fedora.
eBPF /might/ help, but one could make a module that lies to eBPF.
The notion that there is a meaningful difference between distros here only betrays your lack of knowledge.
FiveM, modded servers for GTAV, had anticheats before Rockstar added any which already prevented Linux players. Face IT for CS2 does the same.
- Quickplay
- Server / Game / Match finder
- LFG - for a more detailed search
Each of these has a different use case, and a single user may make use of all of them (I include myself here). Not everyone wants to just click "play", it's very dependent on the type of game.
Helldivers 2, for example, implements the first two. Destiny/Destiny 2 has mostly the first one. Destiny on Xbox has a XBL-provided LFG functionality (but prior to that external sites were used). You really needed LFG for finding a raid group.