AMD Radeon GPU does not work

I have some problems with my AMD GPU on fedora 42 (kde plasma edition). I have these GPUs on my laptop:

  1. Intel(R) HD Graphics 4400 (HSW GT2) integrated
  2. AMD radeon R5 M230 2GB

When I open Info Center there are only two GPUs available:

  1. Intel(R) HD Graphics 4400 (HSW GT2) integrated
  2. llvmpipe

linux-firmware package is installed on my machine.
I use Wayland desktop. I also tried X11 but nothing changed.

I ran this commands and you can see the outputs:

amirali@amiralihost:/usr/bin$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: OLAND (radeonsi, , ACO, DRM 2.50, 6.15.9-201.fc42.x86_64)

amirali@amiralihost:/usr/bin$ DRI_PRIME=1 vulkaninfo | grep "deviceName"
WARNING: [../src/amd/vulkan/radv_physical_device.c:2041] Code 0 : Device '/dev/dri/renderD128' is not using the AMDGPU kernel driver: Invalid argument (VK_ERROR_INCOMPATIBLE_DRIVER)
MESA-INTEL: warning: Haswell Vulkan support is incomplete
        deviceName        = Intel(R) HD Graphics 4400 (HSW GT2)
        deviceName        = llvmpipe (LLVM 20.1.8, 256 bits)
        
amirali@amiralihost:/usr/bin$ ls /usr/share/vulkan/icd.d/
asahi_icd.i686.json       freedreno_icd.i686.json      intel_icd.i686.json    nouveau_icd.i686.json     powervr_mesa_icd.i686.json    virtio_icd.i686.json
asahi_icd.x86_64.json     freedreno_icd.x86_64.json    intel_icd.x86_64.json  nouveau_icd.x86_64.json   powervr_mesa_icd.x86_64.json  virtio_icd.x86_64.json
broadcom_icd.i686.json    intel_hasvk_icd.i686.json    lvp_icd.i686.json      panfrost_icd.i686.json    radeon_icd.i686.json
broadcom_icd.x86_64.json  intel_hasvk_icd.x86_64.json  lvp_icd.x86_64.json    panfrost_icd.x86_64.json  radeon_icd.x86_64.json

amirali@amiralihost:/usr/bin$ lspci -k | grep -A 3 VGA

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
        Subsystem: ASUSTeK Computer Inc. Device 192d
        Kernel driver in use: i915
        Kernel modules: i915
--
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars LE [Radeon HD 8530M / R5 M240]
        Subsystem: ASUSTeK Computer Inc. Device 192d
        Kernel driver in use: radeon
        Kernel modules: radeon, amdgpu

Do you have any solutions for that?

Your system is using the ‘radeon’ driver, not the newer ‘amdgpu’ driver.

The Arch wiki has some information on the kernel commandline parameters that enable ‘amdgpu’ for these older GPUs.

I enabled amdgpu using the manual you sent but I saw something strange. when I rebooted my system cpu temperature was getting very high. I disabled that and enabled radeon again.

And I checked some logs that you can see below:

