ValveSoftware / SteamVR-for-Linux

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

[BUG] SteamVR linux_betta Ubuntu 19.10 HMD not initialized #317

Open hellkaim opened 4 years ago

hellkaim commented 4 years ago

Am about to first time lunch SteamVR + Vive (1st gen) on Ubuntu 19.10 with Dell XPS 9550 (Optimus nVidia 960M) for low intensive VR tasks.

After hours bumping around I was able to run room setup... and got the VR window on my main desktop (I think it was a VR view windowed)... and that is it. Now I permanently have error 307.

Tried to debug the issue myself and figured out that the problem seems to be located in HMD not recognized as a target for VR.

You can find the system report here.

My xRandr output: Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 346mm x 194mm 1920x1080 59.93*+ ommited output DP-1-1 disconnected (normal left inverted right x axis y axis) 2160x1200 89.53 + 720x480 60.00 59.94 640x480 60.00 59.94 HDMI-1-1 disconnected (normal left inverted right x axis y axis) DP-1-2 disconnected (normal left inverted right x axis y axis) HDMI-1-2 disconnected (normal left inverted right x axis y axis) My VulkanInfo is available here.

I tried the fix mv /usr/share/vulkan/icd.d/intel_icd.x86_64.json /usr/share/vulkan/icd.d/intel_icd.x86_64.json.back with no result.

I am using Club3D USB-c to HDMI cable and am able to push desktop to HMD by issuing xrandr --output DP-1-1 --set non-desktop 0 and then switch the "display" on using standard XFCE4 utility. Switching back and forth USB got me nowhere. Using HDMI output also did not resolve the issue.

To Reproduce Start Steam from shortcut, lunch SteamVR and immediately with the window displaying connected devices the error notice will occur.

Expected behavior After SteamVR starts it suppose to show 3D scene in HMD.

System Information (please complete the following information):

Screenshots N/A

Additional context N/A

JulianGro commented 4 years ago

There is the problem of a lot of VR devices just not working on notebooks, because they often "route" the video signal through integrated intel graphics, which normally doesn't support the high resolution/framerate of a VR headset.

hellkaim commented 4 years ago

Sure, I am aware that on Optimus based devices there is a problem with routing, but: 1) It was working once even displaying on pmain Display and now it does not 2) I found here reports from other Optimus owners with success experience.

So it would be nice if I can just get it back running on main Display as I can turn the HMD on and just throw VR viewer on it full screen. To be honest, I do not need VR viewer even - the application I am going to run just requires tracking to work with room setup completed. So if there is a way to make SteamVR to start even with only primary Display device it will be ok.

JulianGro commented 4 years ago

So I don't know if this is still a thing, but if you change your xorg config to allow the nvidia driver to threat the HMD like display, you might be able use SteamVR without direct mode.

This has been used by OpenHMD devs in the past as far as I know.

hellkaim commented 4 years ago

I can make HMD a Display device even without massing with xOrg configuration. Just by issuing xRandr command (see my 1st post) I can activate internal displays, but that gives me nothing, as vrcompositor fails to start.

As you can see from logs provided SteamVR recognize my HMD and even selects it as a display device. But then something goes terribly wrong. And what is it is a question of that request for help.

I need to figure out how to bypass the error I have and start up steamvr even without actually running in direct mode.

hellkaim commented 4 years ago

Ok Today I had my 19.10 reinstalled and made some tests:

  1. Run Steam from official deb with recommended 435 nVidia driver - error 307
  2. Run Steam from official deb with proprietary 440 nVidia driver with i386 libs installed - error 307
  3. same as 1 but Client and VR on beta branches - error 307 4, same as 2 but Client and VR on beta branches - error 307
  4. Run Steam from root account - error 307

I do know that under Windows 10 (I broke my install trying to sideinstall Win10) 960M can run VR... So it seems to me that there is something wrong with how linux port of steamVR is handling optimus enabled displays.

Is there a way to forcefully disable direct mode?

Also, I checked that nVidia is actually doing something - the temp is rising on the GPU and I can see power drain from it.