ValveSoftware / SteamVR-for-Linux

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

[BUG] "Please plug in your VR headset" when headset is plugged in #428

Open yorgje opened 3 years ago

yorgje commented 3 years ago

Describe the bug When opening SteamVR, I just get the message "Please plug in your VR headset", even though it is plugged in. I've tried unplugging all other things from my computer, and tried all the combinations of display ports and usb ports, and they all show the same error.

To Reproduce Steps to reproduce the behavior:

  1. Plug in headset
  2. Open SteamVR

This also happens if I plug in the headset after opening SteamVR

Expected behavior The headset should be detected

System Information (please complete the following information):

Additional context The same setup was working with Ubuntu 20.04 a few weeks ago. I suspect it's a hardware issue with my cable, but steam support told me to open an issue here.

It looks like my usb connection is being detected, since lsusb returns: Bus 002 Device 018: ID 28de:2400 Valve Software USB5744

but xrandr doesn't seem to be picking up anything that looks like my headset. Also, my headset appears to be powered, because the blue lights are on.

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

ZarathustraDK commented 3 years ago

I've had this problem a couple of times before, and I don't think it's a problem with SteamVR.

It seems like it's a difficult problem to troubleshoot, since I've seen many posts as this one, but the workaround I arrived at was reinstalling my distro without the headset plugged in. Install SteamVR and only connect the HMD when the program first asks for it.

I think it's some kind of problem regarding the way linux identifies and stores hardware-id's. SteamVR-HMD's are kind of special in that regard since some of the hardware is unavailable to linux until it is initialized through SteamVR (for instance the sound-profile for the HMD-speakers/headphones first becomes available to choose in pulseaudio after SteamVR is started).

IIRC some people also managed to get it back in working order by some magic combination of unplugging/replugging/severing/connecting/quitting/restarting the USB-cable/DisplayPort-cable/Breakaway-cable/Steamvr/Steam.

Not much help, I know.

owenwastaken commented 3 years ago

I had a similar issue and it was fixed by adding these lines to /etc/udev/rules.d/99-local.rules. Github has issues with multi line code blocks but copy and pasting the whole thing still works

# HTC Vive HID Sensor naming and permissioning
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", MODE="0666", GROUP="usb"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2101", MODE="0666", GROUP="usb"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2000", MODE="0666", GROUP="usb"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1043", MODE="0666", GROUP="usb"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2050", MODE="0666", GROUP="usb"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2011", MODE="0666", GROUP="usb"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", MODE="0666", GROUP="usb"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", MODE="0666", GROUP="usb"

# HTC Camera USB Node
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8328", MODE="0666", GROUP="usb"

# HTC Mass Storage Node
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8200", MODE="0666", GROUP="usb"
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8a12", MODE="0666", GROUP="usb"
iddm commented 3 years ago

Is there anything like that but for the Valve Index?

kisak-valve commented 3 years ago

Hello @vityafx, https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-vr.rules, which is bundled with the Valve-provided Steam package, should cover udev rules for both the HTC Vive and Valve Index.

iddm commented 3 years ago

My fault, it just wasn't connected properly via usb, and I didn't notice that. Once I connected it properly everything started to work.

slwu89 commented 2 years ago

@kisak-valve hello, I am having this problem too, for the Valve Index. where do we add those lines in the file you linked to? https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-vr.rules

owenwastaken commented 2 years ago

@kisak-valve hello, I am having this problem too, for the Valve Index. where do we add those lines in the file you linked to? https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-vr.rules

Add the file to /etc/udev/rules.d

slwu89 commented 2 years ago

Thanks @owenwastaken, I'll probably have to open a separate issue with system info or make a support ticket, still have the problem.