AMD driver problems

so I’m new to Linux and Manjaro, please excuse my lack of knowledge.

my problem became obvious after installing Steam and trying to run Path of Exile using Proton experimental. The game only recognises the Intel (internal) gpu and I can’t select the dGPU, amd in this case.

I did a fresh install, updated everything (sudo pacman -Syu) and installed the latest drivers for amd (
sudo pacman -S --needed lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader)

inxi -F

           Desktop: KDE Plasma 5.22.5 Distro: Manjaro Linux
Machine:   Type: Desktop System: Gigabyte product: H87-D3H v: N/A serial: <superuser required>
           Mobo: Gigabyte model: H87-D3H-CF v: x.x serial: <superuser required>
           BIOS: American Megatrends v: F10 date: 08/18/2015
CPU:       Info: Quad Core model: Intel Core i7-4770 bits: 64 type: MT MCP cache: L2: 8 MiB
           Speed: 892 MHz min/max: 800/3900 MHz Core speeds (MHz): 1: 892 2: 950 3: 879
           4: 1307 5: 3894 6: 1816 7: 798 8: 1287
Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics
           driver: i915 v: kernel
           Device-2: AMD Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] driver: radeon
           v: kernel
           Display: x11 server: X.Org 1.20.13 driver: loaded: ati,modesetting,radeon
           resolution: 1920x1200~60Hz
           OpenGL: renderer: AMD TAHITI (DRM 2.50.0 5.13.19-2-MANJARO LLVM 12.0.1)
           v: 4.5 Mesa 21.2.3
Audio:     Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
           driver: snd_hda_intel
           Device-2: Intel 8 Series/C220 Series High Definition Audio driver: snd_hda_intel
           Device-3: AMD Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]
           driver: snd_hda_intel
           Sound Server-1: ALSA v: k5.13.19-2-MANJARO running: yes
           Sound Server-2: PulseAudio v: 15.0 running: yes
           Sound Server-3: PipeWire v: 0.3.38 running: yes
Network:   Device-1: Intel Ethernet I217-V driver: e1000e
           IF: eno1 state: down mac: 94:de:80:7b:94:d6
           Device-2: Edimax EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] type: USB
           driver: rtl8192cu
           IF: wlp0s20u4 state: up mac: 74:da:38:3a:3d:86
Drives:    Local Storage: total: 704.24 GiB used: 12.3 GiB (1.7%)
           ID-1: /dev/sda vendor: Samsung model: SSD 850 EVO 500GB size: 465.76 GiB
           ID-2: /dev/sdb vendor: Micron model: MTFDDAK256MBF-1AN1ZABHA size: 238.47 GiB
Partition: ID-1: / size: 423.55 GiB used: 12.3 GiB (2.9%) fs: ext4 dev: /dev/sda1
Swap:      ID-1: swap-1 type: partition size: 34.36 GiB used: 0 KiB (0.0%) dev: /dev/sda2
Sensors:   System Temperatures: cpu: 29.8 C mobo: 27.8 C gpu: radeon temp: 32.0 C
           Fan Speeds (RPM): N/A
Info:      Processes: 247 Uptime: 21m Memory: 31.24 GiB used: 2.58 GiB (8.3%) Shell: Zsh
           inxi: 3.3.08

vulkaninfo | grep ‘^GPU id’

MESA-INTEL: warning: Haswell Vulkan support is incomplete

DRI_PRIME=1 glxinfo | grep ‘OpenGL renderer’

libGL error: Different GPU, but blitImage not implemented for this driver
libGL error: failed to load driver: i965

xrandr --listproviders

Provider 0: id: 0x59 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 4 associated providers: 1 name:TAHITI @ pci:0000:01:00.0
Provider 1: id: 0x98 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 3 associated providers: 1 name:modesetting

mhwd -l -d

--------------------------------------------------------------------------------
> PCI Device: /devices/pci0000:00/0000:00:01.0/0000:01:00.0 (0300:1002:679a)
  Display controller ATI Technologies Inc Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280]
--------------------------------------------------------------------------------
  > INSTALLED:

   NAME:        video-linux
   ATTACHED:    PCI
   VERSION:     2018.05.04
   INFO:        Standard open source drivers.
   PRIORITY:    2
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 0380 0302 
   VENDORIDS:   1002 8086 10de 



  > AVAILABLE:

   NAME:        video-linux
   ATTACHED:    PCI
   VERSION:     2018.05.04
   INFO:        Standard open source drivers.
   PRIORITY:    2
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 0380 0302 
   VENDORIDS:   1002 8086 10de 

   NAME:        video-modesetting
   ATTACHED:    PCI
   VERSION:     2020.01.13
   INFO:        X.org modesetting video driver.
   PRIORITY:    1
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 
   VENDORIDS:   * 

   NAME:        video-vesa
   ATTACHED:    PCI
   VERSION:     2017.03.12
   INFO:        X.org vesa video driver.
   PRIORITY:    0
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 
   VENDORIDS:   * 


--------------------------------------------------------------------------------
> PCI Device: /devices/pci0000:00/0000:00:02.0 (0300:8086:0412)
  Display controller Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
