5 ms·
Because if you start to support Linux you actually have to support all the major distribution (Debian, Arch, Ubuntu, Fedora, etc.) with their different idiosync
by luch 6y ago
Because if you start to support Linux you actually have to support all the major distribution (Debian, Arch, Ubuntu, Fedora, etc.) with their different idiosyncrasies, package format, libc implementations and/or version, etc.
Basically your testing coverage explodes exponentially. That's why in a former gig the team I was part of decided to go from Linux to only Windows since it way easier to test only for ~3 majors OS versions.
- moviuro 6y ago> Because if you start to support Linux you actually have to support all the major distribution (Debian, Arch, Ubuntu, Fedora, etc.) with their different idiosyncrasies, package format, libc implementations and/or version, etc. Feral and Paradox for instance only support one (1) distribution. If you fall outside that, you're on your own for support, but you get runnable binaries.
- coldpie 6y ago"Sorry the game doesn't work, we don't support your distro" is a really crummy thing to have to say to your customers. Fact is Linux doesn't have a stable ABI that you can build your game against (no, the Steam Runtime doesn't solve this problem). The only stable ABI that is supported on Linux is... win32 via Wine.
- moviuro 6y agoI've had some serious crashes with Feral games (see [0]), but other games have been working really well (Risk of Rain 1, Factorio, Stellaris). [0] https://github.com/flathub/com.valvesoftware.Steam/pull/646 https://github.com/flathub/com.valvesoftware.Steam/pull/646 ; yes, LOCALE_* env variables make games crash; also, yes, Feral has been totally unhelpful.
- account42 6y agoBetter than "Sorry the game is not available for your platform." Linux does have a stable ABI. The kernel ABI is stable. The glibc ABI is stable. The OpenGL ABI is stable. The Xlib ABI is stable. What you can't do is link with a random libpng or whatever that you found on your system and then expect that to work for others. But that's the same on Windows.
- coldpie 6y agoNo, Windows provides a stable ABI for decoding PNG images, it's called the Windows Imaging Components library[1]. I don't think it's sustainable to expect every application to ship effectively an entire distro to provide stability. Consider if my app shipped an old version of gnutls, would you be happy to use that? Should it be my responsibility to update it for eternity? With win32, on both Windows and Linux via Wine, you can just use the win32 bcrypt library and assume the underlying implementation is secure and up to date. Win32 is the only solution for a usable, stable, application-level ABI on Linux. I don't like that fact either. [1] See CLSID_WICPngDecoder here, https://docs.microsoft.com/en-us/windows/win32/api/wincodec/nn-wincodec-iwicbitmapdecoder https://docs.microsoft.com/en-us/windows/win32/api/wincodec/...
- chme 6y agoIsn't that the reason flatpaks or snaps exists?
- dastx 6y agoI disagree. Steam officially supported only Ubuntu for the longest time. I'm not sure if they still do that, but this is a possibility.
- blaser-waffle 6y agoSteam is supported on Ubuntu and Fedora. That gives it .deb and rpm coverage, enough for the rest of the downstream distros to make it work. Anecdotally I've had great success with it on Fedora and Linux Mint (Mint being a spin-off of Ubunutu).
- account42 6y ago> That gives it .deb and rpm coverage Package formats are mostly irrelevant for Steam. The only thing that is packaged is a tiny bootstrap script with the proper dependencies to make sure you have stuff like 32-bit system libraries installed. You don't even need to use that.
- foxhill 6y agouh, gonna disagree respectfully on that one. you can buy an expensive GPU from nvidia that technically supports linux, for some values of "supports". > Basically your testing coverage explodes exponentially. well.. not really? i guess it's the difference between unit & integration testing. all i'm trying to say is that if you need to test out 50 different hardware & software configurations to feel confident that some character interaction happens in some obscure part of the game.. that's obviously untenable :) in any case, i expect the linux crowd are far more likely to grapple any with issues that may arise, than the windows lot.
- gens 6y ago> Because if you start to support Linux you actually have to support all the major distribution (Debian, Arch, Ubuntu, Fedora, etc.) with their different idiosyncrasies, package format, libc implementations and/or version, etc. That is plain wrong. I don't know who started with that line of reasoning, but it is very wrong. The only good reason for not supporting linux are the drivers. And they will change more with time then with distro. And no, solution is not flatsnaps. If there even is a problem, the solution is much simpler.
- zinekeller 6y ago> That is plain wrong. I don't know who started with that line of reasoning, but it is very wrong. Looks at old Linux binaries not running because of glibc incompatibility or dependency version mismatch. There is a mountainful of valid complaints for Microsoft, but SXS is one of those "its the least worst but realistic solution" to dependency hell. Someone saying that they are running old Linux libraries (without recompiling or patching) are either lucky to not use dependencies (usually terminal-based programs) or plainly lying.
- gens 6y agoDid you ever wonder why some programs work and some don't ? Luck does not have much to do with it. I have some games that were made many versions of glibc ago, and they still work. Why is that ? (that is a rhetorical question)
- zinekeller 6y ago> Did you ever wonder why some programs work and some don't ? Not really. (Also older games can also stop running on Windows. It's not really Microsoft's problem except in the XP to Vista transition where several APIs were emulated but in general games (on any platform including consoles) tend to poke everything and use APIs they shouldn't touch at all.)
- kaba0 6y agoBut there is now an actual solution to dependency hell: nix and guix deterministic build tools. Though I agree with you that binary compatibility itself is/was not that stable on linux as it was on windows.
- proverbialbunny 6y agoThat's sad, but you'd think the business would see the Linux user base is skilled enough to handle this. If you say you only support X and put a warning on other distros, you're basically employing the community to get it working properly on other distros for you. Some companies do this and it seems to work just fine.
- deleted 6y ago[deleted]