There are a few ways to mitigate the library issue on Linux:
- Package the libraries with your executable and use a loader shell script that sets LD_LIBRARY_PATH accordingly. This is the method used by Ren'Py.
- Speaking of: if your game is in Python, you can use Nuitka or PyInstaller to make a stand-alone directory you can zip up and distribute.
- Failing that, use a language that builds all it can statically into the executable. Go, D and Nim are like that. Edit: I think so is Rust.
- Actually you can do that with C / C++ too, but it's tricky and some distributions (*cough* Debian *cough*) hate static libraries.
- Worst case, use a slightly older Linux to build, and let players know they're going to need SDL2 or whatever installed. They're probably going to have it anyway, and it's no different from telling Windows users to install the latest DirectX.
So, we don't exactly have rules about it because there aren't any, but maybe some of these ideas will help you.