amirali@amiralihost:~$ cat ~/.local/share/xorg/Xorg.0.log | grep -iE "radeon|EE|WW"
[    58.361] Current Operating System: Linux amiralihost 6.15.9-201.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Aug  2 11:37:34 UTC 2025 x86_64
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    58.363] (==) No Layout section.  Using the first Screen section.
[    58.363] (==) No screen section available. Using defaults.
[    58.363] (**) |-->Screen "Default Screen Section" (0)
[    58.363] (==) No monitor specified for screen "Default Screen Section".
[    58.367] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[    58.369] (II) xfree86: Adding drm device (/dev/dri/card2)
[    58.371] (II) xfree86: Adding drm device (/dev/dri/card1)
[    58.387] (WW) Warning, couldn't open module ati
[    58.387] (EE) Failed to load module "ati" (module does not exist, 0)
[    58.390] (WW) Warning, couldn't open module fbdev
[    58.390] (EE) Failed to load module "fbdev" (module does not exist, 0)
[    58.390] (WW) Warning, couldn't open module vesa
[    58.390] (EE) Failed to load module "vesa" (module does not exist, 0)
[    58.390] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    58.390] (II) modeset(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    58.971] (II) modeset(0): Year: 2013  Week: 49
[    58.971] (II) modeset(0): redX: 0.580 redY: 0.335   greenX: 0.330 greenY: 0.565
[    59.021] (II) modeset(G0): glamor X acceleration enabled on OLAND (radeonsi, , ACO, DRM 2.50, 6.15.9-201.fc42.x86_64)
[    59.144] (II) modeset(G0): [DRI2]   DRI driver: radeonsi
[    59.144] (II) modeset(G0): [DRI2]   VDPAU driver: radeonsi
[    59.148] (II) Initializing extension MIT-SCREEN-SAVER
[    59.193] (II) GLX: Initialized DRI2 GL provider for screen 0
[    59.193] (II) Initializing extension XFree86-VidModeExtension
[    59.193] (II) Initializing extension XFree86-DGA
[    59.195] (II) modeset(0): Setting screen physical size to 361 x 203
[    59.376] (II) This device may have been added with another device file.
[    59.377] (II) config/udev: Adding input device Sleep Button (/dev/input/event1)
[    59.377] (**) Sleep Button: Applying InputClass "libinput keyboard catchall"
[    59.377] (**) Sleep Button: Applying InputClass "system-keyboard"
[    59.377] (II) Using input driver 'libinput' for 'Sleep Button'
[    59.378] (**) Sleep Button: always reports core events
[    59.380] (II) event1  - Sleep Button: is tagged by udev as: Keyboard
[    59.381] (II) event1  - Sleep Button: device is a keyboard
[    59.381] (II) event1  - Sleep Button: device removed
[    59.381] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 10)
[    59.383] (II) event1  - Sleep Button: is tagged by udev as: Keyboard
[    59.383] (II) event1  - Sleep Button: device is a keyboard
[    59.385] (II) This device may have been added with another device file.
[    59.386] (II) This device may have been added with another device file.
[    59.387] (II) This device may have been added with another device file.
[    59.401] (II) This device may have been added with another device file.
[    59.412] (II) This device may have been added with another device file.
[    59.448] (II) This device may have been added with another device file.
[    59.449] (II) This device may have been added with another device file.
[   100.120] (II) event1  - Sleep Button: device removed
[   101.949] (WW) xf86CloseConsole: KDSETMODE failed: Input/output error
[   101.949] (WW) xf86CloseConsole: VT_GETMODE failed: Input/output error
[   101.949] (WW) xf86OpenConsole: VT_GETSTATE failed: Input/output error
amirali@amiralihost:~$ dmesg | grep -i radeon
dmesg: read kernel buffer failed: Operation not permitted
amirali@amiralihost:~$ sudo dmesg | grep -i radeon
[    6.746876] [drm] radeon kernel modesetting enabled.
[    6.747285] radeon 0000:04:00.0: enabling device (0000 -> 0003)
[    6.825266] radeon 0000:04:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[    6.825273] radeon 0000:04:00.0: GTT: 2048M 0x0000000080000000 - 0x00000000FFFFFFFF
[    6.825413] [drm] radeon: 2048M of VRAM memory ready
[    6.825425] [drm] radeon: 2048M of GTT memory ready.
[    6.843684] UBSAN: array-index-out-of-bounds in drivers/gpu/drm/radeon/radeon_atombios.c:2720:34
[    6.843733]  radeon_atombios_parse_power_table_6+0x3bc/0x3e0 [radeon]
[    6.843886]  radeon_atombios_get_power_modes+0x220/0x240 [radeon]
[    6.843997]  radeon_pm_init_dpm+0x77/0x240 [radeon]
[    6.844134]  si_init+0x223/0x470 [radeon]
[    6.844277]  radeon_device_init+0x484/0xa60 [radeon]
[    6.844380]  radeon_driver_load_kms+0xa6/0x230 [radeon]
[    6.844478]  radeon_pci_probe+0xef/0x1b0 [radeon]
[    6.844630]  ? __pfx_radeon_module_init+0x10/0x10 [radeon]
[    6.845092] UBSAN: array-index-out-of-bounds in drivers/gpu/drm/radeon/si_dpm.c:6824:32
[    6.845137]  si_parse_power_table+0x3d6/0x420 [radeon]
[    6.845354]  si_dpm_init+0x226/0x6a0 [radeon]
[    6.845501]  radeon_pm_init_dpm+0xe3/0x240 [radeon]
[    6.845635]  si_init+0x223/0x470 [radeon]
[    6.845776]  radeon_device_init+0x484/0xa60 [radeon]
[    6.845877]  radeon_driver_load_kms+0xa6/0x230 [radeon]
[    6.845986]  radeon_pci_probe+0xef/0x1b0 [radeon]
[    6.846136]  ? __pfx_radeon_module_init+0x10/0x10 [radeon]
[    6.855905] [drm] radeon: dpm initialized
[    6.891656] radeon 0000:04:00.0: WB enabled
[    6.891662] radeon 0000:04:00.0: fence driver on ring 0 uses gpu addr 0x0000000080000c00
[    6.891667] radeon 0000:04:00.0: fence driver on ring 1 uses gpu addr 0x0000000080000c04
[    6.891671] radeon 0000:04:00.0: fence driver on ring 2 uses gpu addr 0x0000000080000c08
[    6.891675] radeon 0000:04:00.0: fence driver on ring 3 uses gpu addr 0x0000000080000c0c
[    6.891679] radeon 0000:04:00.0: fence driver on ring 4 uses gpu addr 0x0000000080000c10
[    6.892498] radeon 0000:04:00.0: fence driver on ring 5 uses gpu addr 0x0000000000075a18
[    6.892776] radeon 0000:04:00.0: radeon: MSI limited to 32-bit
[    6.892867] radeon 0000:04:00.0: radeon: using MSI.
[    6.892920] [drm] radeon: irq initialized.
[    7.752806] radeon 0000:04:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    7.930165] [drm] Radeon Display Connectors
[    7.934390] [drm] Initialized radeon 2.50.0 for 0000:04:00.0 on minor 1
[    7.934663] radeon 0000:04:00.0: [drm] Cannot find any crtc or sizes
[   33.361999] radeon 0000:04:00.0: WB enabled
[   33.362006] radeon 0000:04:00.0: fence driver on ring 0 uses gpu addr 0x0000000080000c00
[   33.362012] radeon 0000:04:00.0: fence driver on ring 1 uses gpu addr 0x0000000080000c04
[   33.362017] radeon 0000:04:00.0: fence driver on ring 2 uses gpu addr 0x0000000080000c08
[   33.362021] radeon 0000:04:00.0: fence driver on ring 3 uses gpu addr 0x0000000080000c0c
[   33.362025] radeon 0000:04:00.0: fence driver on ring 4 uses gpu addr 0x0000000080000c10
[   33.362852] radeon 0000:04:00.0: fence driver on ring 5 uses gpu addr 0x0000000000075a18
[   44.433022] radeon 0000:04:00.0: WB enabled
[   44.433026] radeon 0000:04:00.0: fence driver on ring 0 uses gpu addr 0x0000000080000c00
[   44.433030] radeon 0000:04:00.0: fence driver on ring 1 uses gpu addr 0x0000000080000c04
[   44.433032] radeon 0000:04:00.0: fence driver on ring 2 uses gpu addr 0x0000000080000c08
[   44.433034] radeon 0000:04:00.0: fence driver on ring 3 uses gpu addr 0x0000000080000c0c
[   44.433036] radeon 0000:04:00.0: fence driver on ring 4 uses gpu addr 0x0000000080000c10
[   44.433845] radeon 0000:04:00.0: fence driver on ring 5 uses gpu addr 0x0000000000075a18
[   72.624472] radeon 0000:04:00.0: WB enabled
[   72.624479] radeon 0000:04:00.0: fence driver on ring 0 uses gpu addr 0x0000000080000c00
[   72.624486] radeon 0000:04:00.0: fence driver on ring 1 uses gpu addr 0x0000000080000c04
[   72.624490] radeon 0000:04:00.0: fence driver on ring 2 uses gpu addr 0x0000000080000c08
[   72.624494] radeon 0000:04:00.0: fence driver on ring 3 uses gpu addr 0x0000000080000c0c
[   72.624498] radeon 0000:04:00.0: fence driver on ring 4 uses gpu addr 0x0000000080000c10
[   72.625307] radeon 0000:04:00.0: fence driver on ring 5 uses gpu addr 0x0000000000075a18
amirali@amiralihost:~$ lspci -k -d ::03xx
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
        Subsystem: ASUSTeK Computer Inc. Device 192d
        Kernel driver in use: i915
        Kernel modules: i915
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars LE [Radeon HD 8530M / R5 M240]
        Subsystem: ASUSTeK Computer Inc. Device 192d
        Kernel driver in use: radeon
        Kernel modules: radeon, amdgpu
