12 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 idiosy
by 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/...