Solved amdgpu switches renderer after suspend/resume

Sometimes I play supertuxkart. And recently I have discovered that it normally works, but if I have done suspend/resume once since the latest boot the game hangs when loading the the track.
The logfiles under ~/.config/supertuxkart/config-0.10/ differ in a peculiar way (I show only the differing parts, the rest is identical until it hangs):

The first time, when it works the differing part is
Code:
[info   ] [IrrDriver Logger]: ..:: Antarctica Rendering Engine 2.0 ::..
[info   ] [IrrDriver Logger]: SDL Version 2.0.22
[info   ] [IrrDriver Logger]: Using renderer: OpenGL 4.6
[info   ] [IrrDriver Logger]: AMD Radeon RX 5600 XT (NAVI10, DRM 3.40.0, 13.1-RELEASE, LLVM 13.0.1): AMD
[info   ] [IrrDriver Logger]: OpenGL driver version is 1.2 or better.
[info   ] [IrrDriver Logger]: GLSL version: 4.6
[info   ] IrrDriver: OpenGL version: 4.6
[info   ] IrrDriver: OpenGL vendor: AMD
[info   ] IrrDriver: OpenGL renderer: AMD Radeon RX 5600 XT (NAVI10, DRM 3.40.0, 13.1-RELEASE, LLVM 13.0.1)
[info   ] IrrDriver: OpenGL version string: 4.6 (Core Profile) Mesa 21.3.8
[info   ] GLDriver: ARB Buffer Storage Present

While the second time after a suspend/resume cycle is

Code:
[info   ] [IrrDriver Logger]: ..:: Antarctica Rendering Engine 2.0 ::..
[info   ] [IrrDriver Logger]: SDL Version 2.0.22
[info   ] [IrrDriver Logger]: Using renderer: OpenGL 4.5
[info   ] [IrrDriver Logger]: llvmpipe (LLVM 13.0.1, 256 bits): Mesa/X.org
[info   ] [IrrDriver Logger]: OpenGL driver version is 1.2 or better.
[info   ] [IrrDriver Logger]: GLSL version: 4.5
[info   ] IrrDriver: OpenGL version: 4.5
[info   ] IrrDriver: OpenGL vendor: Mesa/X.org
[info   ] IrrDriver: OpenGL renderer: llvmpipe (LLVM 13.0.1, 256 bits)
[info   ] IrrDriver: OpenGL version string: 4.5 (Core Profile) Mesa 21.3.8
[info   ] GLDriver: ARB Buffer Storage Present

So the issue seems to be that after suspend/resume the hardware rendering is replaced with software rendering, and the game doesn't handle that so good.

So my question is, does anyone know how I can keep the hardware renderer after resume?
 
After googling i found the (in hindsight) obvious answer:
Creating /usr/local/etc/X11/xorg.conf.d/amdgpu.conf with the content
Code:
Section "Device"
    Identifier "AMDGPU"
    Driver "amdgpu"
EndSection
was all that was needed to fix this.
 
Back
Top