AMD Drivers

AMDGPU gives errors but what do these mean?


dnf list amd
Updating and loading repositories:
 AMD Graphics 7.2 repository                                                                                    100% | 375.0   B/s |   2.2 KiB |  00m06s
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/graphic
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/graphic
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/graphic
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/graphic
>>> Usable URL not found                                                                                                                                
 AMDGPU 30.30 repository                                                                                        100% | 375.0   B/s |   2.2 KiB |  00m06s
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/amdgpu/
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/amdgpu/
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/amdgpu/
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.17.165.147) - https://repo.radeon.com/amdgpu/
>>> Usable URL not found

It looks like you have some old repos? The actual amdgpu drivers are part of the Linux kernel.

Do you have any packages installed from those repos? You should probably just remove or replace them.

I just downloaded the newest one from amd.

Btw gpu works, I just have no audio over hdmi. I removed the Radeon VEGA 56 as it seems not to be supported in linux anymore :frowning: So intgrated graphics (with working sound) it is.,

You don’t need to download anything from AMD, even for the newest GPUs.

Everything you need is in the kernel and the mesa stack.

Vega 56 is definitely still working in Linux. Even much older cards than that are still fine in Linux.

It did work. For a weekend which was good on my multimedia pc. but than stopped working. The sound sink no longer listed in settings / sound. Only the IGFX

That is probably some configuration or driver issue. I would start by removing whatever drivers you installed from AMD.

it almost looks like they never installed.

Updating and loading repositories:
 Fedora 43 - x86_64 - Updates                                                                                              100% |  19.6 KiB/s |  19.6 KiB |  00m01s
 AMD Graphics 7.2 repository                                                                                               100% | 456.0   B/s |   2.2 KiB |  00m05s
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/graphics/7.2/el/43
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/graphics/7.2/el/43
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/graphics/7.2/el/43
>>> Status code: 404 for https://repo.radeon.com/graphics/7.2/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/graphics/7.2/el/43
>>> Usable URL not found                                                                                                                                           
 AMDGPU 30.30 repository                                                                                                   100% | 456.0   B/s |   2.2 KiB |  00m05s
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/amdgpu/30.30/el/43
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/amdgpu/30.30/el/43
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/amdgpu/30.30/el/43
>>> Status code: 404 for https://repo.radeon.com/amdgpu/30.30/el/43/main/x86_64/repodata/repomd.xml (IP: 2.19.251.169) - https://repo.radeon.com/amdgpu/30.30/el/43
>>> Usable URL not found                                                                                                                                           
Repositories loaded.

This is happening because it’s looking for a repo that doesn’t exist on AMD’s server.

The repos that the AMDGPU script would usually be trying to pull from on a modern RHEL based system would basically be /el/10/ and/or /rhel/10/, but because the repo list has the version number as a variable $amdgpudistro, it’s pulling and inserting Fedora’s version number into the url, which in both of our cases would of course be 43, instead of the specific RHEL version the distro is actually based on.

So when you put the whole link together and rpm processes it, you get:

repo.radeon.com/graphics/7.2.1/el/43/main/x86_64/repodata/repomd.xml
repo.radeon.com/graphics/7.2.1/rhel/43/main/x86_64/repodata/repomd.xml
as your results.

These paths, of course, don’t exist on AMD’s repo, so you get the good old red wall of error 404.

The expected result obtains a valid repomd.xml instead of a 404 error, which we can force by setting the base url in the repo list to direct to the RHEL / EL 10 repo lists on AMD’s server;

repo.radeon.com/graphics/7.2.1/el/10/main/x86_64/repodata/repomd.xml
repo.radeon.com/graphics/7.2.1/rhel/10/main/x86_64/repodata/repomd.xml

To bodge this error so that Fedora can pull from the amdgpu repos if you’re not using the inbuilt mesa and amdgpu stacks for weird reasons (e.g mine is to use RoCM for screwing around with compute), you could consider doing the following;

1: Open a terminal and cd to the /etc/yum.repos.d directory.
2: perform ls to view the repo lists that are in the directory.
3: If you have any of the following repo lists in your yum.repos.d, you want to use nano (or any terminal based text editor of your choice) to open and correct them:
amdgpu-proprietary.repo
amdgpu.repo
rocm.repo

4: Any base urls containing a string $amdgpudistro need to be edited so that they don’t try and poll the system for its version number, and instead point directly to the RHEL 10 / EL 10 repos. don’t directly copy/paste the corrected urls from above as the base url must not contain the repodata/repomd.xml path. It must go no further than /x86_64/.

5: once edited, save and exit the text editor, then perform a sudo dnf update, to force dnf to read the repo list and use the corrected urls. It should now be able to pull updates from the corrected repo urls.

Oh, and if you want it to consistently pull recent versions of amdgpu or rocm, you can also change the version number from /7.2.1/ to /latest/ instead. If you have any software that relies on specific versions of AMD’s compute or graphics libraries I would hold off on considering that idea though for the sake of compatibility.

All of this, however, can be mitigated by just sticking with the mesa stacks that come by default with the kernel itself. AMD has open-sourced most of its basic GPU driver components, so even on a fresh installation you will get OpenGL, and Vulkan support out of the box on AMD graphics cards circa RX400.

This means that with only a few limited edge-cases where a proprietary feature or function might be needed, the mesa stacks will work fine for the average user.

AMD drivers have been maintained in the mainline kernel for decades now. Linux is not Windows. You don’t install the driver and if you have to, you’re in bad luck.

Anyway, you mentioned that it’s an integrated one, so I would assume you’re using a laptop which can have series of driver issues. Linux drivers don’t really give you the best experience on laptops.

I don’t it’s the driver initialisation issues. Do lspci and lsmod how the kernel enumerated the AMD decice and have a closer look at dmesg. There should be some red messages printed by the AMD driver module complaining about failing to initialise part of the device.

Try rebooting multiple times. If it works sometimes, it’s definitely the driver bug that needs to be fixed… A very typical race condition problem. Please be patient. Kernel development is hard.