--------------------------------------------------------------------------------
  > INSTALLED:

   NAME:        video-linux
   ATTACHED:    PCI
   VERSION:     2018.05.04
   INFO:        Standard open source drivers.
   PRIORITY:    2
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 0380 0302 
   VENDORIDS:   1002 8086 10de 



  > AVAILABLE:

   NAME:        video-linux
   ATTACHED:    PCI
   VERSION:     2018.05.04
   INFO:        Standard open source drivers.
   PRIORITY:    2
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 0380 0302 
   VENDORIDS:   1002 8086 10de 

   NAME:        video-modesetting
   ATTACHED:    PCI
   VERSION:     2020.01.13
   INFO:        X.org modesetting video driver.
   PRIORITY:    1
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 
   VENDORIDS:   * 

   NAME:        video-vesa
   ATTACHED:    PCI
   VERSION:     2017.03.12
   INFO:        X.org vesa video driver.
   PRIORITY:    0
   FREEDRIVER:  true
   DEPENDS:     -
   CONFLICTS:   -
   CLASSIDS:    0300 
   VENDORIDS:   * 


Warning: no configs for USB devices found!

glxinfo | grep ‘renderer string’

OpenGL renderer string: AMD TAHITI (DRM 2.50.0, 5.13.19-2-MANJARO, LLVM 12.0.1)

mhwd-gpu --status

:: status
warning: could not find '/etc/X11/xorg.conf.d/90-mhwd.conf'!

These arent really your amd driver … but

Ah. This means you are using the old ATI/Radeon driver … when you could be using amdgpu.
There are params to fix this, but it should be handled by the package amdgpu-experimental.

sudo pacman -Syu amdgpu-experimental
1 Like

thanks for your super fast reply

installed those and now I get

Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics driver: i915
           v: kernel
           Device-2: AMD Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] driver: amdgpu v: kernel
           Display: x11 server: X.Org 1.20.13 driver: loaded: amdgpu,ati,modesetting
           resolution: 1920x1200~60Hz
           OpenGL:
           renderer: AMD Radeon HD 7900 Series (TAHITI DRM 3.41.0 5.13.19-2-MANJARO LLVM 12.0.1)
           v: 4.6 Mesa 21.2.3

Nice. Now we have amdgpu. Which is almost certainly better.

How is your DRI_PRIME working now ?

so I hope I do understand you correctly, but this hasn’t changed:

DRI_PRIME=1 glxinfo | grep ‘OpenGL renderer’

grep: renderer’: No such file or directory
libGL error: Different GPU, but blitImage not implemented for this driver
libGL error: failed to load driver: i965

glxinfo | grep “OpenGL renderer”

OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.41.0, 5.13.19-2-MANJARO, LLVM 12.0.1)

glxinfo | grep renderer

GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.41.0, 5.13.19-2-MANJARO, LLVM 12.0.1)

DRI_PRIME=1 glxinfo | grep renderer

libGL error: Different GPU, but blitImage not implemented for this driver
libGL error: failed to load driver: i965
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)

There is something wrong with your command. Maybe the type of quotes.
We can also just skip them:

glxinfo | grep renderer

DRI_PRIME=1 glxinfo | grep renderer

But it may still produce

… which is odd. It may be related to this bug:

(which should be fixed maybe … but probably hasnt hit stable branch)

glxinfo | grep renderer

GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.41.0, 5.13.19-2-MANJARO, LLVM 12.0.1)

DRI_PRIME=1 glxinfo | grep renderer

libGL error: Different GPU, but blitImage not implemented for this driver
libGL error: failed to load driver: i965
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)

I really can’t judge wether this is the same bug but

libGL error: Different GPU, but blitImage not implemented for this driver
libGL error: failed to load driver: i965

those are similar.

would a potential solution be to update the system to an experimental/testing branch?

Possible. You may attempt switching to Testing branch for example. Here are docs:

https://wiki.manjaro.org/index.php/Switching_Branches

I will also mention it looks like your BIOS needs an update - and that could affect the way your hardware works.

again, thanks a lot. I’ll first update the BIOS, check steam and switch to the testing branch if nothings changed. and report back later

Bios seems to be the latest version unfortunately ( if interested )

Okay just to quickly report back here.

Switched to testing branch - same results with
DRI_PRIME=1 glxinfo | grep renderer

Switched to kernel 5.15.2 (not sure if this is necessary or recommended) but no changes in any case:

Currently running: 5.15.2-2-MANJARO (linux515)
The following kernels are installed in your system:
   * linux513
   * linux515
libGL error: Different GPU, but blitImage not implemented for this driver
libGL error: failed to load driver: i965
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)

using DRI_PRIME=0 glxinfo | grep renderer gives me

 GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.42.0, 5.15.2-2-MANJARO, LLVM 13.0.0)

(again I’m new to this and have no idea but)
could it be that DRI_PRIME=1 and 0 are mixed up?

Yes it can be! I just looked up at your original output and it shows the amd on 0.

Then your output above shows it as working properly with 0.

I think you are good to go !

1 Like

Tested Steam and Path of Exile again, no problems at all. Everything works fine and no additional commands required. I think the main issue was the old driver and

sudo pacman -Syu amdgpu-experimental

fixed it

Please remember that in order to use steam games with the amdgpu you would need to edit launch options for the game like:

DRI_PRIME=0 %command%

(exactly this if no other options)

thought so too, but at least for Path of Exile this does not seem to be necessary. I`m using Proton obviously but thats it

Can you write if you managed to run this graphics card hd 7870xt tahiti le in linux? If so, how did you do it ??

Did you read the thread? It works - but you need extra steps to enable amdgpu for Southern or Sea Islands cards … which can be done manually or with package amdgpu-experimental.

AMDGPU - Arch Wiki

how boot manjaro?? which option boot for grub??

If you have trouble booting manjaro in the first place then see this and/or open a new thread.

the installer does not initialize, it only shows the screen with small colored squares or colored square with windows wallpaper if I restarted.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.