ValveSoftware / SteamVR-for-Linux

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

[BUG] SteamVR unable to open Room Setup/Tutorial and games #574

Closed Kagukara closed 7 months ago

Kagukara commented 1 year ago

Describe the bug When I start up SteamVR I get two popups one saying "Room Setup - Please perform Room Setup to begin using SteamVR." and the other "SteamVR - Could not start SteamVR Room Setup: Another application was already starting.".

To Reproduce Steps to reproduce the behaviour:

  1. Turn on lighthouses and plugin headset
  2. Start SteamVR on Steam

Expected behaviour This is the first time I'm ever trying VR, and I'd expect it to launch SteamVR Room Setup.

System Information:

Screenshots capture_2023-04-02_13-09-41 capture_2023-04-02_13-09-43 capture_2023-04-02_13-21-13

Additional context Closing both the popups and clicking either Room Setup or Tutorial in the burger menu gives the "SteamVR - could not start SteamVR Room Setup/Tutorial: Another application was already starting." popup.

More System Information:

Kagukara commented 1 year ago

When I have SteamVR open, I can launch SteamVR Room Setup via the terminal with: ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup

Which outputs:

Found path: /home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup
Mono path[0] = '/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup_Data/Managed'
Mono path[1] = '/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup_Data/Mono'
Mono config path = '/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup_Data/Mono/etc'
Preloaded 'ScreenSelector.so'
Preloaded 'libopenvr_api.so'

This loads up Room Setup, but when I go to either "ROOM-SCALE" or "STANDING ONLY" the headset is shown as off (and the controllers). In SteamVR however it is on.

capture_2023-04-02_15-51-46 capture_2023-04-02_15-52-35 capture_2023-04-02_15-52-50 Controllers are off in this picture as I was testing "STANDING ONLY"

Kagukara commented 1 year ago

I was somehow able to get Room Set up to run, when I was having the popup asking for me to perform the Room Set up. I think this was done by killing the process Main Thread and launching SteamVR. I maybe wrong though, I'm unable to try this again as I no longer get the popup.

Even though I now have Room Setup setup I still can't access them in the burger menu. Still get these when I do: image image

I have launched Steam through the terminal and have added en_US.UTF-8 UTF-8 to my locale.gen and regenerated, installed xdg-user-dir and changed to Steam beta to fix some of the issues I had. Here is what the start up now looks like (let me know if I should post it another way rather than a txt file): steam-startup.txt

Kagukara commented 1 year ago

(I have now switched back from Steam beta)

With SteamVR open and running Room Setup from the terminal, I get the same as above. For Tutorial I get this: ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/linux64/steamvr_tutorial

Found path: /home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/linux64/steamvr_tutorial
Mono path[0] = '/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/linux64/steamvr_tutorial_Data/Managed'
Mono path[1] = '/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/linux64/steamvr_tutorial_Data/Mono'
Mono config path = '/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/linux64/steamvr_tutorial_Data/Mono/etc'
Preloaded 'ScreenSelector.so'
Preloaded 'libaudioplugin_phonon.so'
Preloaded 'libopenvr_api.so'
Preloaded 'libphonon.so'
Invalid serialized file version. File: "/home/richard/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/linux64/steamvr_tutorial_Data/globalgamemanagers". Expected version: 5.6.0b7. Actual version: 2017.3.1f1.

(Filename:  Line: 1244)

