At my studio we maintain a native Linux version with a custom game engine, and it indeed takes a lot of time. I don't consider Proton a viable option as we lost the ability to integrate with Linux-specific stuff such as Wayland APIs or better input, but I can definitely see the appeal of switching to Proton... if your team uses Windows. If you have some developers on Linux, you naturally get a Linux build (if using cross platform APIs ofc) and it's actually faster to cross-compile a Windows build every once in a while (skip the slow ntfs I/O) and ship that. But it requires getting more of the team on Linux :)
Linux Gaming
Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME
away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.
This page can be subscribed to via RSS.
Original /r/linux_gaming pengwing by uoou.
No memes/shitposts/low-effort posts, please.
Resources
WWW:
Discord:
IRC:
Matrix:
Telegram:
But it requires getting more of the team on Linux :)
Get them a Steam Deck and target only Steam Linux Runtime 3.
Ah, yes... if only. I've upgraded internally SLR 1.0 -> SLR 3.0 but we can't deploy it until a bug is fixed in the Steam client that causes, when we enable SLR 3, all Steam Decks to run the Linux build. Yes, Steam Decks run the Proton version, solely because the save file has different letter casing (yes I know it's so annoying haha). We've spent quite some time on this and there's no way to fix this without some folks losing their saves, and that is absolutely not an option. Soooo for now desktop Linux is stuck on runtime 1.0, and Steam Deck users are stuck on Proton. "fun" :/
we can’t deploy it until a bug is fixed in the Steam client that causes, when we enable SLR 3, all Steam Decks to run the Linux build. Yes, Steam Decks run the Proton version, solely because the save file has different letter casing
Sounds more like the bug is on your side caused by whoever had the genius idea to use different file names for Windows and Linux builds.
there’s no way to fix this without some folks losing their saves, and that is absolutely not an option.
For me the fix looks very easy: Use completely new file names. The old saves are only read and new saves get the new file names. Stay on the current SLR/Proton setup until the saves are migrated to the new naming format for the active user base. Make a dedicated "beta" branch for legacy saves in a year or so to not screw over inactive users. Make announcements and pinned forum posts.
Fair. I'll take a working Windows build with proton over a janky Linux port any day of the week
In a decade, most games will be cross platform but compiled for ~~windows~~ proton and people will have forgotten why. Then somebody or some group will come up with "cross platform compilation" and the circle will start a new only to return to proton or some form of it.
As much as I would love Linux native builds of games, this also makes a lot of sense. I consider it a completely acceptable solution to the problem.
As a cross platform developer I consider this incompetence.
That's not necessary a bad thing. The world is full of less experienced programmers. But they're making it look like it's a hassle to release for Linux when in reality you can foresee and plan for this from the start, without much overhead down the line.
Why do people attribute decisions like that to the competence of the programmers? This is a business decision, nothing else. Most likely, some MBA looked over the numbers, saw a few hundreds or thousands of hours logged for tasks related to supporting Linux, and decided that Proton was good enough. Most likely, no programmer was even asked whether Linux support should be dropped.
And yes, even if you know what you are doing, every build going out to tens of thousands of active players needs to be tested, and that costs time and thus money, which is something every experienced cross platform developer should know.
But they’re making it look like it’s a hassle to release for Linux when in reality you can foresee and plan for this from the start, without much overhead down the line.
They have the overhead to support macOS, though:
Linux is pretty easy too release something for, the real fucking pain is MacOS
Every month xcode updates and breaks everything. Every two years I have to cycle a million certs that have different names depending on what apple docs your are looking at. Apple is pain
Apple can stuff eucalyptus tress up their asses.
Please don't do this
It makes perfect sense to do this. You have no idea how much extra work it is to maintain a Linux-native version that works predictably across the entire range of Linux machine configurations. Factorio has one guy, raiguard (hallowed be his name), in charge of the Linux build, and he wrote a blog post about the unique challenges of supporting the Linux native build.
Proton is already known to be perfectly capable of running most games as good as or even better than Windows. Game developers can defer the issue of compatibility and focus on developing the game instead of having to implement client-side decorations for GNOME users.
I'm a software developer that releases for Linux. I know it's a pain. I'm just in the camp of thinking we should fix it instead of giving up.
Do you remember the days before proton? Like the time I couldn’t play Terraria for months because they didn’t have anyone in their dev team who could update the Linux version to keep it working. The workaround was to get the windows version working through wine.
Using wine to play windows games is something we have done for years before proton made it easier. It’s a very Linux thing to do. Even some old ports were just using wine wrappers.
Do you remember the days before proton?
The days before Proton are the days before Steam Linux Runtime because Proton runs on top of Steam Linux Runtime. It doesn't run on top of the host Linux libraries.
The problem with Linux ports isn't Linux, it's sloppy ports. The 1.0 Scout runtime wasn't properly containerized back in the day, so games could call host libraries. That changed with 2.0 Soldier (using Bubblewrap, the same tech used by Flatpak) but Valve made it hard to target 2.0 because game developers had to request its use from Valve. That changed with 3.0 Sniper last year.
Only the Escape Simulator developers know why they didn't switch over from "maintaining many distributions" to requesting SteamRT 2.0 Soldier years ago.
Do you like the half-maintained and rarely updated Linux builds more? I sure don't.
Why?