-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] No image in headset since 1.11.8 #334
Comments
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. |
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. |
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. |
A bit unrelated, but by any chance, have you tried it on Ubuntu 18.04 with NUC hades canyon? Is it producing similar behavior? |
I think I'm hitting this same bug, although my hardware and software configuration is completely different: Distribution: ArchLinux Steam client version: Aug 20 2020, at 22:45:24 Linux kernel 5.8.3-arch1-1 I see this warning, and clicking the "Enable Direct Display Mode" button restarts SteamVR, but nothing else happens: |
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 |
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:
This confirms that the headset and the cable are working properly, but there must be some software issue. I'm a Linux engineer. Happy to run any commands or collect any logs that might help debug this issue. |
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 |
Thanks for the suggestion, @kisak-valve. I only have the radeon_icd:
However, perhaps crucially, this machine has two Radeon Vega 64 cards installed:
Should I try unplugging (or powering off) the second one to see if it helps? |
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. |
Correction: I'm getting the same issue again today even with a single card. Looks like rebooting made things work once, but not reliably. |
afaict, this is the log showing the problem: Mon Aug 24 2020 14:52:29.499130 - Looking for direct display through RandR |
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? |
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). |
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... |
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 |
No it's a Ryzen R7 1700 with a RX 580, no Intel components are present on this system. |
It seems I can't even install Windows on this PC, missing drivers or something, idk. So I now have a useless €1000 headset 😭 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. |
Here is why the display shows as disconnected.
|
In my case, steamVR chooses my main display instead of my valve Index. Here is the log from ~/.steam/steam/logs/vrcompositor.txt .
The "AllowHMD" option is clearly meant to remove the HMD from xrandr. Even when enabled with |
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) |
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. |
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. |
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. |
Problem solved here. You can have more X logs with In my case, I get
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 |
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. |
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? |
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. |
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. |
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.
Well yeah, setting the audio device manually obviously works around the problem of SteamVR not switching it automatically. |
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. |
Nope, for me it happens right after bootup too, it doesn't matter how long my PC has been running. |
I suspend my PC very often and this is still an issue. Sometimes it just works for seemingly no reason but I haven't found a reliable way to force that to happen yet. Also, my GPU doesn't have the reset bug. |
@Atemu After putting the refreshrate lines in the @kisak-valve could you please give an update on this issue? Is Valve looking for a fix at all? A full year plus 3 months after OP reporting the issue and 3 quarters of a year after me buying this very expensive headset I still can't properly use it on Linux and to use it at all we have to apply nasty workarounds that don't work well either. |
Hello @PureTryOut, friendly reminder that I'm a moderator for Valve's issue trackers on Github, and not a Valve developer myself. We'll need to hear from a SteamVR dev regarding this issue. |
Ah I did not know that, sorry. I'm just getting tired of this issue, it isn't a cheap headset... Is there any dev I could ping to get some attention then? |
AMD's drivers on Linux sometimes can't push as many pixels out as they can on windows. You mentioned you have 3 1080p monitors, try unplugging two of them. |
I'm not currently at my desktop but as I said before, I was able to get an image using the workaround as suggested by @Atemu. It was limited to 90Hz but it was an image, and I didn't have to unplug my monitors for that. Because of this I don't think it's the GPU not being able to push enough pixels? |
@PureTryOut what distro are you on and how is Steam installed/run? You mentioned a chroot/flatpak setup, could you elaborate on that? I'm running on NixOS which has to create a FHS-compliant environment via bubblewrap for Steam etc. to work. A while back I was testing some things in a Fedora live environment and tried out SteamVR in an Xorg session. It worked just fine there. Another common link is that we both use a Polaris card but many, many Linux users are, so I wouldn't expect that to make a difference. |
Alpine Linux and I start Steam via Flatpak currently. But it doesn't matter much as I tried a Kubuntu installation as well with Steam installed natively (so, like "normal") and I had the exact same thing. |
Same issue here on Arch Linux with xfce4. The fixes mentioned above haven't worked and VR still displays as a normal window on my main monitor. The Index's lights stay green though, I'm even able to launch & 'play' games on it, so all else seems to work fine. |
Original reporter here. I still get this, now with a Valve Index. Same general behaviour. Now on 1.19.7. It can sometimes take as many as ten attempts to get the VR headset to work, taking me many minutes before I can start playing VR. This is cutting into my ability to use this a lot, because I can't just drop into a game. These days I am on a fairly boring Ubuntu 20.04 install with latest nvidia drivers, version: 470.63.01-0ubuntu0.20.04.2 Dmesg log often shows some crashes and GPU errors, in case they are relevant``` [ 131.919742] input: 3D Camera: eTronVideo as /devices/pci0000:00/0000:00:1c.4/0000:04:00.0/usb4/4-2/4-2.1/4-2.1:1.0/input/input23 [ 136.392244] update-mime-dat[8370]: segfault at 0 ip 0000000000000000 sp 00007ffd79c796f8 error 14 in update-mime-database[400000+3000] [ 136.392250] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6. [ 136.418728] update-mime-dat[8431]: segfault at 0 ip 0000000000000000 sp 00007ffcab08beb8 error 14 in update-mime-database[400000+3000] [ 136.418734] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6. [ 138.671665] nvidia-modeset: ERROR: GPU:0: Idling display engine timed out: 0x0000927c:1:0:1095 [ 143.007218] nvidia-modeset: ERROR: GPU:0: Idling display engine timed out: 0x0000927c:1:0:1095 [ 145.007480] nvidia-modeset: ERROR: GPU:0: Idling display engine timed out: 0x0000927c:1:0:1095 [ 180.347681] update-mime-dat[9760]: segfault at 0 ip 0000000000000000 sp 00007ffcf62b42e8 error 14 in update-mime-database[400000+3000] [ 180.347688] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6. [ 185.774455] update-mime-dat[9984]: segfault at 0 ip 0000000000000000 sp 00007fffd3c63ae8 error 14 in update-mime-database[400000+3000] [ 185.774461] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6. [ 185.800799] update-mime-dat[10045]: segfault at 0 ip 0000000000000000 sp 00007ffc6ac9d298 error 14 in update-mime-database[400000+3000] [ 185.800805] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6. ```Please take a look valve. This brings joy to my life when it works and I want to use it more and buy more games, but at the moment it is just broken. cc @kisak-valve |
But it does work in the end? That's different from my and @Atemu then, as for us it never works. With some hacks and workarounds we can get an image but it doesn't work well and never reaches the highest framerate the headset supports. |
It can do so! I can play Beatsaber and Alyx for a good hour or two at a time. It's just that it can take an undefined amount of time for it to start working. Sometimes I get it working within 5 minutes. Today I've been trying since the top of the hour and 40 minutes later it is still not working despite my best efforts. Yesterday it was fine. I'm stuck trying to do magical voodoo unplug/replug, reseat cables, restart SteamVR, reboot. Edit: shortly after this comment it started working, only to crash in Alyx when I tried to load a savegame. There are also signs of segfaults in the kernel log.
|
Similar seeming issue -> solved. Read through discussion on this thread, and a similar thread for the Vive Pro. (And many other sites that I gave very bad advice.) For me, the issue was the NVIDIA X Server Settings for "PRIME Profiles". Initially, the setting was "On-Demand". I had the problems described above, with "Direct mode: disabled" and "Headset display is on desktop" printed in ~/.steam/steam/logs/vrcompositor.txt, with the VR display on my laptop screen while headset remained blank. When I switched this to "Performance Mode" direct display was enabled, and the VR display was in my headset. (That being said, the display seemed to have a substantial lag, and frequent image tearing... so maybe there are other settings to fix, or maybe I just need to wait for Valve - I would be grateful for any suggestions!) P.S. On the Windows side of things there is a potential issue as well: the laptop has a USB-C thunderbolt port (supporting DisplayPort), and a mini DisplayPort. If the headset is connected to the thunderbolt port it will not display, since that is managed by the Intel GPU. Instead, the headset must be connected to the mini display port, which is managed by the NVidia GPU. |
Not the same. For me it happens on an all AMD machine, and on a desktop. So it knows nothing about PRIME or offloading to different GPU's and what not. There is no way of changing to some performance mode either |
FYI, on sway (wayland), it works OOTB for me without any hacks. |
That's cool, for most people it works out of the box. But on certain hardware configurations, like mine, this bug appears. I assume your hardware is completely different? |
I'm having the same problem as you on Xorg if you remember ;) |
Oh god that's awkward, sorry for that snarky comment 🙈 Sorry this issue has been plaguing me for so long that I forget who is who on here lol. Interesting, I wonder what Sway does differently then. I don't have a setup of it available, but I'll give it another shot on KDE Plasma Wayland. |
Well I'm happy to confirm that it works on KDE Plasma Wayland out of the box as well! Not sure about the X11 session but I don't care about it. SteamVR is now actually almost usable. It still doesn't detect any other refresh rate than 90hz and of course the audio setup is still broken (headset doesn't appear as output device, mic only) which makes it unusable for a lot of things, but things are improving! Thanks for the update @Atemu! |
@PureTryOut refresh rates work for me OOTB too. Perhaps try again with a wlroots-based compositor. Maybe a reboot straight into a Wayland session could help. Not being able to control audio in SteamVR can be worked around using https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/, it has a functional audio device chooser. If you get all this working and inevitably feel nauseated, try a low-latency kernel like https://github.com/xanmod/linux. It greatly reduces input latency felt in VR IME. If you do all that, you can actually get a fairly playable experience on Linux! |
This comment above was the change that finally worked for me. wlroots (sway) vs Xorg (i3) made no difference in my case - same symptom/error in vrcompositor under each. Will report back if I figure out how to specify the same for Wayland. 🤷 |
Describe the bug
SteamVR has stopped working since the latest beta update.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
SteamVR to be happily working as it was yesterday 😄
System Information (please complete the following information):
Screenshots
There is a Headset Notice:
Clicking this button does not appear to have an effect. Subsequently clicking "Restart headset" causes the whole machine to hang.
The text was updated successfully, but these errors were encountered: