I’m asking because I just bought Cronos: The New Dawn on Steam because it has a native Linux port. To be fair, I would have bought it at some point anyway but I got excited when I saw it had a Linux port. The game is missing features that the Windows version has, It runs horribly at any setting other than very low. I think they only bothered testing for the SteamDeck. But if that’s the case, why does it support FSR 4.0? To be fair, the Windows version doesn’t run amazing either if you enable ray tracing but it still performs way better than the Linux port. Why do devs keep doing this? I’ve bought many Linux games that have problems that the Windows versions don’t have. Why even make a port if you’re not going to bother testing or optimizing it?

  • rtxn@lemmy.world
    link
    fedilink
    English
    arrow-up
    31
    ·
    edit-2
    9 hours ago

    From the sole developer responsible for Factorio’s Linux-native port: https://www.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.

    Many developers will take one look at the Windows market share and decide that it is not worth the trouble to support other platforms. Also, with the meteoric rise of the Steam Deck and Proton, it is easier than ever for game developers to ignore Linux support because Valve does some black magic that lets their game run anyway.

    The list of Linux-first games is so short it’s not even a factor. It’s very difficult to justify the additional effort of implementing a platform that serves exclusively the playerbase with a ~3% market share, especially when a different method exists to serve that same playerbase that works just as well and also serves the 90%+ with no additional effort.

    The article I linked also contains an explanation as to why GNOME’s decision to drop server-side decorations is fucking stupid.

    • BananaTrifleViolin@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      9 hours ago

      Also separate from my long response, thanks for sharing that link. Very interesting read and the GNOME window decoration issue is rediculous.

      For me, I’m sorry to say, GNOME is the epitome of asshole design. This one of many examples of its rigid design philosophy having negative consequences for users and devs. And devs are protecting GNOME from its own users bad experiences because the user blames the game for not conforming, not the DE for being rediculous.

      • imecth@fedia.io
        link
        fedilink
        arrow-up
        1
        ·
        41 minutes ago

        It’s a none issue these days because toolkits and engines are gonna implement their own decorations anyways and for everyone else there’s libdecor.

      • Lemminary@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        8 hours ago

        It really does feel like Linux desktop environments like GNOME and Cinnamon got stuck in 2009 and never evolved past that. Even the community feels reluctant to adopt tried-and-true design elements of modern desktop environments, like removing the title bar so users can take advantage of that extra space at the top. “Wouldn’t that cause issues?” Uh, no? It never has. It’s time to innovate, please.

          • Lemminary@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            28 minutes ago

            No, I wouldn’t know that because it’s not implemented and I don’t have a distro installed that uses it anymore.

            • imecth@fedia.io
              link
              fedilink
              arrow-up
              1
              ·
              8 minutes ago

              We’re not talking about the same thing. GNOME did get rid of titlebars, most core applications use sidebars and the rest use headerbars - which are better integrated titlebars. I suggest reading the article.

    • BananaTrifleViolin@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      9 hours ago

      Worth saying the 3% market share is very new, and previously the share has been way way below this. At 3% that is millions of users but even that is hard to justify a linux release; many games dont even get MacOS versions even now and it has higher desktop share.

      The other problem for linux is version control - libraries are different across distros of different ages, and also constantly update. If you build software on a dependency and it changes in a few years, your game may break. As bad as windows is, when games are distributed a lot of the dependencies are distributed with the game as DLLs and installers for Microsoft tools. But for linux you previously could not guarentee the same version of the same dependency will be available on two distros still actively supported.

      It can be surprisingly hard to get old Linux software to run on new Linux distros. People are not generally aware of this as generally its old windows and dos games that people try to get working (so wine or dosbox are used), not old Linux software like Open Office from 2005 or an old version of Firefox. Most linux software continually evolves or its niche and just stops working (unless youre willing to go back and compile from source, and that can get nightmarish if it doesnt compile)

      Proton is part of the solution but developing “for” proton is not efficient long term. It is great for enabling windows games to work on linux, but linux native games would be more optimal. We’re just lucky we’re now in a time where there is a lot of CPU and GPU resource available to support the overhead and windows is also so bloated making linux + proton comparatively better.

      I suspect Flatpak may be another part of the solution - Flatpak can essentially be a way of ensuring a game can have a fixed set of dependencies which install on any Linux and should just work. Its not that far off the windows model of packaging DLLs, but is much cleaner and contained.

      Nix is another potential approach to this.

      But developing for Linux wouldn’t take off until the market share is substantially higher. The SteamDeck and tge rumours Steam console may help with that, but for now I think devs relying on Proton makes sense.

      • rtxn@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        8 hours ago

        The market share is never a precise number because not everybody is asked to do the hardware survey, and not everybody who is asked does. But the Linux userbase is small enough that “~3%” is in the ballpark.

        Version control of dependencies is not as difficult as it seems. Unix systems can easily implement bundled dependencies like Windows does, even without sandboxed or monolithic packaging formats. The important thing is to tell the dynamic linker (ld.so in Linux’s case) where to look for the library files, similar to how PATH is used to locate executables. This is similar to how containerization works to a lesser extent, and the Steam client actually does this by loading its own .so files from ~/.local/share/Steam/.... I’m sure there are additional challenges, my knowledge is superficial and approximate at best.

        But the point still stands: in most cases, Linux-native ports are simply not worth the effort, either because of limited resources in small teams, or because of profits in large studios. BG3 and Factorio are definite outliers.

    • OR3X@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 hours ago

      This is the exact thing I was telling people when proton came out. Sure it’s great that we can pay Windows games on Linux now but it’s just creating a new problem where developers literally have NO REASON to create native Linux ports. Plus, while proton is great, it’s not perfect. If a game doesn’t work correctly through proton the developer aren’t likely to care that much so fixing it will fall to Valve or the community. I’ve also heard of games getting updates which break or degrade proton compatibility. The developer isn’t likely to care about that situation either.