ValveSoftware / SteamVR-for-Linux

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

[BUG] No image in headset since 1.11.8 #334

Open pwaller opened 4 years ago

pwaller commented 4 years ago

Describe the bug

SteamVR has stopped working since the latest beta update.

To Reproduce

Steps to reproduce the behavior:

  1. Start SteamVR
  2. See a new window showing both left-right eye that I've never seen before (separate from the "VR view", which is simultaneously visible.
  3. See green light on side of HTC Vive.
  4. See that headset display is not powered on (not even 'displaying black', but it's off)

Expected behavior

SteamVR to be happily working as it was yesterday :smile:

System Information (please complete the following information):

Distribution: Ubuntu 18.04.4
SteamVR version: beta 1.11.8
Steam client version: Apr 8 2020, at 20:52:25
Opted into Steam client beta?: Yes
Graphics driver version: nvidia 440.64
Gist for SteamVR System Information: I don't want to provide this right now. It's a Vive HTC.

Screenshots

There is a Headset Notice:

SteamVR has detected your headset running as a monitor. For best results, please switch to Direct Display Mode.

Screenshot from 2020-04-11 21-15-59

Clicking this button does not appear to have an effect. Subsequently clicking "Restart headset" causes the whole machine to hang.

pwaller commented 4 years ago

I can report that unplugging the headset and plugging it into a different displayport socket on the GPU seems to have fixed things.

The behaviour of steamvr when following the instructions before I did this was unfortunate, so I guess this is a bug; but I understand if this is closed without further resolution.

kolombet commented 4 years ago

Same problem on Ubuntu 19.10. System - intel nuc hades canyon NUC8i7HNK Intel(R) Core(TM) i7-8705G, Radeon RX Vega M GL 16Gb RAM. HTC Vive (first gen). Connected via HTMI. Detected as monitor on lock screen (and all ui rendered on Vive display). After login it goes black. No picture, tried to change slots, no luck. SteamVR on the same machine on windows10 works perfectly.

pwaller commented 4 years ago

At least for me, I think the issue was that my cable was not seated properly. I encountered this again, and this time the reason was almost certainly that it the video cable was not plugged in all the way.

fajarnugroho93 commented 4 years ago

Same problem on Ubuntu 19.10. System - intel nuc hades canyon NUC8i7HNK Intel(R) Core(TM) i7-8705G, Radeon RX Vega M GL 16Gb RAM. HTC Vive (first gen). Connected via HTMI. Detected as monitor on lock screen (and all ui rendered on Vive display). After login it goes black. No picture, tried to change slots, no luck. SteamVR on the same machine on windows10 works perfectly.

A bit unrelated, but by any chance, have you tried it on Ubuntu 18.04 with NUC hades canyon? Is it producing similar behavior?

codewiz commented 4 years ago

I think I'm hitting this same bug, although my hardware and software configuration is completely different:

Distribution: ArchLinux Desktop environment: KDE Headset: Valve Index (just unboxed and executed firmware update)

Steam client version: Aug 20 2020, at 22:45:24 Opted into Steam client beta?: Yes SteamVR version: 1.13.10, I guess? I see "vrstartup 1.13.10" in the console" but I don't see a version number anywhere else)

Linux kernel 5.8.3-arch1-1 mesa 20.1.6-1 vulkan-radeon 20.1.6-1 xf86-video-amdgpu 19.1.0-2

I see this warning, and clicking the "Enable Direct Display Mode" button restarts SteamVR, but nothing else happens:

image

codewiz commented 4 years ago

One more thing: I see the headset in xrandr, but it's marked "disconnected":

Screen 0: minimum 320 x 200, current 3440 x 1440, maximum 16384 x 16384 DisplayPort-0 disconnected (normal left inverted right x axis y axis) 2880x1600 90.00 + 144.00 120.02 80.00 1920x1200 90.00 1920x1080 90.00 1600x1200 90.00 1680x1050 90.00 1280x1024 90.00 1440x900 90.00 1280x800 90.00 1280x720 90.00 1024x768 90.00 800x600 90.00 640x480 90.00 DisplayPort-1 connected primary 3440x1440+0+0 (normal left inverted right x axis y axis) 819mm x 346mm 3440x1440 59.97*+ 99.98 30.00 3840x2160 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98 2560x1080 100.00 60.00 59.94 1920x1200 59.97 1920x1080 99.92 60.00 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98 1600x1200 59.97 1680x1050 59.95 1600x900 60.00 1280x1024 75.02 60.02 1440x900 59.97 1280x800 59.81 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 60.00 832x624 74.55 800x600 75.00 60.32 720x576 50.00 720x480 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 DisplayPort-2 disconnected (normal left inverted right x axis y axis) HDMI-A-0 disconnected (normal left inverted right x axis y axis) DisplayPort-1-3 disconnected (normal left inverted right x axis y axis) DisplayPort-1-4 disconnected (normal left inverted right x axis y axis) DisplayPort-1-5 disconnected (normal left inverted right x axis y axis) HDMI-A-1-1 disconnected (normal left inverted right x axis y axis)

codewiz commented 4 years ago

If I set the headset output to desktop mode, the headset is recognized as a regular screen and can be configured as a second screen besides the primary one:

xrandr --output DisplayPort-0 --set non-desktop 0

This confirms that the headset and the cable are working properly, but there must be some software issue. I'll try installing the latest SteamVR beta as soon as I figure out how to opt-in.

I'm a Linux engineer. Happy to run any commands or collect any logs that might help debug this issue.

kisak-valve commented 4 years ago

Hello @codewiz, you might be seeing the behavior I see on my VR test box when vrcompositor wrongly uses the Intel chipset to render instead of the AMD chipset that the HMD is attached to. As a quick test, you can check if you have intel_icd.x86_64.json and move it aside with something like sudo mv /usr/share/vulkan/icd.d/intel_icd.x86_64.json /usr/share/vulkan/icd.d/intel_icd.x86_64.json.disabled.

codewiz commented 4 years ago

Thanks for the suggestion, @kisak-valve. I only have the radeon_icd:

% ll /usr/share/vulkan/icd.d/
.rw-r--r-- root root 149B Thu Aug 20 18:20:04 2020   radeon_icd.i686.json
.rw-r--r-- root root 147B Thu Aug 20 17:47:25 2020   radeon_icd.x86_64.json

However, perhaps crucially, this machine has two Radeon Vega 64 cards installed:

% lspci | grep AMD
01:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge (rev c1)
02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64]
04:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge (rev c1)
05:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1)
06:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64]

Should I try unplugging (or powering off) the second one to see if it helps?

codewiz commented 4 years ago

Physically unplugging the second card solved the issue. So it looks like SteamVR is picking the wrong card...

