ValveSoftware / SteamVR-for-Linux

Issue tracker for the Linux port of SteamVR
917 stars 45 forks source link

[BUG] SteamVR beta v2.2.1 won't launch VR games ("Starting...", then game doesn't open) #638

Open digitalcircuit opened 10 months ago

digitalcircuit commented 10 months ago

Describe the bug With SteamVR 2.2.1 beta (and 2.1.1 - 2.1.10 beta, before Dec. 11th Steam update)…

However, SteamVR 2.1.10 stable works fine with Steam beta and Steam stable. Something broke between SteamVR 2.2.1 beta and 2.1.10 stable.

To Reproduce

  1. Launch SteamVR with headset/etc connected and powered on
    • Tested on Kubuntu 22.04
  2. When in VR, open the SteamVR overlay
    • SteamVR Home fails to load for me on the default home world, even with older SteamVR 2.0.10 stable (I haven't had the energy/time to report this)
  3. Launch a VR game
    • Tested: Mothergunship: Forge, VRChat (both running Proton 8.x)
    • This also applies to launching the VR game using the Steam desktop UI (moving the mouse and clicking Launch)
  4. Observe what happens
  5. Launch a 2D game
    • Tested: Bloons TD 6 (running Proton 8.x)
  6. Observe what happens

Expected behavior

System Information (please complete the following information):

Screenshots Screenshots don't seem to apply? I can attempt to make a video recording if that would help.

Additional context I'm using a newer version of the open-source amdgpu driver, Radeon™ Software for Linux® version 23.20.00.48 for Ubuntu 22.04.3 HWE, installed as amdgpu-install --usecase=graphics, as this is required for my current graphics card to work. However, SteamVR 2.0.10 has no issues launching games.

EDIT 2023-11-15: I've retested with SteamVR 2.1.2 beta and Steam beta, with no change in results. I can redo the SteamVR System Information report if desired.

EDIT 2023-11-18: I've now retested with SteamVR 2.1.5 beta and Steam 1700160213. 2D games/desktop theater mode works (except for the game displaying upside-down), but VR games still fail to launch.

EDIT 2023-12-13: Steam as of Dec. 11th with SteamVR 2.1.10 works for me (though not for everyone here). SteamVR 2.2.1 breaks that.

Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.

caseif commented 10 months ago

I'm experiencing this issue as well on 2.1.1 using Mesa 23.2.1 with a 6700 XT. I'm using Plasma 5.27.9 (Wayland) as my DE.

caseif commented 9 months ago

This is still occurring in beta version 2.1.5.

digitalcircuit commented 9 months ago

Also confirming that I still cannot launch VR games with SteamVR beta 2.1.5, though now 2D games properly load into the desktop theater. If I should redo the SteamVR System Report or gather any other logs, let me know.

(I won't be able to access my VR setup for most of the upcoming week, so I may be delayed in responding.)

EDIT: A friend running Arch Linux doesn't have issues. I'm running Kubuntu 22.04 LTS. Could this be another case of default system shell, as was the case with the past SteamVR launch issues?

ernstp commented 9 months ago

Also having this problem, can't launch Beat Saber on Ubuntu 23.04.

rewik commented 9 months ago

I'm running Arch Linux, KDE 5 on AMD hardware (CPU & GPU) with Valve Index. If I launch Steam using the Steam (runtime) .desktop file then VR games do NOT start - it seems like proton doesn't even run (no logs are created even with PROTON_LOG=1 %command%) If I launch Steam using the Steam (native) .desktop file then VR games work as expected.

This happens on SteamVR beta 2.1.6 (I'm guessing it also happend on 2.1.5 but I didn't think to try Steam (native) yesterday)

EDIT: just to make clear, proton works fine for non-VR games in all cases (Steam(native)/Steam(runtime), theater mode(image flipped vertically)/no VR running)

digitalcircuit commented 9 months ago

I haven't been able to test SteamVR beta 2.1.6 as I'm away from my VR computer, but I am using the standard Steam .deb file from Valve software on my Kubuntu 22.04 system. I assume that is equivalent to the Arch Linux Steam (native) version - Exec=/usr/bin/steam %U.

EDIT 2023-11-22: Based on a newer comment, the default on Kubuntu 22.04 would be Steam (runtime), since it does not override the Steam runtime variables. That suggests an issue with the Steam runtime instead.

Perhaps some sort of SteamVR dependency changed in SteamVR 2.1.1+, resulting in a mismatch between Steam (native) on up-to-date Arch, vs Steam (runtime) on Arch/Ubuntu?

rewik commented 9 months ago

I haven't been able to test SteamVR beta 2.1.6 as I'm away from my VR computer, but I am using the standard Steam .deb file from Valve software on my Kubuntu 22.04 system. I assume that is equivalent to the Arch Linux Steam (native) version - Exec=/usr/bin/steam %U.

Perhaps some sort of SteamVR dependency changed in SteamVR 2.1.1+, resulting in a mismatch between Steam (native) on up-to-date Arch, vs Steam (native) on the Ubuntu LTS/Steam (runtime) on Arch?

Steam (native) on Arch has Exec=/usr/bin/steam-native %U /usr/bin/steam-native is a very simple script, which looks like this:

#!/bin/bash
export STEAM_RUNTIME=0
export STEAM_RUNTIME_HEAVY=0
# Workaround for dbus fatal termination related coredumps (SIGABRT)
# https://github.com/ValveSoftware/steam-for-linux/issues/4464
export DBUS_FATAL_WARNINGS=0
# Override some libraries as these are what games linked against.
export LD_LIBRARY_PATH="/usr/lib/steam:/usr/lib32/steam${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
exec /usr/lib/steam/steam "$@"

/usr/lib/steam and /usr/lib32/steam on my system contain various versions of libcurl: libcurl.so.3 libcurl.so.4 libcurl.so.4.2.0

caseif commented 9 months ago

This is still occurring with version 2.1.7. But, I can confirm that using steam-native does resolve the issue for me.

whinis commented 9 months ago

Also running Arch KDE but neither steam runtime or steam native allow me to play a 3d game on 2.1.7. Theater works but is upside down as in another issue.

rewik commented 9 months ago

Also running Arch KDE but neither steam runtime or steam native allow me to play a 3d game on 2.1.7. Theater works but is upside down as in another issue.

I've attached a list of all packages explicitly installed on my system (pacman -Qe - so this includes EVERYTHING) see if you're missing something obvious form that list (like steam-native-runtime or anything starting with lib32) - hopefully you'll be able to track down which package (or packages) makes the difference. packages.txt

digitalcircuit commented 9 months ago

Unfortunately, testing with SteamVR 2.1.7 beta and a completely fresh Steam setup (renaming $HOME/.local/share/Steam to Steam-OLD, then opting to Reinstall), this issue persists on my Kubuntu 22.04 system.

I tried copying the Arch "Steam (native)" script that @rewik shared, but I didn't manage to monkey-patch that correctly to get Steam working. To Valve folks, if any more debug logs/etc testing would help, please let me know!

As to the Arch Linux side, aforementioned friend is having success in SteamVR just running steam, not steam-native, so I'm not sure what's up with library dependencies there.

ernstp commented 9 months ago

Still can't launch any games with SteamVR 2.1.8 Hotfix (Nov 30). Ubuntu 23.10, Radeon, HTC Vive.

digitalcircuit commented 9 months ago

Same here, SteamVR 2.1.8 beta + Steam beta is still failing to launch VR games.

I did notice someone comment with instructions on another issue on how to downgrade to SteamVR 2.0.x, which I may eventually end up trying as a workaround until a proper fix can be implemented.

EDIT 2023-12-2: SteamVR 2.1.9 beta remains broken.

odinu commented 9 months ago

Same here with 2.1.9 beta. Tried both regular steam and steam-native, neither works.

Patola commented 9 months ago

Same thing with SteamVR 2.1.10 beta. VR starts ok although it doesn't load SteamVR Home. Trying to run any game in VR very briefly changes the color of the play button (like, a half-second) then it gets green again. I've noticed that we have a lot of people taking part on this bug report but no response from Valve employees, are we out of luck? Has Valve dropped the ball?

note: my equipment -- Ryzen 7 7800X3D, 64 GB RAM DDR5, RX 7900 XTX, Arch Linux with kernel 6.6.5. I can run all pancake Linux games normally. https://gist.github.com/Patola/5de85bdf2523ab4a1b89279e56f78fac

Patola commented 9 months ago

When I try to run a game, I immediately get this from ~/.local/share/Steam/logs/webhelper.txt:

[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
[2023-12-08 23:42:51] SP Shared JS Context-'SharedJSCo': WARNING: https://steamloopback.host/library.js:2: launch error 7 1702840 LaunchApp WaitingOpenVRAppQuit 111
[2023-12-08 23:43:01] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=246b4ae2a1f6d91b0c17:1: SendMsg: Attempted to send message but socket wasn't ready: Clientdll
[2023-12-08 23:43:01] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=risadinha&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=PL&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:0: Uncaught (in promise) Transport SendMsg: socket not ready
Patola commented 9 months ago

launching steam from the console infinitely spawns this message: [ERROR] 2023-12-09 00:10:02: Error getting IVRInput Digital Action Data for handle /actions/system/in/KeyPressSystem. SteamVR Error: 13, would that be the reason? How to avoid that?

whinis commented 9 months ago

Also running Arch KDE but neither steam runtime or steam native allow me to play a 3d game on 2.1.7. Theater works but is upside down as in another issue.

I've attached a list of all packages explicitly installed on my system (pacman -Qe - so this includes EVERYTHING) see if you're missing something obvious form that list (like steam-native-runtime or anything starting with lib32) - hopefully you'll be able to track down which package (or packages) makes the difference. packages.txt

I checked and the only different package was lib32-llvm. Have not had time to check if it fixes anything but I doubt it

Patola commented 9 months ago

I checked and the only different package was lib32-llvm. Have not had time to check if it fixes anything but I doubt it

Tried that and at least for me, it changed nothing. Still can't run any game in VR. Silly me, I bought a bunch of VR games in the current Steam VR sale, I should not have trusted Valve to fix VR on Linux.

digitalcircuit commented 9 months ago

SteamVR v2.1.10 remains broken for me, too. I'll keep updating the issue title as I test things, and thumbs-up'ng others' comments.

EDIT: Technically this is no longer the beta version. Stable was broken for me since v2.1.1, but I've clarified that.

Silly me, I bought a bunch of VR games in the current Steam VR sale, I should not have trusted Valve to fix VR on Linux.

It is rather frustrating, but I imagine Valve folks have been pretty busy with SteamVR 2.x bugs on Windows (based on what I've overheard from other VR friends), the new Steam Link app, etc. And I appreciate that Linux isn't being relegated to an old, unmaintained SteamVR version - we're getting the new features at the same time (just with new breaking issues).

That said, I would appreciate if Valve made it easier to roll back to and keep older versions of any Steam apps, not just SteamVR.

whinis commented 9 months ago

I would appreciate that, but also fixing some bugs that have been outstanding on linux for 2+ years. Like inability to update our lighthouses, inability to use the cameras, and so on

digitalcircuit commented 9 months ago

Excellent news - today's Dec. 11th Steam update fixed VR for me! No SteamVR update needed.

Steam component Version string
Steam Version 1702079146
Steam Client Build Date Thu, Dec 7 7:33 PM UTC -05:00
Steam Web Build Date Fri, Dec 8 6:30 PM UTC -05:00
Steam API Version SteamClient021

Apparently whatever was involved in Fix for inverted image and mouse input on Linux when displaying non-VR apps in headset might have had a knock-on effect of fixing VR games, too.

I'd encourage others who subscribed to this issue to give SteamVR another try; otherwise, this issue can probably be closed.

odinu commented 9 months ago

Same steam version didn't fix it for me. I tried updating the system packages including the new 6.6.6 kernel, I tried both steam-native and steam runtime, still the same issues as before: no VR games will launch, not even Steam Home.

digitalcircuit commented 9 months ago

Well, mixed news - SteamVR stable (2.1.10) with Steam stable (1702079146) works for me, with Proton (VRChat, Mothergunship: Forge) and Linux native (Resonite.. if you ignore that the Linux build is broken in other ways) working just fine. The Steam Home world remains broken, but that has been broken for me since a 2.0.x release.

But SteamVR 2.2.1 beta released today breaks this.. again, regardless of Steam itself being stable or beta. Proton games just don't launch, and Linux native (Resonite) crashed my entire KDE desktop session, returning me to the login screen.

For now I can revert to the SteamVR stable release, but with how tightly Steam and SteamVR are integrating, that won't be viable long-term.

To Valve folks: Should I file a new issue by this point? What can I do to help?

caseif commented 9 months ago

Just want to confirm that I'm currently experiencing the same behavior with 2.1.10 and 2.2.1, although I don't have any Linux native games to test apart from HL:A which doesn't work at all on my system anyway.

digitalcircuit commented 9 months ago

I've updated the bug details, title¹, and added a new System Report with SteamVR 2.2.1. SteamVR 2.1.10 with today's Steam (beta and stable) works fine now for me, but SteamVR 2.2.1 does not work with Steam beta or stable.

¹ Pardon the rename spam; I couldn't decide if I should file a new issue or not.

A reminder for others experiencing this issue - Valve's issue template encourages including your own system report as a Gist or such, as per their instructions. Not a promise they'll get to this sooner, but it might help narrow things down.

TTimo commented 9 months ago

Hello @digitalcircuit,

Your issues before the 2.1.10 vs 2.2.1 problem look like an AMD / mesa problem maybe. We're coming up on 23.3 and your release is almost a year old (23.0) - that can make a difference, especially in VR.

But I'd like to investigate what might be different between 2.1.10 and 2.2.1 as it's less likely to be related to graphics drivers.

Can you do the following:

Thanks!

Patola commented 9 months ago

@TTimo is that for @digitalcircuit only or anyone having the problem could help by doing that? I don't think you would have the risk of being flooded with such reports.

TTimo commented 9 months ago

I explicitly asked @digitalcircuit as he is the OP on here, he appears to be actively working on diagnosing the problem. Issues such as "VR games do not launch" unfortunately tend to attract a lot "same for me" comments with often different causes that make things difficult to untangle, so I'd rather focus on this specific behavior difference between the two SteamVR releases.

digitalcircuit commented 9 months ago

@TTimo

Your issues before the 2.1.10 vs 2.2.1 problem look like an AMD / mesa problem maybe. We're coming up on 23.3 and your release is almost a year old (23.0) - that can make a difference, especially in VR.

Ah, that seems reasonable. If I run into future issues that seem graphics related, I'll try using a LiveUSB of Ubuntu 23.10/etc while I'm waiting for the February 2024 Ubuntu 22.04.x HWE upgrade with newer AMD / Mesa versions.

[…trimmed log gathering instructions…]

I've followed your instructions and sent you an email with the subject SteamVR Linux: logs for issue #638 (v2.2.1 beta won't launch VR games). Let me know if you don't get it, or if there's anything else that might help.

And thanks for looking into this!

Patola commented 9 months ago

For the record, I have the same problem (SteamVR 2.1.10 works, SteamVR beta 2.2.1 doesn't) but I have archlinux with mesa=1:23.2.1-2, so it's not backlevel. Kernel is 6.6.6. My current specs from Steam Runtime Diagnostics are these: https://gist.github.com/Patola/8537c66ed2d89dcacc54e9abdc473a34 -- concisely, 7800X3D with RX 7900 XTX.

Please let me know if getting the steam logs while running VR games under the two SteamVR versions would be useful to you.

TTimo commented 9 months ago

Thanks I have all the info. I'll update here when I have something.

digitalcircuit commented 8 months ago

Briefly confirming, as probably expected the problem persists with SteamVR 2.2.3 beta and the latest Steam beta (version 1703100617).

Thankfully, SteamVR 2.1.10 stable still works on my system with Steam beta (and stable).

digitalcircuit commented 8 months ago

@TTimo Good news - with today's SteamVR update, I've narrowed things down: SteamVR 2.2.3 beta did not work, but SteamVR 2.2.3 stable does work to launch VR games.

And similarly, SteamVR 2.2.3 beta did not properly pass the RADV_DEBUG=zerovram %command% environment variable on, while SteamVR 2.2.3 stable does pass that through, avoiding the right eye uninitialized VRAM flicker.

Are there any differences between the build process for a SteamVR stable vs. beta release that could be resetting environment variables and other important information? I'm happy to re-gather logs if that helps.

digitalcircuit commented 7 months ago

This week's SteamVR 2.3.3 beta still exhibits the same issue here (e.g. VRChat won't launch), and the other issue, too (environment variable RADV_DEBUG=zerovram isn't passed on as per the other issue).

2023 SteamVR 2.2.3 stable still works. I remain wondering if there's a difference between the "stable" and "beta" SteamVR build process given my prior discovery of SteamVR 2.2.3 beta not working while 2.2.3 stable did.

digitalcircuit commented 5 months ago

SteamVR 2.5.1 beta has the same (?) issue where VRChat won't launch, and the other issue. SteamVR 2.4.1 stable works. Kubuntu 22.04 LTS with HWE, AMD GPU, HTC Vive as before.

If there's anything I can do to investigate this, if I should file a new issue, etc, please let me know! Considering the environment variable (RADV_DEBUG=zerovram) issue still remains, I'm still wondering if there's an issue or difference between the beta and stable build packaging process - from SteamVR 2.2.3 onward, once beta builds have migrated to stable, they have worked.

(SteamVR Home also fails to load for me on beta, but that may be unrelated as it has broken in the past.)

Patola commented 4 months ago

So, with the latest update, SteamVR stopped being able to run VR games AGAIN for me. And the flood of errors "Error getting IVRInput Digital Action Data for handle /actions/(...) . SteamVR Error: 13" continues, and it's getting in the ways of games due to excessive logging. How do I fix this? At least the IVRInput flood that is preventing me to see anything else in the logs.

UPDATE: getting back to steamvr 2.4.4 fixes the issue.