This is especially true once the game gets older and less supported. The native Linux libraries might move on over time and the version you require might become unavailable or broken in some way but once a game works on Wine it will likely continue working forever unless you make some change to break it.
These days when it comes to my Steam library I am less worried about the Proton[1] games than the native ones and there have been several cases where I opted to run the Proton version because it worked better than native.
[1] Proton is the version of Wine Steam uses
Herein lies the problem, because Linux has absolutely no distinction between "system" and "application". Everything is part of the system.
You mean, "the game's package has libsdl2 listed as a requirement"? Or "if you install the game without libsdl2 present, it will install, but will crash on launch"?
> However, if you bundle LibSDL2 with your app, you’re now directly dependent on things like X11 and ALSA.
Well, either those are present and the game will work, or you've tried to install the game on a headless server and surely you don't expect to miraculously just work?
Are you some kind of malevolent genie? Trying to figure out the worst possible user experience that corresponds to the words I wrote?
> Well, either those are present and the game will work, or you've tried to install the game on a headless server and surely you don't expect to miraculously just work?
The assumption here is that the only two options are either “X11+ALSA” or “headless”, and I don’t agree with that assumption. SDL2 on Linux has two video drivers and five audio drivers. Fact is, I can run horribly old Linux software that uses SDL for audio and it works fine, but old software that uses OSS or /dev/dsp is not going to work. With Wayland, I think it's not unreasonable to prefer a dependency on SDL over a direct dependency on X11.
Yes, that's a valid point actually. But ultimately it's a bet on what API will end up more durable: X11 or SDL2, isn't it?
One of the other factors here is that the ability to play old games is in some sense about the preservation of culture. If you have an x64 Linux binary that uses SDL + OpenGL, I have a strong feeling that you’ll be able to play it 20 years from now, although it might inconvenient to get working.
For example, it is fairly reasonable to require LibSDL2 to be installed. However, if you bundle LibSDL2 with your app, you’re now directly dependent on things like X11 and ALSA.