base
base copied to clipboard
SDL dependencies are too hard to install
There was a discussion on this on IRC the other day, predicated by the observation that the vast majority of unique visitors to the Github site (https://github.com/red-eclipse/base/graphs/traffic) was directed at #634, because apparently people are having trouble installing the required SDL dependencies. While the response to #634 is correct and adequate to get the game running, it would be better if this wasn't an issue in the first place.
While the AppImage seems to be a valid solution, it appears that many people are still downloading the standard version (perhaps they are not willing to download because the AppImage format is not particularly widespread?).
Ways to automagically get SDL to be available with the game include:
- Bundling the required SDL libraries with the game
- Adding to the updater script a routine to prompt the installation of dependencies via the OS's native package manager (Steam does this)
Bundling the SDL libs has the advantage of allowing the game to manually pick the version of SDL that comes with the game (which would allow avoiding problematic releases such as 2.0.6 which broke audio, which may yet be in some package manager repositories). 32 and 64 bit SDL libs would have to be included if 32/64 bit releases are to continue.
The updater routine is probably more compatible with a large number of different systems, since all that needs to be supported is the various package managers' commands for the relevant libraries. Additionally, other dependencies, like libpng
, git
, curl
, etc. can be taken care of this way.
One problem with the package manager approach is that there are a ton of different ones. Apt, Pacman, Nix, Yum, and Portage may be a good start, but we still could miss some. What should we do for OSs that we don't know about?
I suppose it could just not install the dependencies and then print out the names of the missing libraries.
I would expect that getting just apt support would do 90% of the job, since the more esoteric the distro gets, the less likely that the user is unable to deal with relatively simple issues like the dependencies required.
So long as we have a couple of the major distributions covered, like Debian/Ubuntu, Fedora, etc, we can otherwise just punt and tell the user to go find and install the libraries if it is not a covered distribution.