amirali@amiralihost:~$

I think there is a problem in activating radeon.

Hmmm, maybe ‘amdgpu’ does not work well with your system and causes high CPU load. Besides the issue with high temperatures, did your system then recognize the GPU with the ‘amdgpu’ driver active? If not, there is probably no point in looking into it further.

Oh, one more thing about the high CPU temperature: considering that the GPU is a 10+ year old model and the logs reference an Intel Haswell generation CPU (similarly old), how old is the laptop? The reason I am asking is that common thermal pastes tend to dry out after a few years and, as a result, no longer properly conduct heat from the chips to the heatsinks anymore. How are the temperatures when you put some other load on the system? While this isn’t directly related to your driver issue, you might also want to re-apply fresh thermal paste at some point (or take the laptop to a shop to do it for you, laptop chips have exposed dies and are kind of fragile).

Yes, it recongnized it and when I checked kernel modules I saw this:

Kernel driver in use: amdgpu

And there is no problem with the thermal paste, I changed them a few months ago. And when I had not changed the driver, I had no problems. The problem is definitely with the driver.

Your GPU is one of the very early GCN cards. It should be well supported by amdgpu.

You can install and check thermal sensors using the lm_sensors package.

sudo dnf install lm_sensors followed by sudo sensors-detect. When running through the configuration select yes for everything. Then any time you want to check system temps, you just need to type sensors.

