GPU hang when waking up VR headset (SteamVR, compositing, VRR)
(This is a copy of SteamVR bug 519.)
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
X config note: xf86-video-amdgpu 22.0 is in use; VariableRefresh
& AsyncFlipSecondaries
are enabled.