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
    12
    ·
    edit-2
    10 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
      ·
      8 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
        ·
        5 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
          ·
          4 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
            3 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
        ·
        5 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.

  • WormFood@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 hours ago

    I had to discontinue Linux builds of my game on Steam because the game engine I’m using has a very buggy and unfinished Linux runtime. I’m not happy about it because I wanted native support, but ironically proton is a better user expertise

  • Pirate2377@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 hours ago

    Usually its the developers neglecting their Linux port rather than it being Linux itself that is at fault unfortunately. So, unless its a Paradox game or Valve game, I would suggest running it through Proton anyway

  • daniskarma@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    7
    ·
    16 hours ago

    Linux has a fundamental problem with native builds of closed source applications.

    This is lack of true retro compatibility.

    On windows you can still run software made for windows XP with more or less issues. But windows api are more stable and it does have retro compatibility tools built in.

    Linux does not, once in a while the OS APIs change, and any software not patched for those changes might stop working completely.

    I have been thinking for a while. That it would be great if some sort of “linux retro compatibility” tool existed.

    Similar to launching a program in windows with “window 7 compatibility” to be able to launch linux apps woth “Kernel 4 compatibility” or something like that.

    • Flipper@feddit.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 hours ago

      One thing Torvalds enforces is not breaking userland. So it shouldn’t be kernel problems. More likely its some other lib that breaks compatibility.

    • forestbeasts@pawb.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 hours ago

      The Steam Linux Runtime is basically this! It’s a bunch of fixed versions of OS libraries that games can use.

      The kernel itself actually needs nothing special, because the kernel devs are VERY serious about backwards compatibility. One of their core rules is “you do NOT break userspace”. Library devs… not so much.

      – Frost

  • wizzim@infosec.pub
    link
    fedilink
    English
    arrow-up
    3
    ·
    16 hours ago

    To some extent, I have the same issue with choosing Gog over Steam. I really want to support Gog, because it’s DRM free and European. However, it can happen that the games released on it are lacking patches, achievement or DLCs. For instance look at the commentary of Thief simulator: https://www.gog.com/en/game/thief_simulator

    Devs support Steam because it’s the top platform, and do the bare minimum for the rest. And I don’t really see a solution for that.

    Other examples: Hitman World of assassination on Epic has less achievements than the Steam version. Hardspace Shipbreaker achievements are broken on Epic and functional on Steam.

  • madthumbs@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    19 hours ago

    Proton isn’t solving those problems. What you’re experiencing is Valve quietly patching, shimming, overriding and replacing broken Linux code for Steam. (Not ‘helping’ Linux: they’re helping themselves)

    It’s a disservice to Windows users to also charge them 30% when they bend over backwards coddling Linux gamers who are more likely to complain, review bomb, and pirate. -But they make it up in the word-of-mouth sales (the vocal minority) that saved that Steam Deck from being the total disaster it should’ve been.

    Valve is helping to destroy native Linux gaming, and the relationship they have with the Linux evangelists is fragile.

  • brucethemoose@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    1 day ago

    Let’s say most devs abandon native Linux and basically everything moves to Proton. Game devs start testing on it, then targeting it. Windows as a gaming platform withers away.

    A Windows API, on Linux, is now the stable gaming API. It sets the standard.


    …I’m content with that future.

    I mean, the irony would be delicious. What better way to dance on MS’s grave than rob their API?

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

      Step one of ‘what engine am I going to develop on?’

      Does it natively support Vulkan?

      Step two:

      Can I build the engine from source, on my debian/fedora based distro, in under 30 minutes, without having to discover that the documentation for how to do this is wrong?

      If the answers to either of those are ‘No’, gtfo here.

    • madthumbs@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      18 hours ago

      Without Windows you wouldn’t have Windows gaming. The Linux Kernel is unfavorable to game developers because of its instabilities (ABI/API) -and that’s not counting all the fragmentation after the fact. Linux users are cheap (more likely to pirate), more likely to cheat in online games, more likely to review bomb over stupid things, and more likely to demand refunds. -They don’t even develop for Mac ffs, and they have far more market share than Linux. Developers would migrate fully to consoles and full stack devices (like phones, Haiku, Mac, iPhone).

      Windows market share will decline because normal people are moving to devices. A smart phone is far safer to do banking on, especially compared to Linux. The change in % (if real) will simply be a decline in Windows, not an increase in Desktop Linux adoption.

      • alfredon996@feddit.it
        link
        fedilink
        English
        arrow-up
        3
        ·
        13 hours ago

        The Linux Kernel is unfavorable to game developers because of its instabilities (ABI/API)

        The Linux Kernel is very stable in terms of API and even ABI. It’s the rest of the OS components (graphics libraries, sound libraries, etc.) that is problematic

      • brucethemoose@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        15 hours ago

        You’re not wrong about a lot, but I think Linux products, shipped by OEMs, are a pretty good gaming platform.

        And if they target Proton anyway, the fragmentation doesn’t really matter.

        A smartphone, a tablet, a MacBook Neo and such may be “maintenance free” and secure, but they are not great gaming platforms. Not everyone wants to play mobile-style games.

        And this:

        Without Windows you wouldn’t have Windows gaming.

        This is what I’m saying. We could.

        Linux could dominate Windows for that specific use. If it gets true critical mass, the Proton devs would effectively control the direction of API development.

  • Simulation6@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    2
    ·
    22 hours ago

    I had the no sound and bad FPS issue on linux. Turns out the Linux sound was misconfiguration somehow and when I fixed that most of my problems went away.

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

      If it was misconfigured, why do all other apps and Proton have sound with no issue? Do you remember what you changed?

      • Simulation6@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        19 hours ago

        I don’t, unfortunately. One was to configure PULSE_LATENCY_MSEC to 60 I believe. The other was to set some sort of default system sound profile, but I don’t remember what it was called or if that is a Mint Linux only thing.

  • Quazatron@lemmy.world
    link
    fedilink
    English
    arrow-up
    70
    ·
    2 days ago

    I expressed this view before. Wine and Proton are now the Linux Gaming Layer.

    Windows has relatively stable APIs or ABI to serve the third party software and games.

    Linux does not. It is however so incredibly flexible that it can assimilate entire operating systems as interface layers. I think it’s absolutely awesome we are using Microsoft’s DirectX tech combined with Vulkan to run Windows games faster than Windows does.

    It’s been years since I bothered to check if a game I’m buying is Linux compatible or not, because of it isn’t, it will be soon.

  • webpack@ani.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    I feel this… just got the binding of Isaac and my friends and I were trying to download the dlc on my Linux machine, apparently the download button doesn’t do anything until you switch to proton (and it didn’t say why it wasn’t working)

    • Zarobi@aussie.zoneOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 day ago

      I shouldn’t have to do that to play a game. You can’t say “gaming on Linux is accessible and easy now”, and then tell people to static link their dependencies into an executable. That’s a hack job patch, not a solution.

      • chunes@lemmy.world
        link
        fedilink
        English
        arrow-up
        23
        ·
        1 day ago

        That wasn’t blame levied at the user. It was just an observation from the perspective of the developer. For a variety of reasons, distributing software in linux can be very difficult.

          • chunes@lemmy.world
            link
            fedilink
            English
            arrow-up
            8
            ·
            1 day ago

            No worries. I wasn’t the most clear. I do that a lot, where I say “you” when I’m talking about a category of people that I didn’t explicitly specify. Something to work on.

  • Err(()).unwrap()@lemmy.world
    link
    fedilink
    English
    arrow-up
    41
    ·
    edit-2
    2 days ago

    People who downvote because “hurr durr linux best” but have never had to support a cross-platform application should read Raiguard’s experience of maintaining Factorio’s Linux-native build: https://factorio.com/blog/post/fff-408

    “Why don’t most games support macOS and Linux?” is a sentiment I often see echoed across the internet. Supporting a new platform is a lot more than just changing some flags and hitting compile. Windows, macOS, Linux, and the Nintendo Switch all use different compilers, different implementations of the C++ standard library, and have different implementation quirks, bugs, and features. You need to set up CI for the new platform, expand your build system to support the new compiler(s) and architecture(s), and have at least one person on the team that cares enough about the platform to actively maintain it. If you are a video game, you will likely need to add support for another graphics backend (Vulkan or OpenGL) as well, since DirectX is Windows-exclusive.

    I support every solo and small-team developer who prioritizes making the game over maintaining a completely different platform build.

    • MurrayL@lemmy.world
      link
      fedilink
      English
      arrow-up
      29
      ·
      edit-2
      2 days ago

      Supporting a new platform is a lot more than just changing some flags and hitting compile.

      Sadly, based on many comments I’ve seen (across the net at large but also here on Lemmy), a lot of gamers really do think it’s that easy.

      See also: ‘why don’t the devs just add multiplayer?’

      • 4am@lemmy.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        Still get into arguments with Mario Maker 2 players on why multiplayer had to be lockstep sync without “the rollback like fighting games use”

        • Zarobi@aussie.zoneOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 days ago

          I kind of feel like MM2 is designed around playing multiplayer with people next to you rather than on the other side of the planet

    • Zarobi@aussie.zoneOP
      link
      fedilink
      English
      arrow-up
      10
      ·
      2 days ago

      I don’t mind people downvoting. To me that means the games they play don’t have that issues. Maybe I’m just unlucky but I’m also a “variety gamer” so my exposure surface is very high as well

      • Bilb!@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 hours ago

        Well I downvoted you because I don’t like Australians. They keep bullying me on 4chan!

      • thingsiplay@lemmy.ml
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 days ago

        I wouldn’t say just because people downvoted you means they don’t have issues. I for myself don’t have much issues (as far as I know) that can be attributed to Linux builds, and still upvoted you. They might not agree with you fully and that’s why downvote you. In example your statement it didn’t work ever and you always have to use Proton version, but also there are examples of games that worked well. It might be that some games work well and some don’t, I wouldn’t argue against that. But many games work well without Proton.

        Also Proton doesn’t work perfectly fine either, depending on the games. In some cases games might even stop working using newer version of Proton. And for some DRMs like Denuvo, Proton is deadly, because every time the Proton version updates, it counts as a new machine (which counts as a new installation for no reason!) and will get you a cooldown of 24 hours before able to play game again; even for single player games.

        • Zarobi@aussie.zoneOP
          link
          fedilink
          English
          arrow-up
          5
          ·
          edit-2
          2 days ago

          Yeah that’s true as well. Nothing is perfect, I was just sharing my experience because even today I ran into this issue multiple times and got annoyed.

          I noticed people here seem to attribute a lot more meaning to downvotes than other websites, and it’s even a bit taboo to downvote too often. Personally I don’t really think about it that deeply, there’s always people who will disagree with you. Also I noticed hyperbole isn’t appreciated either. Like to me if I read “Linux native is buggy and never works right” that doesn’t mean literally never, it’s more like the emotional never.

          • thingsiplay@lemmy.ml
            link
            fedilink
            English
            arrow-up
            4
            ·
            2 days ago

            There are also people who hate on Proton, because it uses the Windows build and advocate for Linux builds only. They say its bad for Linux, because developers don’t need to understand and care about Linux in the long run anymore. This is not my opinion and I disagree with those statements. So when you say you hate native Linux games, they will downvote you because they disagree with you on that point. As always, there is a truth in all those statements, so I don’t want to discourage anyone for being against Proton.

            One thing I want to mention is, that these games on Steam are for the most part proprietary. So having native builds isn’t as effective as having native Open Source builds. The reason we usually want native is, because we can change and adapt issues with Open Source tools and games. But that is not possible with proprietary games. Therefore having them on Proton isn’t losing much on that front.

            • Zarobi@aussie.zoneOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 days ago

              Yeah that’s a good point. There’s a huge difference between Cities: Skylines and OpenTTD. I feel like those kinds of older style PC games are especially suited to native Linux builds.