Everything else works fine when both cards are plugged, including vkcube and X-Plane with the Vulkan renderer.

codewiz commented 4 years ago

Physically unplugging the second card solved the issue. So it looks like SteamVR is picking the wrong card...

Correction: I'm getting the same issue again today even with a single card. Looks like rebooting made things work once, but not reliably.

codewiz commented 4 years ago

afaict, this is the log showing the problem:

Mon Aug 24 2020 14:52:29.499130 - Looking for direct display through RandR Mon Aug 24 2020 14:52:29.499143 - - Root 0x6d4 Mon Aug 24 2020 14:52:29.500559 - - Output 0x55 - 48 modes, 1 preferred Mon Aug 24 2020 14:52:29.500584 - - Mode 0 0x5a 3440x1440 (looking for 2880x1600) Mon Aug 24 2020 14:52:29.500615 - - Output 0x56 - 0 modes, 0 preferred Mon Aug 24 2020 14:52:29.500698 - - Output 0x57 - 0 modes, 0 preferred Mon Aug 24 2020 14:52:29.500734 - - Output 0x58 - 0 modes, 0 preferred Mon Aug 24 2020 14:52:29.500749 - Tried to find direct display through RandR: (nil) Mon Aug 24 2020 14:52:29.500759 - Looking for direct display through Vulkan WSI Mon Aug 24 2020 14:52:29.500772 - Tried to find direct display through Vulkan WSI: (nil) Mon Aug 24 2020 14:52:29.500781 - CHmdWindowSDL: Failed to create direct mode surface Mon Aug 24 2020 14:52:29.501011 - Requesting 10 device extensions: Mon Aug 24 2020 14:52:29.501022 - - VK_KHR_swapchain Mon Aug 24 2020 14:52:29.501030 - - VK_KHR_maintenance1 Mon Aug 24 2020 14:52:29.501038 - - VK_KHR_dedicated_allocation Mon Aug 24 2020 14:52:29.501045 - - VK_KHR_get_memory_requirements2 Mon Aug 24 2020 14:52:29.501052 - - VK_KHR_external_memory Mon Aug 24 2020 14:52:29.501060 - - VK_KHR_external_semaphore Mon Aug 24 2020 14:52:29.501067 - - VK_EXT_display_control Mon Aug 24 2020 14:52:29.501074 - - VK_KHR_external_memory_fd Mon Aug 24 2020 14:52:29.501081 - - VK_KHR_external_semaphore_fd Mon Aug 24 2020 14:52:29.501089 - - VK_EXT_global_priority Mon Aug 24 2020 14:52:29.501096 - Attempting to enable async support... Mon Aug 24 2020 14:52:29.501103 - Enabling async support! Mon Aug 24 2020 14:52:29.511162 - m_pVkInstance : 0x29ff1b0 Mon Aug 24 2020 14:52:29.511201 - m_pVkPhysicalDevice : 0x2baf930 Mon Aug 24 2020 14:52:29.511211 - m_pVkDevice : 0x2ba13c0 Mon Aug 24 2020 14:52:29.511219 - m_pVkGraphicsQueue : 0x28cb200 Mon Aug 24 2020 14:52:29.511227 - m_pVkComputeQueue : 0x2b676b0 Mon Aug 24 2020 14:52:29.515416 - HMD swapchain mode:1 count:4 Mon Aug 24 2020 14:52:29.530524 - Direct mode: disabled

codewiz commented 4 years ago

Oh... this time the HMD did not show at all in the xrandr output. I just unplugged and re-plugged the DisplayPort connector, and now it works.

Could it be a bug or some sort of race-condition in the amdgpu connector hot-plug logic? Or in the HMD firmware?

pwaller commented 4 years ago

I have observed that sometimes the LEDs on the headset will be red. If they are red, this problem manifests. If I unplug and replug the headset, typically the headset LEDs go blue. Then everything works (with a complete restart of steamvr and steam, breaking out pkill -9 if necessary).

PureTryOut commented 4 years ago

I just got a brand new Valve Index and can reproduce this issue. Running Kubuntu 20.04 with the SteamVR and Mesa ppa's from Kisak enabled. No image in headset, Steam unwilling to actually turn on direct mode, and I can view whatever the display is supposed to see normally as a window on my desktop.

I guess for now I'll have to get a Windows installation from somewhere as my headset is unusable so far...

kisak-valve commented 4 years ago

Hello @PureTryOut, do you have an Intel cpu + AMD gpu system? I've seen that behavior in the past if vrcompositor started up on the Intel GPU while the HMD is attached to the AMD GPU. As a test you can try sudo mv /usr/share/vulkan/icd.d/intel_icd.x86_64.json /usr/share/vulkan/icd.d/intel_icd.x86_64.json.disabled which disables 64 bit vulkan on the Intel GPU. (from my legacy notes on https://launchpad.net/~kisak/+archive/ubuntu/steamvr)

PureTryOut commented 4 years ago

No it's a Ryzen R7 1700 with a RX 580, no Intel components are present on this system.

PureTryOut commented 4 years ago

It seems I can't even install Windows on this PC, missing drivers or something, idk. So I now have a useless €1000 headset :sob:

Is there anything I can do to help debug this further?

As mentioned, this is a full AMD system so Intel can't be an issue here. My system normally runs Alpine Linux on which Steam (sadly) doesn't run so I'm trying this in both a Debian chroot and on a Kubuntu 20.04 installation from an external hard disk (although that fact is irrelevant to this, I normally run it in Flatpak but that has different issues currently). Both methods cause the exact same behaviour: Steam realizes the headset is not in direct mode and offers to enable it, tries to restart SteamVR (which it often fails at and I have to manually launch it again, but not always) only to then realize again that the system is still not in direct mode. The image on the headset itself stays black all this time, I don't think it's even turned on. I can however move the headset around and see it move on the window on my normal monitors, so at least tracking is working normally.

godefv commented 4 years ago

Here is why the display shows as disconnected.

Option "AllowHMD" "string"

Most Virtual Reality Head Mounted Displays (HMDs), such as the HTC VIVE, require special image processing. This means it is usually undesirable to display the X11 desktop on an HMD. By default, the NVIDIA X driver will treat any detected HMDs as disconnected. To override this behavior, set the X configuration option "AllowHMD" to "yes", or explicitly list the HMDs to allow (any other HMDs will continue to be ignored).

Examples:

    Option "AllowHMD" "yes"

    Option "AllowHMD" "HDMI-0, HDMI-1"
godefv commented 4 years ago

In my case, steamVR chooses my main display instead of my valve Index.

Here is the log from ~/.steam/steam/logs/vrcompositor.txt .

