3 ms·
"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 t
by 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/...