SteamVR-for-Linux
SteamVR-for-Linux copied to clipboard
Error: Shared IPC Compositor Invalid Connect Response (307)
Your system information
- Steam client version (build number or date): Feb 23 2017 at 00:38:08
- Distribution (e.g. Ubuntu): Debian Sid
- Graphics driver version (run nvidia-settings): 375.27.10
- Gist for SteamVR System Information: https://gist.github.com/Seegras/536eb51028e5c84df84809f0dbb6d701 (Sorry, gist insisted on removing LFs).
- Opted into Steam client beta?: [Yes/No] Yes
- Opted into SteamVR beta?: [Yes/No] Yes
- Have you checked for system updates?: [Yes/No] Yes
Please describe your issue in as much detail as possible:
Steam started with STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 (or without, doesn't change) Upon Starting "SteamVR (BETA)" it comes up with an error:
SteamVR failed to initialize for unknown reasons (Error: Shared IPC Compositor Invalid Connect Response (307))
After this, the monitor does detect headset, controllers and base stations and their state (standby/ready/connected), but an error-window persists ("Connect Failed: A key component of SteamVR isn't working properly") and everything else, including room setup doesn't work.
I can enable the Vive as display via nvidia-settings (and it will show a distorted workspace), but the error remains the same.
Error-Code is not on https://developer.valvesoftware.com/wiki/SteamVR/Error_Codes
Have you tried running Steam with STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 set? That env var plus switching to Ubuntu 16.04 ended up getting my Vive finally working.
Yes. I already wrote that I did test it with STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 and without (actually even with STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1). Same error.
As far as I can see the following happens: vrserver starts up, starts listening to a port. vrcompositor starts up, connects to vrserver on that port, opens up a port on its own. vrdashboard and vrmonitor both try to connect to that vrcompositor port, both get "Timeout while waiting for message of type VRMsg_CompositorConnectResponse on pipe." vrdashboard turns zombie upon that. Same thing happens for room setup. I then sniffed the traffic, which turned out to be pretty one-sided. vrcompositor does not answer. And strace does not show it doing anything.
I now started vrcompositor under gdb, and -- it miraculously works. Started as: (gdb) set follow-fork-mode child and (gdb) run --keepalive. It doesn't even matter whether I use the steam-provided libraries or not. And I can start another vrcompositor in gdb even after the default one already crashed.
Looks like this:
4585 ? Sl 0:20 vrmonitor 4632 ? Sl 9:58 vrserver 4641 ? Z 2:28 [vrcompositor] <defunct> 4764 pts/6 S+ 0:00 gdb vrcompositor 4768 pts/6 Sl 20:07 vrcompositor --keepalive 6764 ? Z 0:36 [vrdashboard] <defunct>
I think this is the same as #16 we (me and Kalman98) get this when starting a game instead of just steamvr.
@Seegras is your cpu amd?
Nope. CPU is 4 core i5-3570K, GFX is Nvidia GTX 960. And the Error really is 307 and not 306. I think I did get the 306 beforehand, but after one of the updates of the last days, I get the 307.
A strange thing is that we get this error(307) when trying to run a game but we get the other error(306) when only opening steamvr. It is very strage.
I get this error when I try to run in extended mode. I don't get this error when running in direct rendering mode. In direct rendering mode, the setup works but Dota 2, Destinations, etc all segfault. Somehow, I was able to get extended mode to work before (not getting this error, and dota 2 worked).
@Conzar According to the README:
The VR status window isn't currently aware of direct mode being enabled or not, so the "enable direct mode" and "disable direct mode" buttons should not be used; direct mode is automatically enabled where supported"
Did you enable/disable direct rendering through a means other than the GUI? Otherwise there shouldn't be any perceivable difference.
Yes. I edit the xorg to turn on hmd in extended mode. When its in extended mode, it doesn't crash. When i disable extended mode in xorg, it crashes with this error.
I had this issue while I was using the 375.27.13 NVIDIA driver from the NVIDIA Installer run with --no-glvnd-glx-client (and I think --no-glvnd-egl-client as well) to get the NVIDIA Linux Graphics Debugger working.
After reinstalling the driver without any options, the problem was solved for me.
The opposite would be quite impossible, since nvidia-vulkan-icd depends on libglx-nvidia0 which depends on libglx0-glvnd-nvidia. Anyway, I now made sure I have all the glvnd-versions installed. Can't test right now, because of https://github.com/ValveSoftware/steam-for-linux/issues/4887
@thestr4ng3r I am using the ppa from the readme. Any idea of how to enable the parameter using the PPA or is that not possible?
@Conzar I'm not sure how the driver in the ppa is configured or whether it can maybe be configured differently using the dpkg configuration mechanism. But since there seem to be people successfully running SteamVR with the driver from the ppa, the glvnd option should not be your problem.
If you are having this error, check the logfile ~/.local/share/Steam/logs/vrserver.txt and see if it has a line like "lighthouse: CHidDevice: Can't open USB device VID 00000bb4, PID 00002c87"
Same, when starting a game i get 307, when starting steamvr i get 306, this with null driver and nvidia/intel gpu
@johnv-valve I am having this error and I do in fact see the line lighthouse: CHidDevice: Can't open USB device VID 00000bb4, PID 00002c8 in the log, what does this mean?
nvidia-387 seems to have fixed my problem
running with nvidia 387.22 and still getting 306/307 errors.
I don't have the "lighthouse" error in vrserver.txt though...
Running:

nvidia-387 seems to have fixed my problem
what version of 387? 387.22?
I am getting a 307 error when running on NVIDIA 387.34 (Ubuntu 16.04 LTS, HWE Edge kernel).
This is happening after I updated my nvidia_icd.json file listed here, as using regular libGL will severely slow down my system, and make VR extremely laggy (though it does work). This almost appears to seem like the graphics card isn't handling rendering in this mode.
The patched ICD file does activate the GPU, but nothing actually happens. Direct mode also does not seem to work with that patch.
I ran across this error code with my new monitor. In my case, the GPU is just barely able handle the massive resolution at half the refresh rate and trying to run SteamVR on top of that caused a dc global validation failure: drm bandwidth validation failure which caused a segfault in RenderThread.
Check your dmesg folks!
Quick heads up that I started getting this on an AMD GPU under X11 one day out of what seemed like the blue
sometime I got this as well
Seemed like the only thing I couldn't get was a working StreamVR. Even when I went back to versions I knew had worked before.
Finally traced it down. DRI3 had become disabled due to me having upgraded mesa without also upgrading the Xorg amdgpu driver. Relevant message in Xorg log file
...
Nov 27 19:02:26 tux xserver-wrapper[19514]: DRI driver not from this Mesa build ('23.1.9' vs '23.0.3')
Nov 27 19:02:26 tux xserver-wrapper[19514]: failed to bind extensions
...
[ 132.209] (==) AMDGPU(0): DRI3 disabled
and xdpyinfo output
...
number of extensions: 27
..
DPMS
DRI2
GLX <-- DRI3 should follow DRI2
...
The reason it was so puzzling was the was a several day delay between when I upgraded the mesa drivers without upgrading amdgpu and when I logged out and back in, restarted Xorg, and triggering the loss of DRI3.
Now that I know what it is. It is totally reproducible. Make sure the mesa version agree, and everything works fine. Make them different, and it is all broken. Hope this info will help someone else.