Thu Oct 22 2020 22:24:53.138781 - HMD deviceUUID is dfd8168775644ebf
Thu Oct 22 2020 22:24:53.138838 - Looking for direct display through RandR
Thu Oct 22 2020 22:24:53.138857 -  - Root 0x293
Thu Oct 22 2020 22:24:53.158667 -    - Output 0x27d - 0 modes, 0 preferred
Thu Oct 22 2020 22:24:53.158754 -    - Output 0x27e - 12 modes, 1 preferred
Thu Oct 22 2020 22:24:53.158772 -      - Mode 0 0x27f 1600x900 (looking for 2880x1600)
Thu Oct 22 2020 22:24:53.158829 -    - Output 0x28b - 0 modes, 0 preferred
Thu Oct 22 2020 22:24:53.158881 -    - Output 0x28c - 0 modes, 0 preferred
Thu Oct 22 2020 22:24:53.158935 -    - Output 0x28d - 0 modes, 0 preferred
Thu Oct 22 2020 22:24:53.158975 -    - Output 0x28e - 0 modes, 0 preferred
Thu Oct 22 2020 22:24:53.158999 - Tried to find direct display through RandR: (nil)
Thu Oct 22 2020 22:24:53.159018 - Looking for direct display through Vulkan WSI
Thu Oct 22 2020 22:24:53.180064 -  - Vulkan output 0: 1600x900 resolution, 440x250 dimensions - BenQ G2025HD (DVI-I-1)
Thu Oct 22 2020 22:24:53.180132 - Tried to find direct display through Vulkan WSI: (nil)
Thu Oct 22 2020 22:24:53.180154 - CHmdWindowSDL: Failed to create direct mode surface

The "AllowHMD" option is clearly meant to remove the HMD from xrandr. Even when enabled with nvidia-xconfig --allow-hmd=yes, it shows as connected but has still no modes. So, I expect that the HMD is supposed to be found through Vulkan WSI, but it is not.

jp7677 commented 4 years ago

Just to be sure, have you tried the "Restart headset" menu entry in SteamVR? Sometimes I'm seeing the same behavior you are describing here on Fedora 32 on my Index when starting SteamVR directly after powering the headset. The display stays off, but Motion tracking works, the Index led's on the front are red indicating an initialization error. When that happens I’m using the "Restart headset" menu entry and everything starts fine after that.

(Sorry if you have already tried this, which i guess you have, I just wanted to mention this to be sure)

PureTryOut commented 4 years ago

Yes I have, nothing helps. Note that although the Index's display stays off, the image that's supposed to appear on there shows up on the desktop instead. And no that's not the view mirroring feature.

jp7677 commented 4 years ago

Yes I have, nothing helps. Note that although the Index's display stays off, the image that's supposed to appear on there shows up on the desktop instead. And no that's not the view mirroring feature.

Yeah I know which window you mean. I’m seeing that too once in a while next to the mirror. Though as stated, restarting the headset resolves it for me. Sorry that I couldn’t really contribute to your actual issue.

PureTryOut commented 4 years ago

I've been messing around with VR more, and at least OpenXR in combination with the Monado runtime works fine. SteamVR Beta (so also an OpenXR implementation) however has the same bug as the OpenVR version.

Whatever it is, switching SteamVR from OpenVR to OpenXR doesn't fix it. Hopefully at some point Steam will support Monado as the official OpenXR runtime, at least on Linux.

godefv commented 4 years ago

I have also tried to "Reset Headset" without success. I also have the valve display off and a window on my main screen, showing what should be in the headset. The lights on the Index are blue.

godefv commented 4 years ago

Problem solved here. You can have more X logs with startx -- -logverbose 6. Then, check your logs (less /var/log/Xorg.0.log). Look for a line with "Building ModePool for \".

In my case, I get

[ 27734.618] (II) NVIDIA(GPU-0): --- Building ModePool for Valve Corporation Index HMD (DFP-4)
[ 27734.618] (II) NVIDIA(GPU-0):     ---
[ 27734.618] (**) NVIDIA(GPU-0): Mode Validation Overrides for Valve Corporation Index HMD
[ 27734.618] (**) NVIDIA(GPU-0):     (DFP-4):
[ 27734.618] (**) NVIDIA(GPU-0):     AllowNonEdidModes
[ 27734.618] (WW) NVIDIA(GPU-0):   Validating Mode "2880x1600_90":
[ 27734.618] (WW) NVIDIA(GPU-0):     Mode Source: EDID
[ 27734.618] (WW) NVIDIA(GPU-0):     2880 x 1600 @ 90 Hz
[ 27734.618] (WW) NVIDIA(GPU-0):       Pixel Clock      : 686.00 MHz
[ 27734.618] (WW) NVIDIA(GPU-0):       HRes, HSyncStart : 2880, 2888
[ 27734.618] (WW) NVIDIA(GPU-0):       HSyncEnd, HTotal : 2920, 2960
[ 27734.618] (WW) NVIDIA(GPU-0):       VRes, VSyncStart : 1600, 2565
[ 27734.618] (WW) NVIDIA(GPU-0):       VSyncEnd, VTotal : 2571, 2575
[ 27734.618] (WW) NVIDIA(GPU-0):       Sync Polarity    : -H -V 
[ 27734.618] (WW) NVIDIA(GPU-0):     ViewPort 2880x1600 exceeds hardware capabilities.
[ 27734.618] (WW) NVIDIA(GPU-0):     Mode is rejected: GPU extended capability check failed.
[ 27734.618] (WW) NVIDIA(GPU-0):     GPU extended capability check failed.
[ 27734.618] (WW) NVIDIA(GPU-0):     Mode "2880x1600_90" is invalid.
[ 27734.618] (WW) NVIDIA(GPU-0): 
...

The headset is actually detected, and the supported modes are detected as well, but my GPU does not support the high resolution. I have received the headset before my new GPU and I have been trying with my old GPU.

If xrandr doesn't show any modes for your headset, check those logs as well to see why.

PureTryOut commented 4 years ago

