Hello, I'm come to ask for help after having requested the Mesa 3D gitlab (unanswered for several days), the Steam forums and the Proton Discord server which could not bring me a solution to my performance issue under Linux with amdgpu drivers.
Several months ago, I switched to Debian 10 because I really like Linux and this distribution. Before I mainly used Windows 7 then 10 to play with my R9 280X and everything worked perfectly.
What I have seen is very poor performance in all native Linux games and also with Proton (maybe less). I have noticed that GPU usage is very often low, especially in complex game scenes.
For example, in the Tomb Raider game, the slum drops the framerate to ~ 15fps with GPU usage ~ 30%. If I turn my back on the slum, GPU usage goes up as well as the framerate.
The problem is similar for most of the games I've tested including Serious Sam 3, Dawn of War II and Wolfenstein: The Old Blood. In the Dawn of War II game, the title screen gets more than ~ 400 fps and GPU usage is very high, but once in the game, the performance is disastrous.
With Street Fighter IV, the benchmark gives the result 84 fps with the maximum graphics parameters. Resident Evil HD Remaster has a framerate of ~ 70fps with GPU usage of 60%.
Under Windows 7/10, the performances were clearly superior and the GPU usage regularly at more than ~ 80%. Besides, I never hear the GPU fans making noise, unlike on Windows.
I installed radeon-profile in an attempt to set the profile to "performance" and make sure the fans are working.
I tried Debian testing and unstable to get a newer version of mesa and the amdgpu driver, no improvement was seen.
steam system information
Form Factor: Desktop
No Touch Input Detected
CPU Vendor: AuthenticAMD
CPU Brand: AMD FX(tm)-8320 Eight-Core Processor
CPU Family: 0x15
CPU Model: 0x2
CPU Stepping: 0x0
CPU Type: 0x0
Speed: 3500 Mhz
8 logical processors
8 physical processors
Operating System Version:
Debian GNU/Linux 10 (buster) (64 bit)
Kernel Name: Linux
Kernel Version: 5.3.0-0.bpo.2-amd64
X Server Vendor: The X.Org Foundation
X Server Release: 12004000
X Window Manager: Mutter (Muffin)
Steam Runtime Version: steam-runtime_0.20191210.1
Driver: X.Org AMD Radeon HD 7900 Series (TAHITI, DRM 3.33.0, 5.3.0-0.bpo.2-amd64, LLVM 7.0.1)
Driver Version: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL Version: 4.5
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
Revision Not Detected
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1920 x 1080
Desktop Resolution: 1920 x 1080
Primary Display Size: 20.91" x 11.77" (23.98" diag)
53.1cm x 29.9cm (60.9cm diag)
Primary VRAM: 3072 MB
Audio device: VIA VT2020
RAM: 7770 Mb
UI Language: English
Total Hard Disk Space Available: 120439 Mb
Largest Free Hard Disk Block: 72569 Mb
VR Headset: None detected
VGA: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
OpenGL driver: radeonsi
Kernel driver: amdgpu
name of display:
display: screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: X.Org (0x1002)
Device: AMD Radeon HD 7900 Series (TAHITI, DRM 3.33.0, 5.3.0-0.bpo.2-amd64, LLVM 7.0.1) (0x6798)
Video memory: 3072MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 4.5
Max GLES1 profile version: 1.1
Max GLES profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 2638 MB, largest block: 2638 MB
VBO free aux. memory - total: 3057 MB, largest block: 3057 MB
Texture free memory - total: 2638 MB, largest block: 2638 MB
Texture free aux. memory - total: 3057 MB, largest block: 3057 MB
Renderbuffer free memory - total: 2638 MB, largest block: 2638 MB
Renderbuffer free aux. memory - total: 3057 MB, largest block: 3057 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 3072 MB
Total available memory: 6144 MB
Currently available dedicated video memory: 2638 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.33.0, 5.3.0-0.bpo.2-amd64, LLVM 7.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
kentosama@teradrive:~$ vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
28202 frames in 5.0 seconds = 5640.326 FPS
29007 frames in 5.0 seconds = 5801.280 FPS
29624 frames in 5.0 seconds = 5924.794 FPS
29296 frames in 5.0 seconds = 5859.050 FPS
29252 frames in 5.0 seconds = 5850.359 FPS
29571 frames in 5.0 seconds = 5914.088 FPS
29269 frames in 5.0 seconds = 5853.743 FPS
29301 frames in 5.0 seconds = 5860.121 FPS
29228 frames in 5.0 seconds = 5845.446 FPS
kentosama@teradrive:~$ glmark2 -b 'terrain'
GL_RENDERER: AMD Radeon HD 7900 Series (TAHITI, DRM 3.33.0, 5.3.0-0.bpo.2-amd64, LLVM 7.0.1)
GL_VERSION: 4.5 (Compatibility Profile) Mesa 18.3.6
[terrain] <default>: FPS: 1319 FrameTime: 0.758 ms
glmark2 Score: 1319
Thanks a lot for your help!
I updated Debian to sid to have kernel 5.4 and Mesa 19.3.2. The problem is still there, there is no noticeable difference, but I came across an article explaining that the Radeon R9 280 and 290 have a performance problem since kernel 4.7.
I have no choice but to install an old kernel, go back to Windows 10 or refrain from playing with decent performance.