This is just a vent post / unpopular opinion (? unsure if unpopular). Specifically on Steam. Linux native builds are so buggy and glitchy and never work right. Always some combination of:

  • No sound
  • Old outdated version missing content and incompatible online
  • Controllers don’t work
  • Crashes, doesn’t launch at all
  • Horrific FPS
  • Cutscenes don’t play
  • Weird game breaking softlocks and logic errors, like critical items not spawning and dialogue not triggering
  • Zero support and low priority from the developer

I have none of these issues with Proton. Proton works perfectly fine, I love it. This only happens when a game doesn’t use Proton. As soon as I change to Proton all issues are resolved. This problem has followed me across distros with fresh installs, so it’s not a config issue. Yes I have the correct drivers and such, NVIDIA proprietary unfortunately. It’s so strange, you’d imagine the native build would run better not worse.

The worst part is, it’s not easy to tell when a game will launch using Linux native as it’s the default priority. Games can even silently update and stop working when they gain Linux native “support”. You have to manually go in to properties and override compatibility to proton. Normally I do this when I notice a suspiciously large amount of bugs and I’m like hmm… oh look it’s Steam Linux Runtime 1.0 again.

I wish there was a way to just force Proton globally. Either that or people actually test and maintain their Linux builds. I’d rather there be no Linux build at all if they’re going to be so terrible.

Edit to add commented example list of games:

I couldn’t get a full list because I was relying on having set a flag forcing a specific version of Proton to identify which games were problematic to jog my memory… Unfortunately this data is local only and was not synced between computers, so it was lost when I changed distro. Just from my limited memory though, I can list some that I distinctly remembered when writing up my post, though it’s many more in reality. It’s also surprisingly hard to see whether a game even has a Linux native version, you usually have to wait for the store page to load and scroll down to compatibility, which is just annoying.

Games that worked well:

  • Factorio
  • Stardew Valley
  • Baba Is You
  • All Valve games (TF2, DotA2, etc)

Games that had issues:

  • 1001 Spikes
  • The Case of the Golden Idol
  • Broforce
  • Spiritfarer: Farewell Edition
  • The Stanley Parable: Ultra Deluxe
  • Cook, Serve, Delicious
  • Valheim
  • A Game About Feeding A Black Hole
  • Audiosurf 2
  • Keep Talking and Nobody Explodes
  • Slay the Princess
  • TIS-100
  • Cassette Beasts
  • Brotato
  • Bit.Trip runner
  • Don’t starve together
  • Unpacking
  • While True: Learn
  • Fez
  • Magicka 2 (controllers not working)
  • One Shot (critical gameplay bug right at the end. Had to watch a let’s play to finish it. I messaged the dev who left me on Read)
  • Just Shapes & Beats (no sound)
  • Tiny Bookshop (no sound)
  • HiveSwap (critical gameplay bug right at the end, and savefile bricked, had to watch a let’s play and the dev ignored me) (I’m not a “fan” I swear, please don’t lynch me)

I’m getting tired and I’m sure you get the point. Almost every game in my experience has been unplayable on Linux runtime. I’m glad it’s working well for you though.

  • sp3ctr4l@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    9 hours ago

    Here, in a nutshell, is my theory for why what you are describing is so common:

    Almost nobody develops a game on Linux, with an engine you can build from source, and use to make the game, on Linux.

    If you do… do that… your Linux native game will probably run fine.

    But! Almost every major game engine you’ve ever heard of, that says it supports Linux, in the sense of you can build/run the game engine itself on Linux?

    They’re full of shit.

    Their engines do not actually work on Linux, half the time you can’t even compile them, they don’t even know half the dependencies they actually have. They throw insane errors all the time, because you’re just alpha testing their attempt at porting their engine to Linux.

    They just say ‘we added Linux support!’ and nobody ever actually tries to verify this, because Linux based game devs are using one of the fairly small number of engines that… actually work on Linux.

    (Hah, or they’re basically just building their own engine, or layering together actually platform agnostic rendering/physics/networking/whatever libraries into basically a custom engine)

    Valve, for example, has figured it out.

    HL2? Linux native build, running on SteamOS?

    Works great.

    Godot? Use GDScript, not C#, build the game on Linux?

    Also works great.

    Most games devs are actually just full of shit when they pretend they understand anything about Linux.

    Maybe check out Road To Vostok if you want to see what one guy can do with Godot and a few years.

    Its not impossible… most games devs just have God Complexes, its just how it is, very rare to find some that are both humble and competent.

    • Zarobi@aussie.zoneOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 hours ago

      This makes sense to me. I tried to run Unity and UE5 once on Linux. Fuck it’s annoying to even get the SDK running. Valve’s games are perfect on Linux and run like a dream, I wish more games were like that, but it has to start at the tooling level.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 hours ago

        Ok, double post, but I may have just answered my own question at the end there:

        https://github.com/Zylann/godot_voxel

        Pro: Seems to actually do what I was trying to do, and then some, holy shit.

        Con: Apparently, the main version of this is basically a rolling fork of Godot, because it needs so much to be done in c++… and… well, that might mean it runs into the exact problem that spawned this whole conversation: reliably reproduceable builds in different OS contexts.

        • Zarobi@aussie.zoneOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 hours ago

          Sorry the only 3d game I ever made was a Doom clone, and it was pretty bad lol. I don’t really know what a voxel even is, I kind of just do things by feel haha.

          I I’ll definitely try out Godot, I kind of just gave up on making any games when I switched to Linux about 7 years ago. It’ll be cool if it works

          • sp3ctr4l@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            2 hours ago

            Godot actually has uh…

            https://github.com/func-godot/func_godot_plugin

            Basically… works to both rip and also create Quake, Quake 2, Half Life 1 maps.

            Its also a pretty extensive framework.

            If you wanna step up a bit from a Doom clone, to a Quake clone… you could do it with this.

            There’s also Godot VMF…

            https://github.com/H2xDev/GodotVMF

            Can actually rip and convert HL2, TF2, L4D… basically Source up to roughly 2013 maps.

            I don’t think its much of a map creator/editor though? I think the idea is you just actually make your map in Hammer, and then basically import it into Godot.

            I managed to … mostly correctly … decompile.or convert or whatever, some maps.from NeoTokyo, an old HL2 mod, so… will probably at least mostly work for HL2 mods?

            It does rely on the actual SourceSDK though, so… probably not ok for commercial use?

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 hours ago

        As far as I can tell, if you want a decent level of tooling…

        I dunno, so far I haven’t been able to find anything more … straightforward but also powerful if you know what you’re doing… combo… than Godot + GECS.

        GECS is a … honestly shockingly well developed entity component system framework for Godot.

        If you wanna do a 2D game, Godot basically already has everything you need, but yeah… 3D isn’t quite there yet, though it is making strides. The recent IK rework does help bridge a major … feature parity gap with more ‘big boy’ engines.

        GECS helps a good deal too, but yeah, its not Source(2) lol.

        I dunno shit why not: Any chance you know of something like a Godot 3d level mapping system based around bsps or octrees or something?

        I know there are voxel frameworks, but… lot of people are looking to make something other than minecraft.

        I’ve been futzing about trying to figure out how to cajole some system of nested 3d gridmaps into a kind of octree system, but with vertices inside of the grid space, and then you’d have the equivalent of a 3d clipmap deciding which chunks of the grid space to render verticies at what level of precision… but i feel like im trying to weave together hyperspace half the time, which hurts my overdeveloped ape brain.