alvr-org / ALVR

Stream VR games from your PC to your headset via Wi-Fi
MIT License
5.52k stars 488 forks source link

Linux workaround for SteamVR error 303 #1082

Closed depau closed 1 year ago

depau commented 2 years ago

Description

Like many people I was experiencing a "Something is wrong" SteamVR message with error code 303. After some debugging and reverse engineering of steam's vrcompositor I determined that they were incorrectly using the vkGetPhysicalDeviceDisplayPropertiesKHR vulkan API.

This has been reported to Valve and you can see the details here: https://github.com/ValveSoftware/SteamVR-for-Linux/issues/510

Since I've got no response I'd like to let you know about this as well so that maybe a workaround can be implemented (see the patch in the linked issue). This isn't a pull request since I don't really understand the API completely, all I did was determine where it was crashing, see that the Khronos docs say that a null pointer is allowed, see that valve was not expecting one, then patch the vulkan layer to make sure it's not null. Though I can resubmit as a PR if you think it's okay.

After applying this patch SteamVR no longer crashes, and as of today it successfully starts, starts streaming the audio and it seems to correctly track the controllers; however the VR view is glitchy and nothing is displayed in VR. Though that's for another issue :)

General Troubleshooting

Environement

Hardware

Note: for Linux, an upload to the hw-probe database is preferred: hw-probe -all -upload

https://linux-hardware.org/?probe=95af0fa349

NOTE!! Do not consider the nvidia GPU in the report! I use it for VM VFIO passthrough, no driver is loaded, it's not functional on this installation. Only the AMD GPU works.

CPU: AMD Ryzen 5 3600X

GPU: AMD Radeon RX 5700 XT

Audio: pipewire w/ pipewire-pulse...?

pipewire
Compiled with libpipewire 0.3.51
Linked with libpipewire 0.3.51

Installation

ALVR Version: 94f640b3 (master as I'm writing this)

SteamVR Version: 1.22.13 (1654131162)

Install Type:

OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions): I use arch btw :p ah you may be interested in the fact that I'm on wayland / sway.

ayunami2000 commented 2 years ago

bump, dont let this issue go stale please

dev-sda1 commented 2 years ago

Would this also have the potential to fix Error 307 as referenced in #965 ?

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

dev-sda1 commented 2 years ago

not stale

Enovale commented 2 years ago

not stale!

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

ayunami2000 commented 2 years ago

N O T S T A L E

crapStone commented 2 years ago

bump, dont let this issue go stale please

now it won't

sllide commented 1 year ago

Thanks for the patch, you are a life saver.

Vixea commented 1 year ago

Can anyone confirm this is still an issue?

depau commented 1 year ago

I no longer have that GPU, I switched to an NVIDIA RTX 3070 and it's not an issue on that GPU.

I think it's an issue with AMD GPUs though.

(Since this is no longer an issue for me I'll unsubscribe from notifications, if you need info specifically from me please @ me)

Vixea commented 1 year ago

Given that I run an amdgpu and have never had this issue and that I haven't seen anyone who has had this issue I'm going to assume it's been resolved at least somewhere that isn't SteamVR etc