this post was submitted on 14 Jul 2023
95 points (99.0% liked)

Linux Gaming

15282 readers
199 users here now

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.

Resources

WWW:

Discord:

IRC:

Matrix:

Telegram:

founded 1 year ago
MODERATORS
 

I’m glad to see this community picking up, the old sub is probably the community I’ll miss the most from Reddit.

How about a discussion topic? Native Linux games!

Gaming on Linux has absolutely never been better. I’ve been using Linux for 6+ years now, and I’ve been daily driving it since Proton first launched. I don’t even check ProtonDB anymore, I just buy games and they work. It’s amazing. However, it feels like native games almost always have an extra step, forcing Proton.

A lot of people predicted this when Proton launched, but the moment it got really bad for me is when I switched to Wayland. Native games that used to work under X11 suddenly stopped working never to be fixed, but the Windows version with Proton continued to work just fine.

I skimmed through the native Linux games in my library to get examples. In all of these cases, forcing Proton fixed the problem. The only two games with functional Linux ports that came to mind are Stardew Valley and Zachtronics Solitaire Collection.

  • CrossCode – Controller didn't work.
  • N++ – Crashes on startup.
  • NeoDash – Controller didn't work.
  • Bioshock Infinite – Awful performance, possibly still broken because of 2k launcher thing?
  • Hexologic – Game breaking level bug in Linux port.
  • DiRT Rally – Awful performance.
  • Drawer – Crashes on startup.
  • Super Meat Boy – Last level runs too fast and the game breaks.
  • I also remember having trouble with DiRT 4 and one of the Tomb Raider games, but I can’t remember what was happening.

It’s gotten to the point where if I experience a single issue with a native game, I just immediately force Proton instead of wasting time troubleshooting, and that strategy hasn’t failed me yet.


So, here are some discussion questions. You don’t have to answer all (or any) of these if you have a more interesting thought to add!

  1. What do you think of the state of native Linux games? Has your experience been different from mine?

  2. More and more developers are choosing to officially support Proton rather than maintain a native Linux version. This is resulting in a better experience in the short-term, but will that have consequences in the long run?

  3. In the above cases, the community seems more accepting of indie developers going this route due to their more limited resources. Do you agree with that, or do you treat these cases the same as larger studios doing the same?

  4. Do you think this will change in the future? Linux market share is slowly but surely ticking up. Do you think there’s a threshold where studios start putting effort into native ports again, or will Proton be the way forward indefinitely?

EDIT: Formatting improvements

top 35 comments
sorted by: hot top controversial new old
[–] [email protected] 21 points 1 year ago

I have seen native versions tank as the default distro setups change over the years. As weird as it sounds it feels more reliable to use the windows version under proton/wine. Often game modding communities stick to the windows version.

Once M$ inevitably introduces Windows Cloud with subscriptions and the lowest tier being ad supported with anti-adblock and a registration fee, then Linux will become the preferred experience native or otherwise.

For the time being though wine and proton are good enough. I have been doing all my gaming on the steam deck and there haven't been any games that make me feel like it's a lesser experience in any way. The few games I have any difficulty running tend to be shitty games with micro transactions and kernel anticheat that doesn't even prevent cheaters. Several can be made to work anyways. You can even install poorly made games and mods using the case folding toggle in ext4 that steam deck does have access to.

I am admittedly still waiting for someone to tell me that Wayland incompatibilities are a thing of the past...

[–] [email protected] 17 points 1 year ago* (last edited 1 year ago) (1 children)

Here's a potentially unpopular opinion... Games that target the Proton API are actually native Linux games. Proton isn't virtualization or emulation, it's just an API that happens to be mostly compatible on both Windows and Linux. Other than the kernel itself, Linux has never had one true API to do anything... there's always more than one option to target (as you note with your Wayland/x11 example, but also pulse, alsa, pipewire, the list is endless). Proton is an API that's available on Linux, and programs that target the Proton API are Linux programs in every way that matters.

The question isn't native vs proton. The question is whether proton is a good API. At the moment, it's an API that offers pretty good cross platform compatibility with windows, which is hugely valuable to developers and they're using Proton for that reason and even testing against it. That's good for us as users and for gaming on Linux.

If Windows evolves their versions of the proton APIs in ways that break compatibility and are difficult to fix, we may find that game devs complain on our behalf to avoid breaking their Linux builds. If Proton begins to suck compared to alternatives, and enough people are playing games on Linux with Proton, devs will organically start to look at other porting options more seriously. But Proton is both a way to kickstart the chicken/egg problem, and itself may just actually be a good API to develop Linux games against.

[–] [email protected] 8 points 1 year ago

Philosophically there isn't much difference between a Windows game running in Proton and a native Linux game. Devs that port games to Linux are going to be doing most of the same things Proton is doing anyway. In that sense, Proton is basically just an automatic porting tool that works in real time. And I'd like to say there is still value in native Linux games but... is there? Proton is open source, so devs could (theoretically) just submit changes to it themselves if they want to optimize things or fix bugs. And that could benefit everyone, not just that one game.