I doubt that is the issue for me (I can't check currently, will do tomorrow), as the same setup works fine for me on Windows (3x 1080p monitor and the Valve Index), literally just not on Linux. Also, you use NVIDIA while myself and the others here seem to use AMD, that might be a cause for the issue as well.

PureTryOut commented 4 years ago

Can any Valve employee mention something here about the status of this bug? I've payed €1079 for this headset but it's a paper weight on Linux. Should I contact support directly to get some employees on this bug actively?

ChristophHaag commented 4 years ago

If the display works in monado this will be some sort of SteamVR issue. If you can create a SteamVR system report (SteamVR menu -> Create System Report), that could give a hint. (it will include ~/.local/share/Steam/logs/vrcompositor.txt where the most relevant output should be).

btw: The "Enable Direct Mode" button doesn't do anything on Linux. If the Vulkan direct mode extension can be successfully used, you get direct mode, if it fails, you get extended mode.

PureTryOut commented 4 years ago

SteamVR-2020-11-02-PM_03_41_49.txt vrserver.txt vrcompositor.txt

Axeltherabbit commented 4 years ago

Same issue on arch with a nvidia GPU

EDIT: solved by moving the screen on the hdvi port and the vive on the hdmi and so far everything works fine

PureTryOut commented 3 years ago

I'm still experiencing this issue, 3 months after buying this headset (Valve Index) I still can't use it to play games on Linux. I've tried regular SteamVR and the beta, but it makes no difference.

Valve, please have someone look into this. I payed a fortune for this device, and this way it's just a brick.

@kisak-valve

happysmash27 commented 3 years ago

It seems I can't even install Windows on this PC, missing drivers or something, idk. So I now have a useless €1000 headset sob

Is there anything I can do to help debug this further?

As mentioned, this is a full AMD system so Intel can't be an issue here. My system normally runs Alpine Linux on which Steam (sadly) doesn't run so I'm trying this in both a Debian chroot and on a Kubuntu 20.04 installation from an external hard disk (although that fact is irrelevant to this, I normally run it in Flatpak but that has different issues currently). Both methods cause the exact same behaviour: Steam realizes the headset is not in direct mode and offers to enable it, tries to restart SteamVR (which it often fails at and I have to manually launch it again, but not always) only to then realize again that the system is still not in direct mode. The image on the headset itself stays black all this time, I don't think it's even turned on. I can however move the headset around and see it move on the window on my normal monitors, so at least tracking is working normally.

Are you using the X11 or Wayland version of KDE? And what is your uname -r?

I noticed that X11 won't use my headset as an output unless I enable extended mode with a command that I was only able to find after someone linked it to me. Before I found this method in X11, however, I noticed that the Wayland compositor Sway would use my HMD as a normal display output no problem. Given that I frequently have game compatibility issues with Sway on Wayland, it might help to use an X11 window manager instead.

Also, make sure that your kernel is new enough to recognise the Valve Index as a VR headset. I would make sure you are on at least 4.19.50, as this is where the commit to "Add vendor/product pairs for the Valve Index HMDs, but in general, newer is probably better. I am on kernel 5.11.0-gentoo right now, and was on kernel 5.9.14-gentoo when I started using my HTC Vive.

I would also be cautious around USB 3.0. Neither of my USB 3.0 cards will work stably with my HTC Vive, but my on-board USB 2.0 works fine.

I would also suggest possibly trying LXDE for this instead of KDE, since LXDE is really stable and seems to always work with basically everything. Less chances of anything interfering on LXDE; it doesn't even have compositing! Plus, LXDE is what I use, so would pretty much rule out the window manager as being the issue since I already know it works on it.

Also, make sure your graphics drivers support Vulkan. Does vulkaninfo work? If so, what is the output of vulkaninfo|grep driverInfo? I use Mesa 21.0.0-rc3, and find this works well. The newest Git version, on the other hand, will cause the entire graphics stack to crash on the second launch after an error message. I should probably create an issue for that on Mesa's end, actually, but haven't gotten to it.

PureTryOut commented 3 years ago
  1. yes I use X11. No Wayland doesn't use it as a display as it explicitly ignores it (on purpose, which is what I want) and using it doesn't make the headset work properly either
  2. The first time I tried the headset I was using Linux 5.4, now I'm using 5.10. The kernel is not the problem. Especially as it works fine with Monado like I said before already, it's a SteamVR problem
  3. Uh... I don't even have USB 2.0 on my PC. I don't see why that would ever cause a problem
  4. No I'm not going to switch DE, especially not to LXDE as I just don't like that DE (besides LXQt is it's successor which should be used instead afaik)
  5. Yes my graphics drivers support Vulkan, I can run Vulkan games just fine
happysmash27 commented 3 years ago

You don't have to switch DE entirely. I have a bunch of them installed and switch between them on log-in. LXDE should be fairly easy to install and uninstall as a test, because it has so few dependencies.

I never really liked it much either... but it's so stable and fast compared to everything else that I ended up spending more and more time in it until I was using it pretty much 100% of the time. It doesn't rely on QT so I can do the uninstalling and reinstalling of all QT packages needed to upgrade QT on Gentoo (really wish it didn't need to work this way, since I was using KDE at first but this kept pushing me to this "temporary" placeholder DE instead) while still having some GUI to web browse, and it is also X11 so a few games like Transport Fever that won't work in Sway work great in LXDE.

Regardless, though, which Mesa version do you use? That's what vulkaninfo | grep driverInfo should output.

It doesn't look like my initial suspicions on what could be going wrong have been very fruitful. I will try looking at the logs to see if I see anything weird.

happysmash27 commented 3 years ago

Here is my system report for comparison:

SteamVR-2021-02-19-AM_11_54_44.txt

So far, the main difference appears to be that yours says it is in extended mode, while mine says it is in direct mode. I didn't even know saying it was in extended mode was possible on Linux!

happysmash27 commented 3 years ago

I think this might be best reported as a separate issue, because I think it is an unrelated issue to the one here, but with the same effect. I think the problem is, that SteamVR is detecting your HMD as being in extended mode for some reason, even though it is not. Do the logs say the same thing in Kubuntu? The chroot setup could be acting weirdly in terms of being able to directly access the display.

PureTryOut commented 3 years ago

It's the exact same symptons, I don't see how my issue is different than OP's.

Yes Kubuntu has exact same behaviour and logs, it's not related to my chroot and/or Flatpak setup.

happysmash27 commented 3 years ago
Looking back in the thread and seeing where someone else found the error in the logs, I can finally compare our logs and see where they differ in detecting the monitor. Mine is the following:

``` Fri Feb 19 2021 11:43:25.900039 - Events created Fri Feb 19 2021 11:43:25.901725 - Found bad mirror window settings: Fri Feb 19 2021 11:43:25.901757 - Creating CHmdWindowSDL! Fri Feb 19 2021 11:43:26.014380 - Instance layers available: Fri Feb 19 2021 11:43:26.014439 - - VK_LAYER_NV_optimus, version 4198519 Fri Feb 19 2021 11:43:26.014463 - - VK_LAYER_MANGOHUD_overlay, version 4202631 Fri Feb 19 2021 11:43:26.014486 - - VK_LAYER_MESA_device_select, version 4202569 Fri Feb 19 2021 11:43:26.014508 - - VK_LAYER_VALVE_steam_overlay_32, version 4202632 Fri Feb 19 2021 11:43:26.014530 - - VK_LAYER_VALVE_steam_overlay_64, version 4202632 Fri Feb 19 2021 11:43:26.014552 - - VK_LAYER_VALVE_steam_fossilize_32, version 4202632 Fri Feb 19 2021 11:43:26.014574 - - VK_LAYER_VALVE_steam_fossilize_64, version 4202632 Fri Feb 19 2021 11:43:26.014596 - - VK_LAYER_KHRONOS_validation, version 4202658 Fri Feb 19 2021 11:43:26.037295 - Instance extensions available: Fri Feb 19 2021 11:43:26.037357 - - VK_KHR_device_group_creation, version 1 Fri Feb 19 2021 11:43:26.037382 - - VK_KHR_display, version 21 Fri Feb 19 2021 11:43:26.037405 - - VK_KHR_external_fence_capabilities, version 1 Fri Feb 19 2021 11:43:26.037427 - - VK_KHR_external_memory_capabilities, version 1 Fri Feb 19 2021 11:43:26.037449 - - VK_KHR_external_semaphore_capabilities, version 1 Fri Feb 19 2021 11:43:26.037471 - - VK_KHR_get_display_properties2, version 1 Fri Feb 19 2021 11:43:26.037493 - - VK_KHR_get_physical_device_properties2, version 1 Fri Feb 19 2021 11:43:26.037515 - - VK_KHR_get_surface_capabilities2, version 1 Fri Feb 19 2021 11:43:26.037537 - - VK_KHR_surface, version 25 Fri Feb 19 2021 11:43:26.037559 - - VK_KHR_surface_protected_capabilities, version 1 Fri Feb 19 2021 11:43:26.037601 - - VK_KHR_xcb_surface, version 6 Fri Feb 19 2021 11:43:26.037625 - - VK_KHR_xlib_surface, version 6 Fri Feb 19 2021 11:43:26.037647 - - VK_EXT_acquire_xlib_display, version 1 Fri Feb 19 2021 11:43:26.037670 - - VK_EXT_debug_report, version 9 Fri Feb 19 2021 11:43:26.037692 - - VK_EXT_debug_utils, version 1 Fri Feb 19 2021 11:43:26.037715 - - VK_EXT_direct_mode_display, version 1 Fri Feb 19 2021 11:43:26.037738 - - VK_EXT_display_surface_counter, version 1 Fri Feb 19 2021 11:43:26.037760 - - VK_KHR_wayland_surface, version 6 Fri Feb 19 2021 11:43:26.037786 - Direct mode features: present Fri Feb 19 2021 11:43:26.037809 - Requesting 9 instance extensions: Fri Feb 19 2021 11:43:26.037832 - - VK_KHR_surface Fri Feb 19 2021 11:43:26.037854 - - VK_KHR_xcb_surface Fri Feb 19 2021 11:43:26.037877 - - VK_KHR_display Fri Feb 19 2021 11:43:26.037899 - - VK_EXT_direct_mode_display Fri Feb 19 2021 11:43:26.037922 - - VK_EXT_acquire_xlib_display Fri Feb 19 2021 11:43:26.037944 - - VK_EXT_display_surface_counter Fri Feb 19 2021 11:43:26.037972 - - VK_KHR_external_memory_capabilities Fri Feb 19 2021 11:43:26.037994 - - VK_KHR_external_semaphore_capabilities Fri Feb 19 2021 11:43:26.038017 - - VK_KHR_get_physical_device_properties2 Fri Feb 19 2021 11:43:26.059152 - HMD deviceUUID is 300000000 Fri Feb 19 2021 11:43:26.059221 - Looking for direct display through RandR Fri Feb 19 2021 11:43:26.059254 - - Root 0x6be Fri Feb 19 2021 11:43:26.061213 - - Output 0x55 - 12 modes, 1 preferred Fri Feb 19 2021 11:43:26.061244 - - Mode 0 0x5a 1280x1024 (looking for 2160x1200) Fri Feb 19 2021 11:43:26.061291 - - Output 0x56 - 12 modes, 1 preferred Fri Feb 19 2021 11:43:26.061318 - - Mode 0 0x5a 1280x1024 (looking for 2160x1200) Fri Feb 19 2021 11:43:26.061399 - - Output 0x57 - 0 modes, 0 preferred Fri Feb 19 2021 11:43:26.061445 - - Output 0x58 - 15 modes, 1 preferred Fri Feb 19 2021 11:43:26.061472 - - Mode 0 0x66 2160x1200 (looking for 2160x1200) Fri Feb 19 2021 11:43:26.061495 - - Found matching output 88 Fri Feb 19 2021 11:43:26.061524 - Found candidate direct display as RandR output 0x58 Fri Feb 19 2021 11:43:26.064742 - Tried to find direct display through RandR: 0x5575b3c07440 Fri Feb 19 2021 11:43:26.064776 - Trying to match desired rate of 90.000000Hz. Fri Feb 19 2021 11:43:26.064801 - 15 modes on display: Fri Feb 19 2021 11:43:26.064826 - - 0: 2160x1200@89.527008Hz Fri Feb 19 2021 11:43:26.064852 - - 1: 1920x1200@89.527008Hz Fri Feb 19 2021 11:43:26.064876 - - 2: 1920x1080@89.527008Hz Fri Feb 19 2021 11:43:26.064900 - - 3: 1600x1200@89.527008Hz Fri Feb 19 2021 11:43:26.064924 - - 4: 1680x1050@89.527008Hz Fri Feb 19 2021 11:43:26.064961 - - 5: 1280x1024@89.527008Hz Fri Feb 19 2021 11:43:26.064996 - - 6: 1440x900@89.527008Hz Fri Feb 19 2021 11:43:26.065024 - - 7: 1280x800@89.527008Hz Fri Feb 19 2021 11:43:26.065048 - - 8: 1280x720@89.527008Hz Fri Feb 19 2021 11:43:26.065073 - - 9: 1024x768@89.527008Hz Fri Feb 19 2021 11:43:26.065097 - - 10: 800x600@89.527008Hz Fri Feb 19 2021 11:43:26.065121 - - 11: 720x480@60.000004Hz Fri Feb 19 2021 11:43:26.065145 - - 12: 720x480@59.940002Hz Fri Feb 19 2021 11:43:26.065169 - - 13: 640x480@60.000004Hz Fri Feb 19 2021 11:43:26.065193 - - 14: 640x480@59.940002Hz Fri Feb 19 2021 11:43:26.065216 - Selected mode 0. Fri Feb 19 2021 11:43:26.070413 - Direct mode surface: 0x5575b3959100 Fri Feb 19 2021 11:43:26.070885 - Requesting 10 device extensions: Fri Feb 19 2021 11:43:26.070918 - - VK_KHR_swapchain Fri Feb 19 2021 11:43:26.070942 - - VK_KHR_maintenance1 Fri Feb 19 2021 11:43:26.070988 - - VK_KHR_dedicated_allocation Fri Feb 19 2021 11:43:26.071018 - - VK_KHR_get_memory_requirements2 Fri Feb 19 2021 11:43:26.071045 - - VK_KHR_external_memory Fri Feb 19 2021 11:43:26.071073 - - VK_KHR_external_semaphore Fri Feb 19 2021 11:43:26.071098 - - VK_EXT_display_control Fri Feb 19 2021 11:43:26.071121 - - VK_KHR_external_memory_fd Fri Feb 19 2021 11:43:26.071143 - - VK_KHR_external_semaphore_fd Fri Feb 19 2021 11:43:26.071184 - - VK_EXT_global_priority Fri Feb 19 2021 11:43:26.071207 - Attempting to enable async support... Fri Feb 19 2021 11:43:26.071230 - Enabling async support! Fri Feb 19 2021 11:43:26.083336 - m_pVkInstance : 0x5575b3be24d0 Fri Feb 19 2021 11:43:26.083387 - m_pVkPhysicalDevice : 0x5575b3932d00 Fri Feb 19 2021 11:43:26.083412 - m_pVkDevice : 0x5575b3c36830 Fri Feb 19 2021 11:43:26.083435 - m_pVkGraphicsQueue : 0x5575b3961df0 Fri Feb 19 2021 11:43:26.083457 - m_pVkComputeQueue : 0x5575b3957bc0 Fri Feb 19 2021 11:43:26.083485 - HMD swapchain mode:2 count:3 Fri Feb 19 2021 11:43:26.083765 - Direct mode: enabled Fri Feb 19 2021 11:43:26.084780 - Mirror swapchain mode:0 count:4 Fri Feb 19 2021 11:43:26.150782 - CGraphicsDevice Init... Fri Feb 19 2021 11:43:26.151540 - Headset is using direct mode Fri Feb 19 2021 11:43:26.151576 - Initializing timing resources Fri Feb 19 2021 11:43:26.151779 - Initializing CVulkanVRRenderer Fri Feb 19 2021 11:43:26.151823 - Debug markers: disabled, missing extension support. Is the Renderdoc layer enabled? Fri Feb 19 2021 11:43:26.479477 - Initialized Vulkan transfer ring buffer, mapped at offset 0x0x7f42f0000000. Fri Feb 19 2021 11:43:26.480263 - Updated HMD Prop_DisplayFrequency_Float to 90.000000 ```

Meanwhile, this is what your logs say:

``` Mon Nov 02 2020 15:40:17.081399 - Events created Mon Nov 02 2020 15:40:17.082165 - Creating CHmdWindowSDL! Mon Nov 02 2020 15:40:17.176425 - Instance layers available: Mon Nov 02 2020 15:40:17.176479 - - VK_LAYER_VALVE_steam_fossilize_64, version 4202632 Mon Nov 02 2020 15:40:17.176496 - - VK_LAYER_VALVE_steam_overlay_64, version 4202632 Mon Nov 02 2020 15:40:17.176510 - - VK_LAYER_VALVE_steam_overlay_32, version 4202632 Mon Nov 02 2020 15:40:17.176523 - - VK_LAYER_VALVE_steam_fossilize_32, version 4202632 Mon Nov 02 2020 15:40:17.176535 - - VK_LAYER_LUNARG_standard_validation, version 4194401 Mon Nov 02 2020 15:40:17.181076 - Instance extensions available: Mon Nov 02 2020 15:40:17.181129 - - VK_KHR_device_group_creation, version 1 Mon Nov 02 2020 15:40:17.181145 - - VK_KHR_external_fence_capabilities, version 1 Mon Nov 02 2020 15:40:17.181158 - - VK_KHR_external_memory_capabilities, version 1 Mon Nov 02 2020 15:40:17.181171 - - VK_KHR_external_semaphore_capabilities, version 1 Mon Nov 02 2020 15:40:17.181183 - - VK_KHR_get_display_properties2, version 1 Mon Nov 02 2020 15:40:17.181195 - - VK_KHR_get_physical_device_properties2, version 1 Mon Nov 02 2020 15:40:17.181207 - - VK_KHR_get_surface_capabilities2, version 1 Mon Nov 02 2020 15:40:17.181219 - - VK_KHR_surface, version 25 Mon Nov 02 2020 15:40:17.181231 - - VK_KHR_wayland_surface, version 6 Mon Nov 02 2020 15:40:17.181243 - - VK_KHR_xcb_surface, version 6 Mon Nov 02 2020 15:40:17.181262 - - VK_KHR_xlib_surface, version 6 Mon Nov 02 2020 15:40:17.181280 - - VK_KHR_display, version 23 Mon Nov 02 2020 15:40:17.181301 - - VK_EXT_acquire_xlib_display, version 1 Mon Nov 02 2020 15:40:17.181319 - - VK_EXT_debug_report, version 8 Mon Nov 02 2020 15:40:17.181336 - - VK_EXT_direct_mode_display, version 1 Mon Nov 02 2020 15:40:17.181349 - - VK_EXT_display_surface_counter, version 1 Mon Nov 02 2020 15:40:17.181361 - - VK_EXT_debug_utils, version 1 Mon Nov 02 2020 15:40:17.181375 - Direct mode features: present Mon Nov 02 2020 15:40:17.181387 - Requesting 9 instance extensions: Mon Nov 02 2020 15:40:17.181399 - - VK_KHR_surface Mon Nov 02 2020 15:40:17.181410 - - VK_KHR_xcb_surface Mon Nov 02 2020 15:40:17.181431 - - VK_KHR_display Mon Nov 02 2020 15:40:17.181442 - - VK_EXT_direct_mode_display Mon Nov 02 2020 15:40:17.181454 - - VK_EXT_acquire_xlib_display Mon Nov 02 2020 15:40:17.181466 - - VK_EXT_display_surface_counter Mon Nov 02 2020 15:40:17.181477 - - VK_KHR_external_memory_capabilities Mon Nov 02 2020 15:40:17.181488 - - VK_KHR_external_semaphore_capabilities Mon Nov 02 2020 15:40:17.181500 - - VK_KHR_get_physical_device_properties2 Mon Nov 02 2020 15:40:17.185365 - HMD deviceUUID is c00000000 Mon Nov 02 2020 15:40:17.185403 - Looking for direct display through RandR Mon Nov 02 2020 15:40:17.185420 - - Root 0x4f7 Mon Nov 02 2020 15:40:17.349650 - - Output 0x55 - 1 modes, 0 preferred Mon Nov 02 2020 15:40:17.349741 - - Output 0x56 - 41 modes, 1 preferred Mon Nov 02 2020 15:40:17.349765 - - Mode 0 0x5c 1920x1080 (looking for 2880x1600) Mon Nov 02 2020 15:40:17.349804 - - Output 0x57 - 43 modes, 1 preferred Mon Nov 02 2020 15:40:17.349825 - - Mode 0 0x5e 1920x1080 (looking for 2880x1600) Mon Nov 02 2020 15:40:17.349861 - - Output 0x58 - 36 modes, 1 preferred Mon Nov 02 2020 15:40:17.349880 - - Mode 0 0x5e 1920x1080 (looking for 2880x1600) Mon Nov 02 2020 15:40:17.349915 - - Output 0x59 - 0 modes, 0 preferred Mon Nov 02 2020 15:40:17.349937 - Tried to find direct display through RandR: (nil) Mon Nov 02 2020 15:40:17.349951 - Looking for direct display through Vulkan WSI Mon Nov 02 2020 15:40:17.668491 - - Vulkan output 0: 2880x1600 resolution, 762x423 dimensions - monitor Mon Nov 02 2020 15:40:17.668602 - - Vulkan output 1: 1920x1080 resolution, 508x286 dimensions - monitor Mon Nov 02 2020 15:40:17.668636 - - Vulkan output 2: 1920x1080 resolution, 508x286 dimensions - monitor Mon Nov 02 2020 15:40:17.668664 - - Vulkan output 3: 1920x1080 resolution, 508x286 dimensions - monitor Mon Nov 02 2020 15:40:17.668691 - Tried to find direct display through Vulkan WSI: 0x1d4f2c0 Mon Nov 02 2020 15:40:17.668718 - Trying to match desired rate of 90.000000Hz. Mon Nov 02 2020 15:40:17.668748 - 1 modes on display: Mon Nov 02 2020 15:40:17.668772 - - 0: 2880x1600@144.000000Hz Mon Nov 02 2020 15:40:17.668799 - Selected mode 0. Mon Nov 02 2020 15:40:17.668831 - Failed to acquire xlib display Mon Nov 02 2020 15:40:17.668856 - CHmdWindowSDL: Failed to create direct mode surface Mon Nov 02 2020 15:40:17.669231 - Requesting 10 device extensions: Mon Nov 02 2020 15:40:17.669261 - - VK_KHR_swapchain Mon Nov 02 2020 15:40:17.669285 - - VK_KHR_maintenance1 Mon Nov 02 2020 15:40:17.669308 - - VK_KHR_dedicated_allocation Mon Nov 02 2020 15:40:17.669331 - - VK_KHR_get_memory_requirements2 Mon Nov 02 2020 15:40:17.669354 - - VK_KHR_external_memory Mon Nov 02 2020 15:40:17.669377 - - VK_KHR_external_semaphore Mon Nov 02 2020 15:40:17.669400 - - VK_EXT_display_control Mon Nov 02 2020 15:40:17.669423 - - VK_KHR_external_memory_fd Mon Nov 02 2020 15:40:17.669446 - - VK_KHR_external_semaphore_fd Mon Nov 02 2020 15:40:17.669469 - - VK_EXT_global_priority Mon Nov 02 2020 15:40:17.669492 - Attempting to enable async support... Mon Nov 02 2020 15:40:17.669515 - Enabling async support! Mon Nov 02 2020 15:40:17.677945 - m_pVkInstance : 0x1d217c0 Mon Nov 02 2020 15:40:17.677977 - m_pVkPhysicalDevice : 0x21ecfd0 Mon Nov 02 2020 15:40:17.677990 - m_pVkDevice : 0x1d487a0 Mon Nov 02 2020 15:40:17.678001 - m_pVkGraphicsQueue : 0x1d4a7e0 Mon Nov 02 2020 15:40:17.678011 - m_pVkComputeQueue : 0x227b230 Mon Nov 02 2020 15:40:17.686317 - HMD swapchain mode:1 count:3 Mon Nov 02 2020 15:40:17.687098 - Direct mode: disabled Mon Nov 02 2020 15:40:17.690222 - Mirror swapchain mode:0 count:3 Mon Nov 02 2020 15:40:17.698012 - CGraphicsDevice Init... Mon Nov 02 2020 15:40:17.698160 - Headset display is on desktop Mon Nov 02 2020 15:40:17.698201 - Initializing timing resources Mon Nov 02 2020 15:40:17.698440 - Initializing CVulkanVRRenderer Mon Nov 02 2020 15:40:17.698512 - Debug markers: disabled, missing extension support. Is the Renderdoc layer enabled? Mon Nov 02 2020 15:40:17.736121 - Initialized Vulkan transfer ring buffer, mapped at offset 0x0x7f07a8000000. Mon Nov 02 2020 15:40:17.736670 - Updated HMD Prop_DisplayFrequency_Float to 90.000000 ```

Firstly, it seems like your Xrandr is not detecting the display, unlike mine. I would update libXrandr to the latest version, if it isn't already.

Secondly, it looks like it is failing to use Xlib to acquire the display. I would update libX11 (that appears to be the name of the package that provides Xlib.h on Gentoo) to the latest version as well, to make sure it has anything SteamVR might be relying on.

Since the function this fails in is CHmdWindowSDL, it might also help to update any SDL packages that might be related, or install them if you don't have them already. But, I think this is less likely than an issue with libXrandr or Xlib.

You could also, again, try a different WM. Kwin could be locking up the display somehow. I might change into KDE myself in a few minutes to see if that might be an issue.

PureTryOut commented 3 years ago

Note that I'm on a rolling release distribution, I already have all the latest packages of everything.

happysmash27 commented 3 years ago

Very strange. I just checked in KDE too, and it works perfectly, maybe even a bit better than LXDE. I believe the following is my log from that:

SteamVR-2021-02-19-PM_01_25_19.txt

happysmash27 commented 3 years ago

What is the output of xrandr for you? Maybe it's the order of the ports or something, or maybe everything is up-to-date, but you don't have some useful component installed (like Xrandr).

Atemu commented 3 years ago

I've also got a brand new Index that I specifically bought because of Linux support and am experiencing the same issues.

Something I've noticed in the logs is that SteamVR only seems to look for modes marked as +preferred.

@happysmash27's Vive has a preferred mode but @PureTryOut's and my Index don't. The only mode available is 2880x1600 144Hz and it's not marked as preferred.

Smells like a firmware bug.

I am currently looking for a way to set the mode as preferred.

Atemu commented 3 years ago

Yup, that's it.

Put

Section "Monitor"
  Identifier "DisplayPort-1"
  Option "PreferredMode" "2880x1600"
EndSection

in your xorg.conf. (services.xserver.extraConfig if you use NixOS).

Obviously replace the DisplayPort-1 with the connector the Index is on in your setup (xrandr).

The Index' mode either needs to be recognised as "Preferred" (not sure whether that's set in EDID or set by Linux) and/or SteamVR needs to look for non-preferred modes too.

Valve, pls fix ;)

Atemu commented 3 years ago

One problem with this workaround is that SteamVR tries to run the Index at 90Hz eventhough the output is 144Hz (The Index reports no other output modes weirdly). I can't coerce it into using something different either.
This results in a blending effect which isn't really usable. I'm surprised it works at all though.

PureTryOut commented 3 years ago

Holy shit, you're right! Today for the first time I saw SteamVR home on Linux :tada:

Same problems as you though, headset only reports 90Hz as supported mode according to SteamVR and although I wouldn't say it's unusable, it's really weird and distracting.

Also, I seem to have no audio configuration option within SteamVR, so I'm guessing the speakers are so-far unused?

Atemu commented 3 years ago

Figured out how to work around that issue aswell: You need to add the lower refresh rates too.

I simply put them through cvt; put this in the Monitor section too:

      Modeline "2880x1600_120.00"  827.00  2880 3128 3448 4016  1600 1603 1613 1717 -hsync +vsync
      Modeline "2880x1600_100.00"  678.50  2880 3128 3440 4000  1600 1603 1613 1697 -hsync +vsync
      Modeline "2880x1600_90.00"  607.00  2880 3128 3440 4000  1600 1603 1613 1687 -hsync +vsync
Interestingly, SteamVR adds its own resolutions on top of these when its active: ``` 2880x1600 (0x764) 686.000MHz -HSync -VSync h: width 2880 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1600 start 2565 end 2571 total 2575 clock 90.00Hz 2880x1600_120.00 (0x6b) 827.000MHz -HSync +VSync h: width 2880 start 3128 end 3448 total 4016 skew 0 clock 205.93KHz v: height 1600 start 1603 end 1613 total 1717 clock 119.93Hz 2880x1600 (0x6a) 687.100MHz -HSync -VSync h: width 2880 start 2888 end 2920 total 2960 skew 0 clock 232.13KHz v: height 1600 start 1603 end 1609 total 1612 clock 144.00Hz 2880x1600 (0x765) 686.000MHz -HSync -VSync h: width 2880 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1600 start 1921 end 1927 total 1931 clock 120.02Hz 2880x1600 (0x766) 686.000MHz -HSync -VSync h: width 2880 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1600 start 2887 end 2893 total 2897 clock 80.00Hz 2880x1600_100.00 (0x6c) 678.500MHz -HSync +VSync h: width 2880 start 3128 end 3440 total 4000 skew 0 clock 169.62KHz v: height 1600 start 1603 end 1613 total 1697 clock 99.96Hz 2880x1600_90.00 (0x6d) 607.000MHz -HSync +VSync h: width 2880 start 3128 end 3440 total 4000 skew 0 clock 151.75KHz v: height 1600 start 1603 end 1613 total 1687 clock 89.95Hz 1920x1200 (0x767) 686.000MHz -HSync -VSync h: width 1920 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1200 start 2565 end 2571 total 2575 clock 90.00Hz 1920x1080 (0x768) 686.000MHz -HSync -VSync h: width 1920 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1080 start 2565 end 2571 total 2575 clock 90.00Hz 1600x1200 (0x769) 686.000MHz -HSync -VSync h: width 1600 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1200 start 2565 end 2571 total 2575 clock 90.00Hz 1680x1050 (0x76a) 686.000MHz -HSync -VSync h: width 1680 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1050 start 2565 end 2571 total 2575 clock 90.00Hz 1280x1024 (0x76b) 686.000MHz -HSync -VSync h: width 1280 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 1024 start 2565 end 2571 total 2575 clock 90.00Hz 1440x900 (0x76c) 686.000MHz -HSync -VSync h: width 1440 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 900 start 2565 end 2571 total 2575 clock 90.00Hz 1280x800 (0x76d) 686.000MHz -HSync -VSync h: width 1280 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 800 start 2565 end 2571 total 2575 clock 90.00Hz 1280x720 (0x76e) 686.000MHz -HSync -VSync h: width 1280 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 720 start 2565 end 2571 total 2575 clock 90.00Hz 1024x768 (0x76f) 686.000MHz -HSync -VSync h: width 1024 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 768 start 2565 end 2571 total 2575 clock 90.00Hz 800x600 (0x770) 686.000MHz -HSync -VSync h: width 800 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 600 start 2565 end 2571 total 2575 clock 90.00Hz 640x480 (0x771) 686.000MHz -HSync -VSync h: width 640 start 2888 end 2920 total 2960 skew 0 clock 231.76KHz v: height 480 start 2565 end 2571 total 2575 clock 90.00Hz ```

Audio does work but it won't switch it for you automatically. See KNOWN ISSUES.

I'm also not sure if the DSP special sauce works because I feel like songs in Beat Saber sounded different (worse) to how they did on Windows. I'd have to boot the VM and compare though.

You'll also quickly discover that base station power management doesn't work either. I made do with https://github.com/jeroen1602/lighthouse_pm (Android) but I heard good things about https://github.com/DavidRisch/steamvr_utils.

Cameras also don't work yet: https://github.com/ValveSoftware/SteamVR-for-Linux/issues/231 (don't bother reading the comments)

