Hello, I’m a relatively new CachyOS user and have been extremely happy with it so far, even during a couple of moments where I’ve had to get my feet wet fixing some small issues. Recently I experienced a similar issue as in this thread and decided that was my sign to switch from an Nvidia GPU to an AMD one. Specifically my old GPU was a 2080ti and the new GPU is an RX 9070 XT.
However, immediately after installing the GPU, I noticed that all my Steam games that used a compatibility layer were no longer launching. A native game (Factorio) ran at an extremely low FPS (1-5 fps), and FurMark also never exceeded 1 fps, with the GPU usage graph never exceeding 15% GPU usage.
At the same time I also noticed that btop was not detecting a GPU and was not displaying any GPU usage data. At this point I figured it was possibly a driver issue and after some more research I’m coming up empty.
What I’ve done so far:
Updated with pacman -Syu
Ran chwd -r nvidia-open-dkms to remove the remaining nvidia drivers
Updated my initramfs
Rebooted
Checked with vulkaninfo, which returned an error (more on this below)
Ran chwd -r amd and deleted all my graphics drivers (oops)
Chrooted from live USB and ran chwd -a to get the AMD drivers back
Rebooted
vulkaninfo still doesn’t work
Tried following the steps in this guide from the Arch wiki, but didn’t result in any change, and honestly I don’t feel like I fully understand what it was telling me to do.
❯ vulkaninfo --summary
WARNING: [../mesa-25.2.6/src/amd/vulkan/radv_physical_device.c:2160] Code 0 : Could not get the kernel driver version for device /dev/dri/renderD128: Invalid argument (VK_ERROR_INCOMPATIBLE_DRIVER)
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs: Failed to detect any valid GPUs in the current config
ERROR at /usr/src/debug/vulkan-tools/Vulkan-Tools/vulkaninfo/./vulkaninfo.h:247:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED
Interestingly, if I run sudo vulkaninfo --summary, I get a different output:
I’ve reached the limit of my current troubleshooting proficiency and I can’t figure out what I’m doing wrong or what I need to do to fix this. Does anyone have an idea on what’s happening and how to address it? Any information on this is welcome; I love learning more about how computers work!
EDIT: I realized I hadn’t linked the result of cachyos-bugreport.sh: 9e6d6fd
I somewhat fixed my own problem! Turns out the answer was in an Arch Forum post that I had overlooked previously.
It looks like that was just a temporary solution, I still have an issue.
Specifically, it appears the mesa drivers are not new enough to support the 9070XT, and I needed the mesa-git and lib32-mesa-git drivers from the AUR. The solution was then to run yay -Syu mesa-git lib32-mesa-git and overwrite the existing mesa and vulkan drivers. After that, everything works as expected.
Unfortunately now I am stuck with all my programs choosing to use llvmpipe instead of the GPU to render, which results in everything running extremely slowly.
Strangely, lspci -k shows that the amdgpu driver is loaded
There is no card0 in /dev/dri. ls -al /dev/dri returns:
drwxr-xr-x - root 12 Nov 03:44 .
drwxr-xr-x - root 12 Nov 03:44 ..
drwxr-xr-x - root 12 Nov 03:44 by-path
crw-rw----@ 226,1 root 12 Nov 03:44 card1
crw-rw-rw- 226,128 root 12 Nov 03:44 renderD128
greping dmesg for drm gives me the following excerpt:
[ 0.671233] [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
[ 3.861572] amdgpu 0000:0e:00.0: amdgpu: [drm] Loading DMUB firmware via PSP: version=0x0A000400
[ 3.861950] amdgpu 0000:0e:00.0: amdgpu: Found VCN firmware Version ENC: 1.9 DEC: 9 VEP: 0 Revision: 38
[ 4.142734] amdgpu 0000:0e:00.0: amdgpu: SMU is initialized successfully!
[ 4.143726] amdgpu 0000:0e:00.0: amdgpu: [drm] Display Core v3.2.340 initialized on DCN 4.0.1
[ 4.147879] amdgpu 0000:0e:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x0A000400
[ 4.820792] [drm] Initialized amdgpu 3.64.0 for 0000:0e:00.0 on minor 1
My mkinitcpio.conf already has MODULES = (amdgpu) in it, and I’ve tried blacklisting simpledrm as described in this Arch forum thread and regenerating initramfs, but that doesn’t seem to have prevented simpledrm from grabbing minor0 before amdgpu
I’m not currently at my computer right now so it may take me some time to get more detailed dmesg or journalctl output, but this is what I can remember from my efforts yesterday.
Unfortunately I’m a bit pressed for time as I’ll be traveling in a few days. I’ll probably try just re-installing the OS as I have backups I can restore from. Hopefully this can clean the system of any errant configurations left over from when it was originally running an nvidia GPU…
Ultimately, reinstalling CachyOS solved the driver issue. I’m still not sure what the issue was originally, but I suspect it had to do with not cleanly migrating from Nvidia to AMD. In the end my issue is resolved.
I’m amending this post in case someone else runs into the same issue as I think I’ve managed to track down the culprit that messed up the GPU drivers for me.
TL;DR: OpenGL will start failing to load radeonsi for me after installing nomachine from the AUR. I’m not yet sure exactly why this is happening, but I’ve at least got a responsible party that I can look into.
After getting burned twice by this issue, I reinstalled CachyOS using Limine and modified its config to keep 50 snapshots so if this ever happened again I can go through them one by one until I identify the problem install. Turns out OpenGL works fine with radeonsi until the moment I install nomachine from the AUR. I’ll have to go through its PKGBUILD more closely next time I guess, but at least I can revert to a working snapshot. I can see why so many people love Limine and BTRFS snapshots now
It’s the worst PKGBUILD I have ever saw, lot of unnecessary gzip operations… Doesn’t have anything in the PKGBUILD that could change your configs. I didn’t download the gzip to have a look around. Why do you need nomachine?