Feature Request: Generic Dependency Catcher
If the situation with missing dependencies remain how it is now, most if not all game developers will end up packaging libraries that most users already have in order to cover fringe cases.
It would be beneficial if there was a generic catch-all for missing dependencies in the steam client and the games launched from it. When a game dies due to missing dependencies steam could give the user a message like xx game died due to missing libyy.so. That would give users something to throw in the browser and find the distro-specific help they need. As long as it is a unique message, then the users will take care of themselves. This is intended to be a fail-over mechanism for all distros your team does not intend to directly support. As far as I can tell LD_DEBUG=libs contains all libraries that failed to load.
I would also like to request a small public api to go with the dependency catcher, so that the developers for their individual distros can resolve missing dependencies to their package managers without additional effort by Valve staff. An alternative is to pass the missing dependency to a glue script that is called with the dialog and allow the distro devs to adapt the script to their package manager.
Your team has been pro-actively addressing dependencies and this a retroactive approach for all the unforeseen cases. Also, this allows for steam to be properly integrated into unsupported distros and means that every game developer does not need to make their own dependency checker and the look and feel is unified across the steam platform.
The end goal of this feature request is to reduce the amount of repeated effort by Valve staff and allow the community to support steam in this matter.
Note for Valve: this idea has already been submitted via email, I am posting it to the forum for community review and feedback.
Since I sent that email, I have thought of some more details to add.
First, the API or script should be able to return pass/fail/relaunch to the steam client upon completion, with relaunch containing no additional information, so that there is chance of a future input vulnerability.
Second, this same interface could be used proactively, by having the applications report their dependency needs to steam, the steam client could test for the presence of the library, then pass a list of libraries to the adaptor script.
Third, there may be a need for an optional field per dependency when there is 32-bit only library required (example: libpci.so.3,32) so that the script can translate it to the appropreate package.
As mentioned before, this is a fail-over solution for the steam client to work ideally on distros that steam does not intend to directly manage. The adaptor program or script should be part of their package manager and should not have need any logic to select the correct package manager. In other words, it needs to be part of the steam installer package, not part of the mainstream steam update method.