How high were the temps getting? Laptops traditionally run hotter than desktops, simply due to their packaging format. I have used every thing from 11 inch Gigabyte X11’s that ran in the 50s (Celsius) just running Linux, and would run all the way into the low to mid 80s when some heavy background process was running. In other laptop systems it barely made a change because the cooling system was better.

Processors and GPUs have thermal limit settings where they will ramp down their performance when it’s getting dangerously hot, or they will shut themselves down entirely for protection if there’s some kind of massive malfunction that causes extreme temperatures.

The R5 doesn’t support amdgpu fully. The R7 does (did).

  • Legacy GPUs (like the R5 M230) use GCN 1.0 architecture and primarily rely on the radeon driver
  • Modern GPUs (including many R7 series cards) use newer architectures and prefer the amdgpu driver

While some newer R5 models do support amdgpu, the specific model you’re asking about (R5 M230) uses the older architecture and requires the radeon driver

. This explains why some R5 series cards support amdgpu while others don’t - it depends entirely on their underlying architecture generation.

I wish they’d make a feature matrix for amdgpu like they did for the Radeon driver. Would be so much easier to browse than trying to remember what is and isn’t supported via issue trackers and update notes. Just a one stop shop where you could point people to and say “this is what’s supported on your hardware…”

It was not a normal temperature. It was above 70 degrees Celsius. While in normal mode the temperature of my laptop does not exceed 50

When I activated amdgpu for my hardware, I tried to test it using vkcube --gpu_number but only intel and llvmpipe GPUs worked not AMD.

Is there any way to make radeon driver work? When I installed it the operating system had selected Radeon driver by default. Maybe there’s a way to use radeon for it.

It does use it already.


Screenshot_20250822_185630
How can I know which of GPU 2 and GPU 3 labels corresponds to which hardware?
When I execute vkcube --gpu_number 0 It uses Intel GPU and the usage of GPU 3 label get high in the graph. And when I execute vkcube --gpu_number 1 it uses llvmpipe (CPU) the usage of GPU 3 rises again.

It seems GPU 2 is AMD because OS has been detected that, Even though it seems like it can’t be used. Right?

Really? How to test it? I cannot use it with vkcube.

You can check which renderer is being used by opening a terminal and running:

glxinfo | grep "OpenGL renderer"

If you see “LLVMpipe” in the output, your system is indeed using software rendering (missing drivers likely).

Verify the drivers are installed

dnf list installed *mesa*
sudo dnf install mesa-dri-drivers

and reboot

For reference, I have those installed:

