Closed htfy96 closed 1 year ago
Hello @htfy96, for an arbitrary folder location, you should be able to workaround this issue with something like STEAM_COMPAT_MOUNTS=/path/to/unexpected/folder %command%
in the game's launch options, but because this is in /usr, #288 is relevant.
In general, I would expect software in the AUR to be rebuilt on demand for your Arch install, and not use pressure vessel. This sounds like an issue to be mentioned to the package maintainer of the AUR submission.
Is it possible to expose /usr/share/steam/compatibilitytools.d?
Not directly. /usr
is reserved for the container runtime (the purpose of the container runtime is that it replaces /usr with something predictable), and OS directories don't/can't appear there.
However, the official runtimes do have a symbolic link /usr/share/steam/compatibilitytools.d -> /run/host/usr/share/steam/compatibilitytools.d
, and the container runtime provides your /usr
as the container's /run/host/usr
, so I'm surprised that /usr/share/steam/compatibilitytools.d/proton-ge-custom/files/lib//wine/ntdll.so
wasn't found. Please can you collect a full log with STEAM_LINUX_RUNTIME_VERBOSE=1 STEAM_LINUX_RUNTIME_LOG=1
? (I see you already know how to collect logs.)
STEAM_COMPAT_MOUNTS=/path/to/unexpected/folder
This is unnecessary for anything listed in STEAM_COMPAT_TOOL_PATHS
, because we special-case those paths to be imported into the container (where possible) anyway.
Arch Linux's Steam-native-runtime distribution
Arch's "native runtime" is specifically not supported by Valve, because it bypasses the LD_LIBRARY_PATH
-based Steam Runtime, providing an ABI that is not fully compatible with the only runtime environment that Valve supports.
(However, this usually doesn't affect the newer container runtimes, if I understand correctly.)
In general, I would expect software in the AUR to be rebuilt on demand for your Arch install
Yes, it seems really weird to me to have software that exists in Arch, but expects to run on a non-Arch library stack.
If Arch/AUR wants to ship an unofficial build of Proton, then they should be able to compile it for the Arch library stack, set appropriate dependencies, and not use the Steam Linux Runtime 'soldier' or 'sniper' container. That's a luxury that official Proton does not have, because official Proton has to be runnable on Arch, Debian, Fedora and so on, and therefore can't rely on having access to libraries from any particular host OS, except by using the container runtime mechanism to bring its own.
Thanks for the information. Yeah I understand that the weird steam-native-runtime + custom proton-ge installation is beyond the scope of official support. It's sort of weird to me why pressure-vessel-wrap was used here.
On my current setup, /usr/share/steam/compatibilitytools.d
is a regular directory provided by proton-ge package, and ntdll.so
actually exists in /usr/share/steam/compatibilitytools.d/proton-ge-custom/files/lib/wine/i386-unix/ntdll.so
, so I doubt if there's some kind of incompatibility somewhere.
Anyway, I have switched back to the official soldiered runtime and everything works now.
Your system information
https://gist.github.com/htfy96/f91b725cbd48e894c13506c4a87f941a
SteamLinuxRuntime/VERSIONS.txt
? 1.0.0.75-3SteamLinuxRuntime_soldier/VERSIONS.txt
?Please describe your issue in as much detail as possible:
On Arch Linux, proton-ge-custom is installed to
/usr/share/steam/compatibilitytools.d/proton-ge-custom
. However, pressure-vessel-wrap refuses to bind it under the wrapper when running Windows games through proton. Here's the log output:As a consequence, the game crashes upon start:
Is it possible to fix at least /usr/share/steam/compatibilitytools.d bindings to allow system-wide proton installation?