protonscr

[BUG] SteamVR fails with errors -203 and 307 if too many screens are connected to a 7900xtx

steamvropen bug
ValveSoftware/SteamVR-for-Linux#612 · opened 2023-09-19 by bblacher · updated 2023-09-30 · 12 comments · github
Bbblacher 2023-09-19 github

Describe the bug
My setup is as follows:
7900xtx

DP-1 3840x2160@144Hz
DP-2 1920x1080@144Hz
HDMI-A-1 1920x1080@60Hz

If I try to start SteamVR it fails with error -203 and 307.
image

In order to use SteamVR in direct mode I have to use either swaymsg output DP-2 power off or swaymsg output HDMI-A-1 power off.

To Reproduce
Run a similar screen combination and see it fail.

Expected behavior
SteamVR should start normally

System Information

  • Distribution: Arch Linux x86_64
  • Kernel: 6.5.3-arch1-1
  • SteamVR version: 1.27.5 beta
  • Steam client version: 1695085405
  • Opted into Steam client beta?: Yes
  • Graphics driver version: mesa 23.1.7
  • Gist for SteamVR System Information: gist

Additional context
journal of me trying to start SteamVR twice with all three screens connected. If I use swaymsg output xx power off to disable at least one screen SteamVR starts successfully.

This is no duplicate of https://github.com/ValveSoftware/SteamVR-for-Linux/issues/552, I tried turning down the refresh rate.

Bbblacher 2023-09-19 github

@Danielduel If you find some time, could you test this?

Kkisak-valve maintainer 2023-09-19 github

Hello @bblacher, at a glance this reads like a video driver or graphics card hardware limitation. It may be worthwhile to also mention this issue to your video driver vendor if it hasn't been already.

MmSparks43 2023-09-19 github

Are you sure this isn't a duplicate of #609

Bbblacher 2023-09-19 github

@mSparks43 Yes, I have this issue since 1.25 and it sounds nothing like my problem.

Bbblacher 2023-09-19 github

@kisak-valve Do you think the amd/drm Gitlab is the place to go for mentioning this?

MmSparks43 2023-09-19 github

@mSparks43 Yes, I have this issue since 1.25 and it sounds nothing like my problem.

Have you checked which monitor vrcompositor is selecting when it fails, because if it tries to select a monitor that isn't disabled it fails since 1.25.

Bbblacher 2023-09-19 github

No I have not, I don't think it's selecting any monitor, I just think that the is some bug preventing it from entering direct mode.

Also, I don't have this issue since 1.25, I've always had this issue. It's just that 1.25 was the first version I tried. @mSparks43

MmSparks43 2023-09-19 github

No I have not, I don't think it's selecting any monitor, I just think that the is some bug preventing it from entering direct mode.

Also, I don't have this issue since 1.25, I've always had this issue. It's just that 1.25 was the first version I tried. @mSparks43

#609 is when I switch my third monitor on it selects the wrong monitor and fails (unless I disable the monitor it is trying to select, then it succeeds in using it for the VR output instead of the headset)
Succeeds (in using the Dell 24" as a direct mode VR headset)
image
Fails to start VR on any display.
image

Bbblacher 2023-09-20 github

@mSparks43 For me it doesn't matter which monitor I disable, I just have to disable one of them.

MmSparks43 2023-09-20 github

@mSparks43 For me it doesn't matter which monitor I disable, I just have to disable one of them.

does that disable it, or physically switch it off? different things happen for me depending on which I do.

I tracked "failing with three screens active" down to

.local/share/Steam/logs/vrcompositor.txt

with the screen disabled it uses it instead of the headset
with the screen off it uses the headset and works fine
with the screen on, it fails because instead of

[Info] - Found candidate direct display as RandR output 0x1ca

when it uses the headset and works fine

its picking an active display

[Info] - Found candidate direct display as RandR output 0x1bd

and cannot acquire an xlib display that is in use.

So I guess the crux of it being a duplicate or not, is whether it is actually trying to select the headset when it fails (is it picking the same display when it works and when it does not work).

DDanielduel 2023-09-29 github

Latest SteamVR, updated Arch
HDMI 1080p60
HDMI 1080p60
DP (1.4?) ultrawide 1440p120 (5120x1440)
Another DP - Index HMD

The problem is not present

@bblacher

Bbblacher 2023-09-30 github

@Danielduel
I do still have it, but as I said, my main screen is 2160p, so that may make the difference. Thank you for testing though :)

Nothing extracted yet.