flathub / org.freedesktop.Platform.GL.nvidia

47 stars 41 forks source link

Nvidia driver >= 545 requires openssl (libcrypto.so.1.1) otherwise PRIME is broken #236

Closed MateusRodCosta closed 7 months ago

MateusRodCosta commented 7 months ago

This seems to have been introduced in 545 but I did only notice just now. Apparently the Nvidia driver now requires libcrypto.so.1.1 which is provided by openssl1.1.

Emulators such as Cemu flatpak are able to successfully launch games but flatpak Steam isn't able to whether or not I manually set PRIME Render Oflload.

The following is shown on the Steam logs:

x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libnvidia-pkcs11.so.545.29.06 not found, ignoring: Missing dependencies: Could not find "libcrypto.so.1.1" in LD_LIBRARY_PATH "/app/utils/steamtinkerlaunch/lib:/app/lib/i386-linux-gnu/GL/default/lib:/app/lib/i386-linux-gnu/GL/nvidia-545-29-06/lib:/app/lib/ffmpeg/.:/app/lib32/ffmpeg/.:/app/lib32:/app/lib/i386-linux-gnu:/lib64:/app/lib:/usr/lib/x86_64-linux-gnu/GL/default/lib:/usr/lib/x86_64-linux-gnu/GL/nvidia-545-29-06/lib:/usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/lib:/usr/lib/x86_64-linux-gnu/openh264/extra:/usr/lib/x86_64-linux-gnu:/var/home/mateusrc/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/steamapps/common/Hades/x64Vk/", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib

This is apparently the same issue as https://github.com/flathub/com.valvesoftware.Steam/issues/1198, however it's likely the issue should be fixed on the driver package shipped by Flathub instead of per-affected app.

guihkx commented 7 months ago

however it's likely the issue should be fixed on the driver package shipped by Flathub instead of per-affected app.

I'm not sure I agree with that.

The 545xx driver also provides libnvidia-pkcs11-openssl3.so.*, which is linked against OpenSSL 3.x libraries, so in theory we shouldn't have to ship OpenSSL 1.x libraries.

@smcv Can you please take a look at this? It looks like the warning is coming from steam-runtime-tools, which I have no idea how it works, or why it (presumably) ends up up breaking PRIME.

smcv commented 7 months ago

x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libnvidia-pkcs11.so.545.29.06 not found, ignoring

This is not a fatal error, just a warning: it just means that libnvidia-pkcs11.so.545.29.06 won't get pulled into the pressure-vessel container. It also appeared with older Nvidia driver versions.

If PRIME is not working with the Nvidia driver >= 545, but was working with previous Nvidia drivers, then that's likely to be an unrelated regression with this driver version. Multi-GPU with proprietary drivers is incredibly fragile - typically each component tries to work around all the other non-cooperating components and can easily break them by mistake - so this is not exactly a surprise.

If the freedesktop.org runtimes don't ship OpenSSL 1.x, then perhaps the Nvidia driver extension shouldn't be shipping libnvidia-pkcs11.so.545.29.06, which will never be able to load successfully? But that's a nice-to-have, not a fatal problem.

If you suspect that the Steam Linux Runtime is at fault, please report an issue to https://github.com/ValveSoftware/steam-runtime/ with full details and debug logs (see https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md). I am unlikely to be able to do anything without that information.

MateusRodCosta commented 7 months ago

@smcv I did some further testing, apparently Linux native games work fine both running with the iGPU or with the dGPU via PRIME. However Proton games won't work with neither latest official Proton nor latest GE-Proton.

So, seems whatever is affecting me is affecting specifically Proton or Steam Linux Runtime (since Proton would rely on it).

I will see about getting some logs and reporting what I find later on.

MateusRodCosta commented 7 months ago

@smcv I figured out what caused the issue, though I'm not sure if it's really worth reporting, as it is likely user-error.

I believe it happened due to https://github.com/ValveSoftware/steam-for-linux/issues/10487. It might or might not be important that ~/Games and ~/Games/SteamGames were btrfs subvolumes.

So, while the native Linux games didn't have any problem, Proton games likely had issue with some of these:

So, I guess I should close this.