[–] [email protected] 12 points 1 year ago

Tbh.. I cant even tell. When it works, it works perfectly. Proton is just that good in my experience

[–] [email protected] 9 points 1 year ago

If it's a closed binary-only game then I really don't care what "runtime" it uses as long as it runs well. Almost all games use their own GUI so they won't be integrating with anything anyway and since they are closed I won't be able to build them from source. It either runs and plays well or it doesn't. Using Wine as the runtime is not that different from a game like Slay the Spire running in a JVM.

So I have no problem with switching stuff over to Wine/Proton if that works better.

[–] [email protected] 7 points 1 year ago

wine/proton is so good at this point and it's getting better day by day. imo there is no need for native games but if some competative games like counter-strike, dota etc. gonna make little bit more performance out of native port then devs should consider native ports too.

[–] [email protected] 7 points 1 year ago

Yeah I'm happy with whatever works and performs best. If that means a proton version that plays nicely in Linux I'm all for it, and if it's a native version that will be supported and/or improve across many years of releases, even better.

I used to be really big on native games but honestly my experience with Proton have been pretty positive

[–] [email protected] 6 points 1 year ago

right now i’d rather devs focus on making proton-friendly games than native linux builds. mirroring your experience, i can think of several native ports that were completely non-functional while proton ran them with no problem.

anecdotally, i’ve personally had some games run better on linux with proton than they did on the same system in native windows. i’m unsure if this is due to regular windows background bloat eating too many resources, or if linux just does a better job of multithreading. average cpu usage per core is very nominal, whereas on windows 1 or 2 cores are frequently seeing spikes in the 80-90% when i’m just browsing.

[–] [email protected] 6 points 1 year ago

I don't think native Linux games are necessary anymore. It's the antycheat stuff that is the hurdle for now... not technical of course... it's political.

[–] [email protected] 5 points 1 year ago

The only native games I've tried are Ark: Survival Evolved, Hollow Knight, Slay the Spire, and Borderlands 2, and they all played flawlessly.

[–] [email protected] 5 points 1 year ago

I started to look at wine/Proton as just another linux runtime. At least now game devs have sth (mostly) stable and backwards compatible that they can target. It is really important since in Linux world, things are much more prone to experience breaking changes. Also the fact that game devs just need to develop one version for both Linux and Windows makes it super easy to target proton - you even don't need to have a separate build process. Hence we get a more 'refined' version than just half-assed port made by a small team or third-party.

So I'm quite happy with how things are now. It just shows how flexible and capable Linux really is. And who knows maybe in the distant utopian future, Linux (or sth based on it similar to chomebooks, but maybe not as gimped) will pick up market and we will have much more "native" runtime.

[–] [email protected] 4 points 1 year ago (1 children)

Proton is great but it has killed native ports.

At the same time some native ports are old enough to not work as well as proton (XCOM EU) so this might be better? Mixed feelings.

[–] [email protected] 1 points 1 year ago (1 children)

@Hextic @atmur With Proton we really don't need native ports though

[–] [email protected] 3 points 1 year ago (3 children)

@toallpointswest @Hextic @atmur

A good well supported native port will always be better than #proton or #wine.

If you don't believe me just compare with a game like #factorio in the late game.

This is a bit of a cherry picked example, however, as resource usage for a game like that matters a lot more in late game.

[–] [email protected] 2 points 1 year ago (1 children)

@zbecker @toallpointswest @Hextic @atmur i was surprised how well Factorio plays on the steam deck at end game. Really didn't think proton would handle it

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

@zigdon @toallpointswest @Hextic @atmur

Factorio is a native linux game. Are you manually selecting proton?

[–] [email protected] 1 points 1 year ago
[–] [email protected] 1 points 1 year ago

But a lot time they weren't good native ports, at least for AAA games. A lot of the time they slapped a translation layer on the Windows version, so it may end up running better in Proton.

[–] [email protected] 0 points 1 year ago (1 children)

@zbecker @Hextic @atmur define "better"?

Performance? Yes
But in terms of having a diverse ecosystem of games? Proton wins that one handedly

[–] [email protected] 2 points 1 year ago

@toallpointswest @Hextic @atmur

I am not arguing to get rid of proton.

My point is that proton is a stop-gap measure.

[–] [email protected] 4 points 1 year ago (1 children)

Team Fortress 2 runs sweet native linux just got an udate too ;) The steam deck accelerated the development of proton so much, if they released another linux based product it would probably encourage more native games or at least better support with proton.

[–] [email protected] 4 points 1 year ago

The steam deck and proton are game changers. Steam deck makes linux worth some nominal support. Simultaneously, proton means they don't need a full port. All they need to do is not actively break compatibility with proton, which is a lot easier. This lowers the bar drastically for developers.

[–] [email protected] 4 points 1 year ago

I actually experience the opposite, even though native games throwing fits sounds about right.

