SteamVR-for-Linux
SteamVR-for-Linux copied to clipboard
[BUG] GPU hangs on waking the headset (compositing & VRR)
A GPU hang will occur when the headset display is activated (i.e. vrcompositor becomes active) if VRR is in use. I have only tested with xfwm4 with compositing enabled.
(I'm not certain whether this qualifies as a vrcompositor bug, an xfwm4 bug, a kernel bug or some combination of these.)
To reproduce
- Whitelist xfwm4 for VRR. The following
~/.drirc
is sufficient:
<driconf>
<device screen="0" driver="radeonsi">
<application name="xfwm4" executable="xfwm4">
<option name="adaptive_sync" value="true" />
</application>
</device>
</driconf>
- Restart xfwm4 (
xfwm4 --replace & disown
). - Start SteamVR.
- Move the headset.
At this point, there will be a GPU hang. GPU reset should succeed, but X will need to be restarted.
System information
- Distribution: Devuan chimaera (with libdrm & libvulkan packages from daedalus)
- SteamVR version: 1.22.12
- Steam client version: 1653101165
- Opted into Steam client beta?: Yes
- Graphics driver version: Mesa 22.1.0 (local build derived from Debian experimental)
- GPU: Radeon RX 5600 XT
- Kernel version: 5.17.4 (local build)
- Displays attached: 1080p 144Hz Freesync (primary); 1080p 60Hz; Vive (original).
- SteamVR async reprojection: enabled
Additional context Kernel log text extract
X config note: xf86-video-amdgpu 22.0 is in use; VariableRefresh
& AsyncFlipSecondaries
are enabled.
Hello @dsalt, this issue should also be mentioned to your video driver vendor.
As it looks more like an amdgpu problem than a Mesa bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2020
Some work has been done on tracking this down – https://gitlab.freedesktop.org/drm/amd/-/issues/1980 has a comment which describes a fix (basically, revert one patch in Mesa). That works fine here (I've tested under the conditions which caused the problem here), though it apparently exposes a different problem on Navi 2x.