-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SteamVR fails to load into games #71554
Comments
I'm able to reproduce the issue with a Valve Index HMD.
I see the SteamVR Home and i can launch a game, but the game is not streamed to the HMD.
See the full log: steamlog.txt Running Steam on nixos 19.09.1208.ef8c34c4721 |
Can also reproduce with a Vive Pro on my system. I tried moving Steam from my home-manager packages to system packages (fixes some issues with Steam URI stuff it seems), but didn't change anything. I also attempted to setcap the file myself but hit a library error, so tried wrapping the file in a script with LD_PRELOAD, but that failed with the "Something is wrong" error. Tried adding tl;dr I couldn't find any workarounds at all, or system (mis-)configurations causing it. If anybody cannot reproduce this but has any ideas I'm happy to try poking around with things some more, and potentially working into a true fix. |
Here's an extremely hack-ish workaround. I've tested this as working with a couple of VR games that use Proton (VTOLVR and Thrill of the Fight). Run:
(getting the correct number of spaces in the above command is important--and this will break every time SteamVR updates) Partial explanation: The issue with setcap described in the earlier comments is still unresolved, however, but is not necessary in order to run some games. Presumably, we'd get better performance if that was fixed. |
That fix works perfectly for me, thanks! From what I could find, setcap is only necessary to enable async reprojection, which seems relatively new to SteamVR Linux and only supports AMD GPUs (which I unfortunately do not have right now anyway). Would a slightly better workaround be to include each of the OpenGL libraries (I'm not sure how they get selected) in the Steam FHS library path? Or will the usual locations not be in the search path either |
I messed around with trying to get But I did find an alternative workaround which does not involve patching the vrclient libs
|
This problem currently exists on my system. I tried the workaround suggested by the previous person involving creating a symbolic link, and it didn't have any effect. I haven't been able to find any system misconfiguration; steamVR Home works perfectly for every feature I have tried, but none of the handful of other games I've tried has successfully launched to the HMD. For example, BeatSaber in steam linux runtime mode fails to launch at all, and in proton mode it launches to the title screen, but displays it on the monitor rather than the HMD, it doesn't accept any input from the controllers, and needs to be force-killed. |
Update. Changing the steamvr beta branch from linux_temp to no betas, deleting the steamvr.vrsettings file, reinstalling steamvr, then applying the workaround proposed by m4tsa fixed this problem on my system. |
The superuser permissions are only needed to give the vr launcher executable thingy the capability to set a nice below 0 for better performance. This is optional of course and has nothing to do with the actual issue. A few things you might want to do:
I'm on unstable with i3 and works just fine on my Vive* after a bit of twiddling but getting VR to work properly is a bit of a process anyways. * Well, about as fine as it can work on Linux currently. No power management or motion smoothing and bad stuttering on Nvidia :( |
We should totally fix that superuser popup though, it's pretty annoying. |
It is also required to enable async reprojection last time I checked, which is very important feature for having a stable framerate submitted to the HMD. |
In my experience, giving it the cap_sys_nice that it asks for just breaks everything. |
it seems like it works oob here, i don't know if async reprojection works though (how can i test?). the superuser popup is annoying to dismiss every time but i didn't have to fix any paths or anything |
The superuser popup is supposed to set cap_sys_nice on vrcompositor-launcher, that's all it does. If you don't allow that, SteamVR works but if you do it manually, the executable apparently takes a different code path and can't find libraries it depends on anymore. Perhaps we should get in touch with Valve at this point, I'm pretty sure it's their application doing something weird now; not us. I'll get a FHS compliant distro and check where SteamVR expects to find the libraries with the cap, maybe that can give us a hint. |
This issue has gotten a bit bloated and most of the discussion has nothing to do with OP's problem, so I've created two new issues (see links above). One for the popup issue and one for the vrcompositor-launcher issue. In the latter I have also made progress investigating why it works on other distros but not NixOS. |
Is anyone still able to reproduce this bug? |
@Atemu Yes I'm currently experiencing this issue. |
steam.txt |
I read the opengl wiki and gave it another shot. Still having the same issue. Please consider the file attached the most recent and relevant log. @davidak I don't want to pull you into this but I know we were chatting briefly regarding the issues I've been having. Another weekend is quickly approaching and I'd love to use this because I could use some escape :) |
*I also want to mention that I'm running Okapi (21.05) on Linux 5.4.99, Pantheon DE with GTK 3.24.24 |
@m4tsa's suggestion worked and I was able to get SteamVR running last night. ln -s $HOME/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor
$HOME/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher
setcap CAP_SYS_NICE+ep ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher Btw, you only need to do this once unless you reinstall SteamVR or SteamVR updates. |
I'd recommend you to look into these error messages:
and/or erase all Steam state in your home dir (except for games). Anyhow, make new bug reports from now on please. A ton of things have changed since the original report in this issue. |
Describe the bug
SteamVR fails to load into games due to failing get superuser access. Manually setting the permissions it expects also leads to unexpected behaviour.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I'd expect to install steamvr, give it the permissions it asks for, either manually or through the zenity dialogue, then be able to play supported games.
Screenshots
Additional context
Using the troubleshooting steps from here yielded no results.
Additionally, overriding the steam package to be build with libcap did not change anything.
hardware.steam-hardware.enable = true;
is set in my config.nix.If you continue after it fails to get access, games will load, but accept no input and the HMD will be stuck at the loading screen instead.
When the permissions it wants were manually set the HMD did not show any output, and games would not load.
Launching steam via terminal and reading the output shows the error is thrown in ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrstartup.sh
Here's the steam console output with the perms set
and without
Metadata
"x86_64-linux"
Linux 4.19.79, NixOS, 20.03pre196836.1c40ee6fc44 (Markhor)
yes
yes
nix-env (Nix) 2.3.1
"home-manager, nixos-20.03pre196836.1c40ee6fc44"
"home-manager"
/nix/var/nix/profiles/per-user/root/channels/nixos
Maintainer information:
The text was updated successfully, but these errors were encountered: