ValveSoftware / steam-runtime

A runtime environment for Steam applications
Other
1.18k stars 86 forks source link

libnss_* not found if the host system relies on LD_LIBRARY_PATH to find them #632

Closed smcv closed 8 months ago

smcv commented 10 months ago

Your system information

Please describe your issue in as much detail as possible:

Originally part of https://github.com/ValveSoftware/Dota-2/issues/2390#issuecomment-1675592137.

@sylware reports:

There you can see that my LD_LIBRARY_PATH is properly parsed to find libidn2... but not for the following libnss libs??

Reading between the lines, I think that perhaps the issue that @sylware meant is something like this:

If that guess is correct, then there are two possible solutions:

Steps for reproducing this issue:

(None were provided)

smcv commented 10 months ago

and/or, in pressure-vessel, tell libcapsule to look up soname:libnss_files.so.2 and not just soname-match:libnss_files.so.*

I have a prototype of this, which I'll try when time permits.

smcv commented 10 months ago

It looks as though any slowdown from this is too small to measure (within measurement variation) so addressing this in pressure-vessel seems viable.

smcv commented 10 months ago

@sylware, please try replacing SteamLinuxRuntime_sniper/pressure-vessel with the result of unpacking this: https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/jobs/378173/artifacts/raw/_build/production/pressure-vessel-bin+src.tar.gz

That should hopefully result in libnss_files.so.2 (and similar plugins) being found and loaded into the container.

sylware commented 10 months ago

tested and working:

the container alsa-lib is not able to get the audio group id and set up its IPC access right properly.

sylware commented 10 months ago

doh, I meant "is able" to get the gid of the audio group ofc.

Thx.

smcv commented 10 months ago

Thanks, the change mentioned above is in the review queue for a future release.

smcv commented 9 months ago

Fixed in today's beta updates for "Steam Linux Runtime 3.0 (sniper)" and "Steam Linux Runtime 2.0 (soldier)", versioned as 0.20231211.x. Using the beta updates is the same as using the beta branch of a game, but instead of changing the properties of the game, change the properties of the various "Steam Linux Runtime" compatibility tools instead.

The client_beta branch is normally intended to be used with the beta Steam client, but at the moment I believe it should be equally compatible with the general availability (non-beta) client.

These versions will be copied to the default (non-beta) branch when they have had more testing, most likely sometime in January.

smcv commented 8 months ago

These versions will be copied to the default (non-beta) branch when they have had more testing, most likely sometime in January.

Done in today's default branch updates for sniper and soldier, versioned 0.20231211.x.