3 ms·
It's not hard to hate Linux (Desktop) when you develop proprietary software since Linux seems to go out of its way to make it as difficult to deploy proprietary
by AnIdiotOnTheNet 7y ago
It's not hard to hate Linux (Desktop) when you develop proprietary software since Linux seems to go out of its way to make it as difficult to deploy proprietary software as it possibly can [0]. Libraries are constantly changing underneath you in incompatible ways, there are several hundred "distributions" to deal with, etc.
[0] And frankly it is only slightly easier if you write FOSS software.
- mschuster91 7y agoMany of these distributions, at least the popular ones, are nothing more than forks of Debian, Ubuntu and RHEL/SuSE. And most (not all) people who would want to game on a Linux system use Ubuntu as it's by far the most painless thing to get going. Base yourself off of the latest Ubuntu LTS, compile your project statically as far as possible and you're probably good to go, containers can be used to get your project running on other distros if needed. If you're using any engine even better, all of the major ones are cross-platform anyway and abstract all the nastiness away.
- nwallin 7y agoTarget the steam runtime. All popular distros will either support it out of the box or have an overlay to do it. And it doesn't change very often. Open source is a million times easier. Your source is available. It's up to the distro's maintainer of your package to deal with compiling and binary compatibility. https://github.com/ValveSoftware/steam-runtime https://github.com/ValveSoftware/steam-runtime
- AnIdiotOnTheNet 7y ago> It's up to the distro's maintainer of your package to deal with compiling and binary compatibility. That's bullshit though. Why would you trust some random community maintainer to get between you and the user? Now when shit goes wrong there's one more person in the loop of blame to deal with. There are famous incidents of maintainers introducing problems to otherwise correct software, and ignoring the developer. "I am constantly getting email from users reporting bugs that have been fixed for literally years who have no idea that the software they are running is years out of date." -jwz How is this considered a sane way to distribute software!?
- beatgammit 7y agoThe way developers solve this on Windows works on Linux: ship the libraries you need with your application. Steam does this and it works pretty well. Even if you don't, the Linux community will do most of the debugging for you and submit fairly detailed bugs (failed on platform X with error Y, workaround Z produces different error), so all you need to do is interact with the community periodically, fixing the easy issues to keep people happy. For FOSS projects, everything gets easier once you get it accepted in the package repositories, and if your project is popular enough, you can usually get someone else to do it for you. In both cases, using a language that has a cross platform dependency manager eliminates a huge number of compatibility problems. Also, keeping libraries reasonably up to date also helps prevent problems from happening. Updating every two years should be sufficient to maintain compatibility with most Linux distributions. Also, software vendors don't have to worry about every Linux distribution, just pick the top one or two and let users support the rest for you.