← Back to context

Comment by arka2147483647

10 hours ago

> Proton represents Valve's failure to make Linux gaming attractive to game studios.

> Not even those that have Android/Linux NDK builds, bother with porting to GNU/Linux.

It is a huge hassle to make a new build to a new platform. You double build system, release management, and testing. Compared to just one plat. Games are complicated, and testing all the dynamic behaviour is also complicated.

Making just a Win32 build really saves resources.

Also Win32 has been a stable api for a long time. Linux apis tend to change, and old games don't get re-built. The win32 build is therefore also provably a lot more long lived, compered to anything you build on linux.

Thats also important because of the Dont Kill Games effort and so on.

That reasoning fails flat given the same studios have no issues supporting iOS, PlayStation, Swift and XBox, which are completely alien to what is used on Android NDK, APIs that are GNU/Linux compatible for 3D rendering, audio and asset loading.

Valve basically failed to provide the business value for those studios.

  • > Valve basically failed to provide the business value for those studios.

    For a studio selling their games via Steam, there is no benefit in making a Linux build.

    Their clients still need Steam to run it, and there's no practical different between Steam creating a container with a dedicate Linux userspace or with a dedicated Proton setup.

    The audience that REALLY cares whether the game is Linux-native or not is likely the audience that wouldn't want to use Steam.

    • Steam isn't the only store in town.

      Actually, Valve could do an Apple and require native ports.

      Using Proton to run Windows games is no different of using MAME, UAE,...

  • > given the same studios have no issues supporting iOS, PlayStation, Swift and XBox

    PlayStation and Xbox don't go and cause you constant churn, at least not in the same console generation, and maintenance churn on iOS is only bearable for app developers because there are so many people using it that you can afford to pay the extra effort.

Microsoft releases new APIs too, but no one uses them, especially not games.

  • XDK, GDK and Agility SDK are also part of API updates.

    • And Unreal Engine 5 needs the Agility SDK, creating problems where games wouldn't run if your Windows version wasn't new enough. (Same as the typically encountered glibc problem of the user having an older version than the build needs, really.) (I think most of those particular issues were "solved" now with Win10 being EOL and so the developers just rub their hands of it and say "upgrade". Or use Linux and Steam, where no thanks to MS or the gamedevs themselves, games old and new can just work.) Dependency hell comes for everyone, win32 may be stable but the broader ecosystem for Windows is little better than anything else. I say little because at least MS does still commit to a lot of backwards compatibility and ensuring some very old DLLs are still part of new Windows 11 installs.