I have very few native games, the ones I remember atm are Valheim (which I didn't realize was native at first), X3:TC (+ later expansions) and X4:F; the native versions work ~~relatively~~ flawlessly even in Windowed mode with Sway being my WM, so that's something.

[–] [email protected] 3 points 1 year ago (1 children)

At this point, the only way I see a game being native is with it being an AppImage or equivalent. The resources to keep up a Windows flavor along a native port would be wasteful. The only thing I would like to see is companies stop using launchers and kernel based anti-cheat systems.

[–] [email protected] 2 points 1 year ago

That's basically how steam does linux support now. There are different runtimes you can target that get frozen and have long term support. The issue is these namespaces/containers/runtimes only became available in late 2019, and meanwhile proton was getting so good and the Linux marketshare is so small that linux steam runtimes didn't really take off. If Linux market share continues to grow, Valve is ready to support developers building better supported linux native binaries.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

I've had this situation as well with a couple of games. Total War Warhammer 3 can't be played online (or it's not cross-platform, which would be weird) and XCOM 2 didn't handle modding all that well using the native client.

There are a few other games I've attempted but I can't remember all of them.

Graveyard Keeper has a native client but it can't use hardware driven cursors and its display resolution gets out of whack (on ultrawide, admittedly). The game doesn't have native ultrawide support, to be fair, but the scaling at least works correctly using Proton.

Loop Hero has a native Linux version and it works perfectly.

Oh yeah, speaking of Zachtronics, Last Call BBS is native and also works flawlessly.

  1. The versions of games compiled for Linux work about... hmmm... maybe in a 60:40 split? Oftentimes I do find myself almost immediately switching the game's compatibility mode to use Proton on Steam if I have any issues.

  2. I think both Proton and Wine receiving much, much more developer support lately is going to be a net good, longterm. Many developers don't have the "cognitive capacity" or time to dedicate to creating a version that runs on Linux without a compatibility layer. That's especially true for those using game engines that typically have poor support and tooling for Linux in the first place.

This is just a thought, maybe the effort being expended upon Proton/Wine will ultimately lead to solutions for compatibility issues that work without the use of "emulating" (for lack of a better work off the toppa my head) the whole Windows experience, replacing DLLs and whatnot.

  1. I'm more okay with indie devs just relying on Proton, for sure. I don't give a "pass" to large studios that don't at least expend some effort to get the game to build and run on Linux without the use of Proton or other compatibility tools. With that said, I also understand that AAA projects have many hundreds, possibly a thousand people or more, having some part in the development process. It's not reasonable to assume that every person working on the game can have knowledge of or maintain that every aspect of their work is compatible with both Windows and Linux.

I prolly have more to day but my thumbs are tired lol.

[–] [email protected] 3 points 1 year ago

I always try the native version first if a game has one (old "native" ports using Wine don't count) and only use Proton if it has serious problems. I want to see more Linux native games, and so I go out of my way to play them in their native version. There are some games that I own where the native version is clearly inferior to Proton, but for most it's equal, or only slightly worse at best (I mean "Pillars of Eternity not having cloak physics in native version" level worse).

[–] [email protected] 3 points 1 year ago
  1. It could have consequences should something happen to Valve. In many cases the linux ports of yesteryear were inferior, anyway.

  2. Better to have the game at all. And it is understandable that they don't want to put in a bunch of extra work given they can't just pay a department's worth of people to handle it for them.

[–] [email protected] 2 points 1 year ago

Compiling Vulcan shaders

[–] [email protected] 2 points 1 year ago (1 children)

Not sure if one of those is native but they run like native: Played a lot of transport fever, soldat 2, some csgo and northgard via steam recently and it's like on windows

[–] [email protected] 1 points 1 year ago

CSGO and Northgard both have native clients; I think Northgard's native client has an issue where you can't use the Steam overlay in-game, but I believe that's some sort of OpenGL glitch. Otherwise they're both pretty flawless.

[–] [email protected] 2 points 1 year ago

From my experience only BallisticNG has great linux native.

[–] [email protected] 1 points 1 year ago

Another native Linux game, beyond all reason.

[–] [email protected] 1 points 1 year ago
  1. Linux native for me was always somewhat problematic in the past. Frankly if someone tells you otherwise they're lying. Proton makes the process simple, click install and play, that's it, and that's all any consumer needs to do.
  2. The only long term consequence I can see is if Microsoft decides to make using compatibility layers for their SDK's intentionally difficult or downright illegal. Valve so far has proven as long as they can do it, they'll update proton to make games work. The question is will someone pick up the torch if valve eventually stops?
  3. I treat them the same, doesn't matter to me as proton really is performance parity with Windows and that's really the baseline.
  4. Until porting natively is just as easy as using proton, no one will port natively. At this point who cares? Native and proton to me are the same at this point.
[–] [email protected] -1 points 1 year ago

I tend to avoid linux native, although i do give it a go when possible to see if it doesn't suck(which it usually does.)

Usually you get a much more uniform and smooth experience with wine or proton. Which makes sense given how there are a ridiculous amount of distros out there.

load more comments
view more: next ›