AnsweredAssumed Answered

Low performance on all games with amdgpu and R9 280X

Question asked by kentosama on Jan 13, 2020
Latest reply on Jul 21, 2020 by zmp2000

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.

 

game screenshots

Tomb Raider with low graphics profile

 

steam system information

Computer Information:
    Manufacturer:  Unknown
    Model:  Unknown
    Form Factor: Desktop
    No Touch Input Detected

 

Processor Information:
    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
    HyperThreading:  Unsupported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Supported
    SSE41:  Supported
    SSE42:  Supported
    AES:  Supported
    AVX:  Supported
    AVX2:  Unsupported
    AVX512F:  Unsupported
    AVX512PF:  Unsupported
    AVX512ER:  Unsupported
    AVX512CD:  Unsupported
    AVX512VNNI:  Unsupported
    SHA:  Unsupported
    CMPXCHG16B:  Supported
    LAHF/SAHF:  Supported
    PrefetchW:  Unsupported

 

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

 

Video Card:
    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
    VendorID:  0x1002
    DeviceID:  0x6798
    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

 

Sound card:
    Audio device: VIA VT2020

 

Memory:
    RAM:  7770 Mb

 

Miscellaneous:
    UI Language:  English
    LANG:  fr_FR.UTF-8
    Total Hard Disk Space Available:  120439 Mb
    Largest Free Hard Disk Block:  72569 Mb
    VR Headset: None detected

glxinfo

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)
    Version: 18.3.6
    Accelerated: yes
    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[23] 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

glxgears

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

glmark2

kentosama@teradrive:~$ glmark2 -b 'terrain'
=======================================================
    glmark2 2017.07
=======================================================
    OpenGL Information
    GL_VENDOR:     X.Org
    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!

 

---------------

Update

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.

 

Article: https://steamcommunity.com/linkfilter/?url=https://www.phoronix.com/scan.php?page=news_item&px=R9-290-Linux-4.9-Update

 

I have no choice but to install an old kernel, go back to Windows 10 or refrain from playing with decent performance.

Outcomes