Your system information
- Steam client version : 1778281814
- Distribution (e.g. Ubuntu): Ubuntu 24.04 LTS
- Opted into Steam client beta?: No
- Have you checked for system updates?: Yes
- Steam Logs: n/a
- GPU: NVidia
Please describe your issue in as much detail as possible:
A report from one of our players sent me down this rabbit hole and I think I've chased it as far as I can. We've recently migrated our Linux build to Steam Runtime 4, and a user who is still running Ubuntu 24.04 LTS cannot run our game any more. They get these error messages:
/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libcrypto.so.3: version OPENSSL_3.3.0' not found (required by /lib/x86_64-linux-gnu/libssl.so.3)
/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libcrypto.so.3: version OPENSSL_3.4.0' not found (required by /lib/x86_64-linux-gnu/libssl.so.3)
/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /lib/x86_64-linux-gnu/libssl.so.3)
And then the game fails to launch.
After installing a fresh copy of Ubuntu 24.04 LTS on a test PC, I've confirmed that I get these same error messages. Our various test machines with more recent distros do not have this problem; it works across Arch, CachyOS, SteamDecks, AnduinOS, and a few others.
I have repro steps which don't require our game, though; only tools that ship with the container:
Steps for reproducing this issue:
- On an Ubuntu 24.04 LTS machine, with Steam and the Steam Linux Runtime 4 installed in default locations, run the following command in terminal:
sudo ~/.steam/steam/steamapps/common/SteamLinuxRuntime_4/run xterm (you require 'sudo' in order for the runtime to successfully run bwrap, as Canonical restricts who is allowed to invoke that program in 24.04 LTS. You can omit the 'sudo' if you reconfigure AppArmor to allow unprivileged access)
- Inside this xterm, run the command
curl. (or any other executable that links against libcurl, but 'curl' itself is easiest for testing since the runtime already includes it!)
- Notice you get the three error messages above, about OPENSSL_3.3.0, OPENSSL_3.4.0, and OPENSSL_3.2.0 (in that order) not being found.
I don't know why this error is only happening on Ubuntu 24.04 and not on other (more recent) distributions; I'm guessing that somehow execution is escaping from the runtime container and talking to the native distribution's crypto libraries instead of the container's more recent ones, which would explain how/why it fails on Ubuntu 24.04 but not on more recent distributions?
Your system information
Please describe your issue in as much detail as possible:
A report from one of our players sent me down this rabbit hole and I think I've chased it as far as I can. We've recently migrated our Linux build to Steam Runtime 4, and a user who is still running Ubuntu 24.04 LTS cannot run our game any more. They get these error messages:
/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libcrypto.so.3: version OPENSSL_3.3.0' not found (required by /lib/x86_64-linux-gnu/libssl.so.3)
/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libcrypto.so.3: version OPENSSL_3.4.0' not found (required by /lib/x86_64-linux-gnu/libssl.so.3)
/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libcrypto.so.3: version `OPENSSL_3.2.0' not found (required by /lib/x86_64-linux-gnu/libssl.so.3)
And then the game fails to launch.
After installing a fresh copy of Ubuntu 24.04 LTS on a test PC, I've confirmed that I get these same error messages. Our various test machines with more recent distros do not have this problem; it works across Arch, CachyOS, SteamDecks, AnduinOS, and a few others.
I have repro steps which don't require our game, though; only tools that ship with the container:
Steps for reproducing this issue:
sudo ~/.steam/steam/steamapps/common/SteamLinuxRuntime_4/run xterm(you require 'sudo' in order for the runtime to successfully runbwrap, as Canonical restricts who is allowed to invoke that program in 24.04 LTS. You can omit the 'sudo' if you reconfigure AppArmor to allow unprivileged access)curl. (or any other executable that links against libcurl, but 'curl' itself is easiest for testing since the runtime already includes it!)I don't know why this error is only happening on Ubuntu 24.04 and not on other (more recent) distributions; I'm guessing that somehow execution is escaping from the runtime container and talking to the native distribution's crypto libraries instead of the container's more recent ones, which would explain how/why it fails on Ubuntu 24.04 but not on more recent distributions?