SteamVR-for-Linux icon indicating copy to clipboard operation
SteamVR-for-Linux copied to clipboard

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

Open bblacher opened this issue 2 years ago • 12 comments

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.

bblacher avatar Sep 19 '23 07:09 bblacher

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

bblacher avatar Sep 19 '23 07:09 bblacher

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.

kisak-valve avatar Sep 19 '23 12:09 kisak-valve

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

mSparks43 avatar Sep 19 '23 14:09 mSparks43

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

bblacher avatar Sep 19 '23 14:09 bblacher

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

bblacher avatar Sep 19 '23 14:09 bblacher

@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.

mSparks43 avatar Sep 19 '23 14:09 mSparks43

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

bblacher avatar Sep 19 '23 21:09 bblacher

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

mSparks43 avatar Sep 19 '23 21:09 mSparks43

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

bblacher avatar Sep 20 '23 05:09 bblacher

@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).

mSparks43 avatar Sep 20 '23 11:09 mSparks43

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

The problem is not present

@bblacher

Danielduel avatar Sep 29 '23 23:09 Danielduel

@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 :)

bblacher avatar Sep 30 '23 07:09 bblacher