PlayerInitEngineNoGraphics settings: Failed to load PlayerSettings (internal index #0).
Most likely data file is corrupted, or built with mismatching
editor and platform support versions.
Failed to initialize player
Kagukara commented 1 year ago

I have a very janky workaround for playing VR games. I decided to try VR in Minecraft Java Edition (downloaded from the AUR) using Fabric and Vivecraft mod. At first, it didn't work because I had run SteamVR before loading the game, so I closed everything down and just launched Minecraft. My Index was then able to display Minecraft in VR. I then went to look and see if SteamVR was running, and it was. I closed Minecraft down, but SteamVR kept running, so I launched a VR game. It didn't work. So I restarted the process, and after closing Minecraft, I put -hmd=SteamVR in the launch options for the game I wanted to play, and it worked. But when switching to a new game, I have to kill the SteamVR process in the task manager, as doing it through Steam doesn't work, and repeat the process (opening Minecraft in VR, etc.).

I have no idea why this works, and launching SteamVR and running a game from within SteamVR doesn't, but it's a step forward.

Launching SteamVR still has the same problems. When doing the workaround, you cannot open the SteamVR menu in VR or see the SteamVR interface on the PC.

goarvic commented 1 year ago

I think I am affected by the same problem. For several days SteamVRHome does not start

Kagukara commented 1 year ago

Here is a comparison between the process launched between SteamVR launched through steam and running Minecraft with the Vivecraft mod.

Launched via Steam: Steam-SteamVR

Launched via Minecraft with the Vivecraft mod - Minecraft Open: minecraft-vivecraft-open

Launched via Minecraft with the Vivecraft mod - Minecraft Closed: minecraft-vivecraft-closed

1 out of 2 Lighthouses were on during these screenshots.

hparadiz commented 1 year ago

Same problem on Gentoo

Kagukara commented 1 year ago

Here is an updated version of running steam via the terminal and launching steamvr: https://pastebin.com/D8R2ZNT5 (11:28 ~ 14/04/2023)

Only the headset and 1 lighthouse was on.

Still have the same problem with the workaround being the only way to launch games.

Kagukara commented 1 year ago

From a reply I got from a post I made on the SteamVR Linux Discussion ("disabling steamvr home") I have now been able to click on both Tutorial and Room Setup without the popup "Could not start SteamVR Room Setup(Tutorial): Another application was already starting." appearing.

This has allowed me to do Room Setup and launch games in SteamVR, without having to use the Vivecraft workaround.

The issue still persists with SteamVR Home on, with the Vivecraft mod workaround being the only way I've found to launch games.

Kagukara commented 1 year ago

@kisak-valve any chance you could take a look at this, the problem still persists with everything up to date. Only solution I've found is disabling SteamVR Home in the advanced settings.

It looks like steamtours.sh could be the main culprit from looking through my previous logs.

kisak-valve commented 1 year ago

Hello @Kagukara, friendly reminder that I'm a moderator for Valve's issue trackers on Github, and not a SteamVR developer myself. I don't have any special insight into this issue.

Personally, I don't autostart SteamVR Home on my test box, primarily for historical consistency with some video driver tests and that coincidentally avoided this issue.

Kagukara commented 1 year ago

Thank you for the reply, just kept seeing you reply to other issues and thought you maybe able to help.

PistolRcks commented 1 year ago

Replying to https://github.com/ValveSoftware/SteamVR-for-Linux/issues/574#issuecomment-1496629103

Oddly, this fix works for me as well. One of the supporting applications (vrwebhelper?) is disconnecting the entire thing from Steam (which will not allow any apps to launch), or so I can tell (or perhaps this is intended functionality?).

Relevant log information from my personal vrserver.txt

Sat Jun 17 2023 15:26:25.599889 - Unable to read message from socket: 0
Sat Jun 17 2023 15:26:25.599909 - Process steam (40437) disconnected (Thread(0x0x7f77e4016750/0x0x7f)
Sat Jun 17 2023 15:26:25.599930 - AppInfoManager.ProcessQuit processid=40437 eLaunchingApp=LaunchingApp_None
Sat Jun 17 2023 15:26:25.599946 - AppInfoManager.ProcessQuit: Clearing application system.generated.steam PID was 40437
Sat Jun 17 2023 15:26:25.599961 - AppInfoManager.ProcessQuit: Clearing application system.generated.steam PID because 40437 has exited
Nebulon-BFrigateFTW commented 1 year ago

Had this problem as well on OpenSUSE Tumbleweed. Interestingly, even after disabling SteamVR Home, I also get some error code 109 whenever I start SteamVR, but this doesn't seem to actually cause problems. Also, could this perhaps be identical to #579 ?

PistolRcks commented 1 year ago

Seems to be resolved as of beta update 1.26.5? That update also seems to have messed with the colors of the dashboard, but that's outside of the scope of this issue.

Kagukara commented 1 year ago

Just tried SteamVR Beta 1.26.5, turned on SteamVR Home in the dashboard and tried to launch SteamVR Room Setup and a game.

Launching SteamVR Room Setup gives the same response as it did at the start of this issue: capture_2023-07-05_14-44-25

Launching a game doesn't give any response and just leaves the game on launching but never launches.

This is the Setting I turn off for VR to work: capture_2023-07-05_14-54-00

The colours in the beta are also messed up but I think there is an issue on this already. Beta: capture_2023-07-05_14-48-26

Non-Beta: capture_2023-07-05_14-52-02

eyeonus commented 1 year ago

I'm having this problem as well, but I can't even open the options in order to turn off Home, so I don't know if that would fix it for me. Is there anyway to disable it that doesn't require starting VR?

Kagukara commented 1 year ago

Is there anyway to disable it that doesn't require starting VR?

You will need to start SteamVR with your headset on but the other way would be to open SteamVR, click the burger menu icon, settings, general, and the SteamVR Home option should be at the bottom. capture_2023-07-09_11-42-15

eyeonus commented 1 year ago

Replying to https://github.com/ValveSoftware/SteamVR-for-Linux/issues/574#issuecomment-1627677109

I can not. nothing happens when I click the burger. This is why I asked if there was a way to do it that DOESN'T require launching VR.

Kagukara commented 1 year ago

This is why I asked if there was a way to do it that DOESN'T require launching VR.

Ah, my misunderstanding. I went to thinking "in VR" and not "launching/starting VR (SteamVR)". I'm not sure if you can change the setting in one of the files in the SteamVR common files. So you may want to create your own issue for not being able to click the burger icon if you're not able to click it.

Kagukara commented 1 year ago

@kisak-valve This has been retested: link to comment

WhitleyStriber commented 9 months ago

Same problem here, except I don't get any message on my desktop, and my headset says Launching Room Setup.

SteamVR Beta, Gentoo

VladGdev commented 8 months ago

I was having the same issue until I ran ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup.sh and noticed that it was trying to access vrenv.sh in the wrong directory.

One of the lines of the output I have is like this: ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/../../../runtime/bin/vrenv.sh: No such file or directory. Apparently the runtime/ directory doesn't exist, so I looked at steamvr_room_setup.sh on line 39, and removed runtime/ from VRBINDIR=${ROOT}/../../../runtime/bin.

After doing that I've restarted SteamVR and that seems to have fixed it!

Hicks79 commented 7 months ago

I was having the same issue until I ran ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup.sh and noticed that it was trying to access vrenv.sh in the wrong directory.

One of the lines of the output I have is like this: ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/../../../runtime/bin/vrenv.sh: No such file or directory. Apparently the runtime/ directory doesn't exist, so I looked at steamvr_room_setup.sh on line 39, and removed runtime/ from VRBINDIR=${ROOT}/../../../runtime/bin.

After doing that I've restarted SteamVR and that seems to have fixed it!

THANKS @susrn

How did you know the route was incorrect?

VRBINDIR=${ROOT}/../../../runtime/bin

VRBINDIR=${ROOT}/../../../bin

the ROOT-variable had this: ROOT="$(cd "$(dirname "$0")" && echo $PWD)"

I can at least see the room-setup now, even though there are other bugs.

Thanks my friend! :D

Why doesn't valve fix these things? I hope they are with HL3.

TTimo commented 7 months ago

This should be fixed in latest beta. Please open a new issue if you believe that is not the case. Make sure you do not have any locally modified SteamVR scripts left over.

atomicptr commented 6 months ago

I'm on beta and also had to modify the script to be able to do room setup (although the line moved down somewhat)

trashhead101 commented 6 months ago

To sum it up,

  1. go into the Folder ~/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/ (basically: "/home/name/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/")
  2. open steamvr_room_setup.sh and change line 51 VRBINDIR=${ROOT}/../../../runtime/bin to VRBINDIR=${ROOT}/../../../bin (remove the 'runtime/')

(3. only for me (Plasma, Arch Linux): make sure you got openssl (for Qt) installed sudo pacman -S openssl)

(Also, I installed lib32-libvdpau, lib32-gtk2, lib32-libva a few seconds before, which you generally need for steamVR (I guess), so make sure you got them also)

KvaGram commented 6 months ago

I had a simular problem when trying to launch room setup. I have just moved, so I needed to set it up again. When I tried, the application seemingly did not launch.

Then I tried launching from terminal as you suggested . There the window opened briefly, then closed, reporting a segment fault in the terminal.

I then attempted to switch to "Linux_1.14". The VR had to redo the root access setup, and complained about something crashing. Yet SteamVR did launch. Then I once again tried to launch Room Setup, and it worked perfectly. After switching back to the beta-branch, SteamVR and the home enviroment loaded succesfully, with the new room setup all done, and ready to use.

TTimo commented 6 months ago

See https://github.com/ValveSoftware/SteamVR-for-Linux/issues/694