Since you've got the Index running now, are you able to reproduce https://github.com/ValveSoftware/SteamVR-for-Linux/issues/415 or am I just imagining things?

fred-aero commented 3 years ago

Oddly, I've only started experiencing this issue in the past couple of weeks or so, but I have found that I don't have this problem if the index is plugged in at system boot. Also, as far as audio (I think this is specific to Ubuntu 20.04), I've found that, If I open SteamVR, set the audio out device to the headset, close steamvr and restart, audio works as desired. I suspect the culprit of audio issues to either be pulseaudio or alsa, because I've had issues with audio devices in Ubuntu 20.04 in general outside of SteamVR.

Atemu commented 3 years ago

I don't have this problem if the index is plugged in at system boot

Mine is plugged in at boot aswell.

I've got mine in a 3.1 port though because its controller is in a separate iommu group which makes passthrough to the VM simpler. Maybe that makes a difference? Shouldn't though.

If I open SteamVR, set the audio out device to the headset, close steamvr and restart, audio works as desired.

Well yeah, setting the audio device manually obviously works around the problem of SteamVR not switching it automatically.

kivoli commented 3 years ago

Alternative work-around instead of re-plugging or rebooting: Standby.

I've been having this issue from the beginning (March 2020) as well but figured out quickly that this mostly happens after my computer has run for some time but not after when freshly booted or resumed from stand-by — with the Index permanently plugged in, that is.

For me this is reminiscent of the missing GPU function level reset issues I had with VFIO passthrough in the past where one could trigger a GPU reset by going to stand-by and resuming. I have no idea if this is somehow related though and it also does not work every time.

My system consists of AMD a Ryzen 7 3700X and a Vega 56 using AMDGPU and X11 on Arch Linux.