mesa-compat-libOSMesa.i686           25.0.4-1.fc42                         updates
mesa-compat-libOSMesa.x86_64         25.0.4-1.fc42                         updates
mesa-dri-drivers.i686                25.1.7-1.fc42                         updates
mesa-dri-drivers.x86_64              25.1.7-1.fc42                         updates
mesa-filesystem.i686                 25.1.7-1.fc42                         updates
mesa-filesystem.x86_64               25.1.7-1.fc42                         updates
mesa-libEGL.i686                     25.1.7-1.fc42                         updates
mesa-libEGL.x86_64                   25.1.7-1.fc42                         updates
mesa-libGL.i686                      25.1.7-1.fc42                         updates
mesa-libGL.x86_64                    25.1.7-1.fc42                         updates
mesa-libGLU.x86_64                   9.0.3-6.fc42                          fedora
mesa-libgbm.i686                     25.1.7-1.fc42                         updates
mesa-libgbm.x86_64                   25.1.7-1.fc42                         updates
mesa-libxatracker.x86_64             25.1.7-1.fc42                         updates
mesa-va-drivers.i686                 25.1.7-1.fc42                         updates
mesa-va-drivers.x86_64               25.1.7-1.fc42                         updates
mesa-vdpau-drivers.x86_64            25.1.7-1.fc42                         updates
mesa-vulkan-drivers.i686             25.1.7-1.fc42                         updates
mesa-vulkan-drivers.x86_64           25.1.7-1.fc42                         updates

All mesa-dri-drivers packages are already installed on my system.

I’m still not sure if AMD on radeon works or not. the output of this command was intel. maybe AMD will be activated if I open a program with a heavy graphic. Does anyone know a way to recognized AMD gpu will be used or not? How do I make sure it is actived?

Do you know of a way to force a program to run on َAMD? Or any other way to find out that it works or not? Any terminal commands?

I’m out of ideas here. I don’t have any setup with dual graphic cards. Sorry.

Do not enable amdgpu for this GPU.

That looked OK

amirali@amiralihost:/usr/bin$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: OLAND (radeonsi, , ACO, DRM 2.50, 6.15.9-201.fc42.x86_64)

Here’s what I have on my F42 with a R7 (amdpgu working):

OpenGL renderer string: AMD Radeon R7 Graphics (radeonsi, kaveri, ACO, DRM 3.61, 6.12.42-200.fc42.x86_64)

And on Debian with an Radeon 3000 (radeonsi; amdgpu not working):

OpenGL renderer string: AMD RS780 (DRM 2.50.0 / 6.12.38+deb12-amd64, LLVM 15.0.6)

Ok. It maybe work. Actually I didn’t see the name of my GPU in Info center and I was unable to test it using vkcube and glxgears. So thought it has a problem.

Thank you all for your effective help.

I think it’s a hole in the driver. I’ve had a similar problem. I have two nominally identical Dell OEM R7 350 cards, both 4GB. You’d think they’d be the same but one has the TURKS chip and the other has the OLAND chip.

One (I believe it’s the TURKS chip, it doesn’t want to tell me) is in my PCLinuxOS/KDE system and works fine at any resolution. It’s presently running at 1600x1200.

The other (OLAND, if I didn’t get them mixed up) I had to eject from my Fedora and OpenMandriva (both KDE) systems, as it would work but only at 800x600, yet the driver appears to ID the card and load normally.

The card works fine in Windows, at any resolution.

Also affected, an R7-250 2GB, I believe this one was also OLAND.

After much thrashing around I concluded that there is a gap in the linux driver support for this particular Radeon chip, or some subset of it, and it simply is not supported.

Solution: find another GPU (or in the one case, just use the onboard Intel GPU, which works fine).

Someday I need to sort out all of these (very common OEM vidcards for business workstations) and submit a bug report.

1 Like

My AMD GPU’s usage is 0% on windows. Because it is for heavy rendering and both windows and linux do not use it much and for every program. I found that when the gpu which it is set for vkcube is llvmpipe or intel just one of the gpus in kde system monitor was working and the usage of the one other was never raising up. I think the idle gpu in system monitor is my amd radeon. my problem is I cannot test the radeon gpu by changing the value of gpu_number parameter in vkcube. may be it starts working when executing a heavy graphical program. I do not know. the output of the command indicated that kernel has detected my gpu and it had chose the radeon driver for that.

1 Like