4 ms·
Interesting, but also 4 years old. The stats on ProtonDB seem to reflect the majority of games running fine on Linux: https://www.protondb.com/ https://www.prot
by smoldesu 3y ago
Interesting, but also 4 years old. The stats on ProtonDB seem to reflect the majority of games running fine on Linux: https://www.protondb.com/ https://www.protondb.com/
Also worth noting, the landscape of Linux packaging is much different than it was 4 years ago:
- Flatpak/AppImage allows you to statically-link all dependencies to avoid undefined behavior
- Steam and others can provide basic runtimes with necessary libraries (eg. Steam Linux Runtime)
- Proton, WINE and DXVK work together to map Windows APIs to your specific setup, regardless of your x11/Wayland/PulseAudio/Pipewire configuration
Indeed shipping a native Linux title is no cakewalk, but products like the Steam Deck kinda refute these outdated complaints. You could target Windows-native and probably get 'free' Linux support if you're using a popular engine.
- PaulHoule 3y agoThe Steam Deck has the particular advantage of a standard configuration that game publishers are likely to test on.
- smoldesu 3y agoIt's a pretty huge advantage! That being said, I run a "nightmare stack" of sorts on my main Linux gaming PC: Alder Lake CPU, Nvidia GPU. NixOS on root and Steam installed natively. For a while, it was Unsupported Driver city - Population: Me. ...that being said, games have "just worked" for as long as I have Vulkan drivers installed. Steam might complain about software acceleration, but Cyberpunk runs with DLSS and Raytracing like a charm. The underlying stack is incredible, and I think it proves that you can make Linux a reliable delivery platform if you put in the work. That's just my experience, but look at the rest of the industry: Apple publishing Game Porting Toolkit based on DXVK code, Raspberry Pi GPUs playing Fallout: New Vegas, RISC-V getting Box86 support, the list goes on. Hardware diversity is great right now, the Steam Deck just pulls a lot of that technology to center-stage.
- PaulHoule 3y agoRight, and there are a huge number of devices on the market that will compete with the Steam Deck/Nintendo Switch form factor, the portable game console drought that started with the end of the PS Vita is no more. (I still want to see a monile shooter that bests Killzone Mercenary.)
- 1MachineElf 3y agoI'll echo a positive experience using Steam on NixOS. Almost makes me wish my Steam Deck was running it too.
- pxc 3y agoI haven't done much PC gaming lately, but I ran NixOS on the living room gaming and emulation PC for years, and it likewise worked well for me. It's probably not a use case people think of when they think of NixOS, but it's popular with users and contributors nonetheless, and thus also fairly well-supported. It's also generally a nice way to cope with proprietary NVIDIA drivers (although the new open-source ones are already available in Nixpkgs as well!).
- pjmlp 3y agoWhy bother, target Windows, let Valve do the needful.
- hot_gril 3y agoBecause a lot of games still won't work on Proton without a little cooperation on the dev's side. They have to at least test. Like, Age of Empires II DE goes out of sync in multiplayer games without some manual user-side patching. There's nothing obviously special about the game, not even anticheat. And for games with heavy anticheat, it gets a lot harder.
- pjmlp 3y agoNah, that is what Valve is for, after all they are the ones not bothering to improve Linux native games story.
- smoldesu 3y agoYou're asking Valve to illegally modify and distribute another developer's intellectual property? I think they very clearly draw the line there, nowhere has Valve claimed responsibility for fixing other developer's issues. They ship a runtime that works very similar to Windows, they don't write patches and hack jobs for bad developers.
- pjmlp 3y agoI am not asking Valve anything, I am asserting it is up to them to make Windows games run on Proton. Studios shouldn't care, exactly like OS/2 runs Windows apps better than Windows.
- hot_gril 3y agoIf I'm a studio, I don't care who's "job it is" to make it work, I'm just going to make it work if I care about getting those users.
- darknavi 3y agoI am ignorant here but are there tips out there for things you can do (such as APIs to avoid or prefer) to help ease the Proton translation?
- demurgos 3y agoThe main issue games on Linux games are invasive client-side anticheats. So I recommend making sure if it's really needed, and otherwise checking compat. On the graphics side, I believe that Vulkan is better supported than Direct X.
- smoldesu 3y agoI'm not qualified to give a complete list, but here's a few general tips I can offer: - Launch options! They help everyone, but are specifically great for stuff that breaks often like fullscreen settings, DirectX versions and game launchers. - Simpler stacks work better. You can run a browser-scale runtime if necessary, but a thin implementation around Win32 might run better for everyone. YMMV. - Multiplayer stacks are a bit of a pickle, but there are a few options. Some games (eg. Overwatch 2 or Dark Souls) will queue you up as a normal PC player. Others (Destiny 2, Rainbow Six Siege) won't let you play online at all. A smaller-yet selection of games uses anti-cheat patched into WINE (eg. Apex Legends) and that seems to work great. Again, YMMV and it will depend a lot on the game you ship. The super-low-level stuff is a mystery to me, though. Hopefully someone more qualified has tips on it written somewhere :p
- uberduper 3y agoI've been half expecting Steam (or someone) to create a cross-platform runtime/vm for game developers and hardware vendors to target.
- belthesar 3y agoIt's worth noting that in 2019 (when the developer originally posted this message), Proton for the consumer was largely an experiment. There wasn't a whizbang portable Linux gaming computer to excite developers to target the platform. DXVK was still in its v1 era and, while quite functional in the Proton prefix, was still in the very early days. Today? Yes, it's fairly easy with minor considerations in library choice to deploy to Linux on Proton, where the majority of your work is ensuring you have good Xinput and virtual keyboard support, barring any client-side anti-cheat considerations.