SteamVR-for-Linux
SteamVR-for-Linux copied to clipboard
[BUG] async reprojection non functional (no rendering in headset)
Describe the bug
My headset display is black with the backlight turned on when using SteamVR 2.0.1 with asynchronous reprojection enabled via the enableLinuxVulkanAsync key in steamvr.vrsettings. The sole exception to this is the first time it runs after a reboot, upon which the interstitial "aurora" environment is visible along with the controllers and lighthouses (although vrdashboard fails to render). SteamVR Home fails to load in this case as well, although I'm having the same issue with SteamVR 1.27 so I presume it's a separate issue. I've verified that there are no leftover processes matching steamvr between SteamVR restarts that might otherwise explain this anomaly.
Disabling async reprojection fully resolves the issue, with the aurora environment being visible and vrdashbaord rendering properly (apart from #615 and something similar to #570).
On the first run, the artifacting usually present when async reprojection is enabled is absent. I had initially assumed that it might have been fixed in 2.0.1, but it now appears that it might just not be functioning at all on first run. I'm not clear on how to confirm whether it's actually functioning at a given moment in time so either scenario is possible.
The desktop VR view does work correctly (again, apart from #615 and the aforementioned SteamVR Home issue), and I'm able to interact with vrdashboard and launch games through it, but the headset display remains black. I've listed some attempted fixes below that haven't had any effect on the issue:
- Restarting SteamVR
- Restarting Steam
- Restarting the headset via SteamVR
- Disconnecting and reconnecting the DisplayPort cable
- Connecting the DisplayPort cable to a different port
- Disconnecting and reconnecting the USB cable
- Disconnecting and reconnecting the power cable
- Disabling base station power management
- Switching the headset refresh rate from 120 Hz to 90 Hz
- Opting out of the Steam client beta
To Reproduce Steps to reproduce the behavior:
- In
steamvr.vrsettings, setenableLinuxVulkanAsynctotrue - Opt into Steam client beta
- Opt into SteamVR beta
- Launch SteamVR
- Close and re-launch SteamVR
- Headset display is black
Expected behavior The headset should display the VR view instead of a black screen.
System Information (please complete the following information):
- Distribution: Arch
- SteamVR version: 2.0.1
- Steam client version: 1695679261
- Opted into Steam client beta?: Yes
- Graphics driver version: 23.1.7
- Gist for SteamVR System Information: https://gist.github.com/caseif/443e9dcfe558fe3a0d3a864a2ebf8412
Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.
On further testing I discovered that this seems to be related to async reprojection and have updated the issue title and body accordingly.
I am experiencing the same issue Note: this problem occurs on both native & runtime versions of steam
Distribution: Arch
SteamVR version: beta 2.0.2
GPU: MSI GeForce RTX 3060 GAMING X 12G
Graphics Driver: nvidia-dkms-535.113.01-2
This is still an issue on SteamVR Beta 2.0.3
Still an issue on 2.0.5 too
Still an issue on 2.0.8, I reverted to last version of SteamVR 1 see https://github.com/ValveSoftware/SteamVR-for-Linux/issues/623#issuecomment-1780358506 for how.
Now that we got a forced "upgrade" to 2.0.8, I ran into this issues as well. (Ubuntu 23.04/Index/Nvidia 525)
Unfortunately no beta branch to downgrade, so now I have to do it manually.
Same issue on Fedora 38 here on SteamVR 2.0.8
With SteamVR 2.0.10 any error messages from before are gone and the new UI works too, except for wrong colours #570. Turning on enableLinuxVulkanAsync still results in a black display, so I am back to 1.27.5 for now. (VRChat really needs async.)
With SteamVR 2.0.10 any error messages from before are gone and the new UI works too, except for wrong colours #570. Turning on
enableLinuxVulkanAsyncstill results in a black display, so I am back to 1.27.5 for now. (VRChat really needs async.)
Can confirm the same behaviour on my machine
This is still occurring in Steam VR beta 2.1.1.
Hi all! For me this is no longer a problem in steamvr 2.1.2, hooray!! 2.1.2 launches properly with the enableLinuxVulkanAsync variable set to true in the vrsettings config
SteamVR is being temperamental at the moment and won't recognize the headset display so I can't test and confirm, but I'll fiddle with it some more over the weekend when I have more time.
I had that problem a few days ago - all I had to do was unplug the DP cable while the computer was off, turn it back on, and plug it back in before starting steamvr and it's been fine since!
@DaeTheDragon Thanks a lot, that did the trick! It seems like this issue crops up for me every few weeks or so so it's really great to have a workaround now.
Unfortunately, Valve has now pushed 2.1.3 which is causing me to run up against #639 so I still can't re-test this bug. Just a big ol' game of whack-a-mole with these betas, lol.
This is unfortunately still occurring for me with beta version 2.1.5.
This is still occurring with version 2.1.7.
@DaeTheDragon Thanks a lot, that did the trick! It seems like this issue crops up for me every few weeks or so so it's really great to have a workaround now.
Unfortunately, Valve has now pushed 2.1.3 which is causing me to run up against #639 so I still can't re-test this bug. Just a big ol' game of whack-a-mole with these betas, lol.
This is unfortunately still occurring for me with beta version 2.1.5.
This is still occurring with version 2.1.7.
heya!! sorry I haven't replied here to your response, been pretty hectic! anyway- actually for me, it has been working fine from version 2.1.2 up to version 2.1.7! I've been able to turn on VulkanAsync in the settings file and have been using it without any problems since I made my last post here, strangely enough!! how odd that you were still unable to!
anyway, since hotfix update 2.1.8, the issue you're experiencing has returned for me, black void again, and the only fix is to turn VulkanAsync back off again...
I'm probably going to drop back to 2.1.7 where my VulkanAsync was still working, until a newer update works for me!
Hey I'm also experincing this on 2.1.10 Beta
Distribution: EndeavourOS SteamVR version: beta 2.1.10 GPU: MSI GeForce RTX 3060 12G Graphics Driver: nvidia-dkms 545.29.06-1
But what I find interesting or maybe helpful, is if that is async reprojection based on Vulkan, I was learning it once, but then got booted off to another project, there are validation layers that could be turned on, and maybe they can pinpoint us to a root cause?
I'll try to find if that is possible, and leave this comment as is, as maybe some Vulkan expert can quickly say that it is/isn't possible.
EDIT: Found out you can very easliy download vkconfig fire it up (on EndeavourOS it was a vulkan-extra-tools package), and the rest takes care of itself, you just need to change the log filename to a absolute path and Vulkan pipes all the errors by itself, I know that SteamVR is build upon OpenVR, but can anyone say if the asyncreprojection is opensourced? If it is, I may poke and try to fix it just for pure experience.
I'm also attaching the file that was outputted. vrstartup.txt
This is still occurring as of SteamVR 2.2.1.
Behaviour is still the same in SteamVR Beta 2.2.3
Hello, still happening with SteamVR Beta 2.2.4
AMD RX 6600 XT user.
Seemingly the best way to fix this for now is using temp_v1.27.5 beta and making sure nodcc is ~not~ set within RADV_DEBUG options. This will cause ~major~ noticeable graphical corruption of SteamVR overlays at the benefit of flawless reprojection in-game, at least from my testing.
I used to use v1.14 all the time and it is still the most stable version in regards to reprojection, rendering and just about everything else, but that one requires changing selected Proton version of many games to 5.13.
@Hisanatos
can anyone say if the asyncreprojection is opensourced? If it is, I may poke and try to fix it just for pure experience.
I'm not sure, but I wish you luck! 💜
Replying to https://github.com/ValveSoftware/SteamVR-for-Linux/issues/616#issuecomment-1841243338
SteamVR is, in fact, fully closed source. This GitHub repo exists exclusively for reporting issues. There are open-source alternatives to SteamVR for Linux, see (https://gitlab.com/gabmus/envision). Though they're not quite as plug-and-play as SteamVR... well as SteamVR is supposed to be.
I've tested it on 1.27.5 and it works flawlessly on Nvidia hardware, I can even do some Expert+ Camilia songs in the Beat Saber, though I've noticed that it can "lose" the controllers, and even though I sliced through some boxes it doesn't register, will try to drill into why it happenes.
Beta 2.3.1 is still broken though, SteamVR startsup and Valve Index only show black (well more like grey) image. VR view shows that the headset is correctly tracked.
As there is a difference between 1.27.5 and 2.X.X maybe there is some information that would help Valve fix it? (Of course question to Valve :) )
Having the same issue here as well with 2.3.3. Hoping they fix it soon because currently if I revert to 1.27.5 and try to run any VR title it simply crashes Steam and SteamVR.
Without async re-projection most games have a ghosting effect making them unplayable.
Hopefully this gets fixed soon.
This is still occurring with version 2.4.1.
This seems to be fixed, with SteamVR Beta 2.5.1!
This seems to be fixed, with SteamVR Beta 2.5.1!
While I assumed the update announcement meant the issue was fixed, I am still observing the same happening on my end. Nothing is being displayed inside the headset on that beta.
RX 6600 XT, Mesa driver, Valve Index, recently updated Artix Linux, Steam client stable branch
Yup. I have to take back my comment up there. I thought I had enabled enableLinuxVulkanAsync again, but I forgot to save before testing :O
Still broken with Beta 2.5.1