I’m running CachyOS, and having an Nvidia card, I’m using their Nvidia-specific kernel. I know this 3060 won’t last forever, and I’m planning to upgrade to an AMD card for a better overall experience.
Is there anything I should be aware of regarding the kernel or other compatibility when switching brands? Can I simply plug in the new one and run pacman -Syu?
Sidenote: I will plan around my PSU’s output, so no need to advise regarding physical compatibility.


Isn’t that part already covered by the radv mesa driver? I’m really confused. did you mean to refer to vulkan as a 3D gfx API rather than an engine? Or are there specific rendering engine workarounds included in the aforementioned package?
mesa only coveres, OpenGL, according to the arch wiki.
also, the former, I couldn’t remember the correct word
That’s not correct, though it may be ASIC specific. Can you tell me which GPU you’re using?
IME, GCN4 and up are all seamlessly served by the radv mesa driver. If this person upgrades to a newer AMD GPU, they will not need to manually install a Vulkan ICD
To add, there are mesa vulkan drivers for Intel (ANV, which is the original basis of RADV), nvidia (NVK), Qualcomm (Turnip), and Apple Silicon (forgot the name but something apple-y I hope), and several others.
I’m not sure if there’s any caveats specific to arch, I’ve not used it much outside of EndeavourOS, and primarily use Fedora, though the former was a completely plug and play experience across several systems with various generations of AMD graphics.
I’ve just always followed the Arch wiki, and never tried using Vulkan without vulkan-radeon on my one PC with an AMD card. The wiki states: “Install the mesa package, which provides both the DRI driver for 3D acceleration and VA-API/VDPAU drivers for accelerated video decoding.” and “For Vulkan support install vulkan-radeon (lib32-vulkan-radeon for 32-bit applications).”.The vulkan page itself says:
To run a Vulkan application, you will need to install the vulkan-icd-loader package (and lib32-vulkan-icd-loader from the multilib repository if you also want to run 32-bit applications), as well as Vulkan drivers for your graphics card(s). There are several packages providing a vulkan-driver and lib32-vulkan-driver: AMD: vulkan-radeon (or lib32-vulkan-radeon) Intel: vulkan-intel (or lib32-vulkan-intel) NVIDIA: there are two implementations: nvidia-utils (or lib32-nvidia-utils) - NVIDIA proprietary vulkan-nouveau (or lib32-vulkan-nouveau) - NVK (part of Mesa project)The vulkan-radeon package provides the ICD (
# pacman -Qlq vulkan-radeon | grep -v '/$' /usr/lib/libvulkan_radeon.so /usr/share/drirc.d/00-radv-defaults.conf /usr/share/licenses/vulkan-radeon/license.rst /usr/share/vulkan/icd.d/radeon_icd.json); so does nvidia-utils (
# pacman -Qlq nvidia-utils | grep -i icd | grep -v '/$' /usr/share/vulkan/icd.d/nvidia_icd.json /usr/share/vulkansc/icd.d/nvidia_icd_vksc.json ), but mesa does not.
That’s interesting. You generally don’t need to manually install that. You’ve prompted me to play around with arch once I return from the most beautiful city in the world.
Which distro and dgpu are you using, if you don’t mind me asking?
Updated the comment. (The ICD is explicitly installed by vulkan-radeon, vulkan-intel or nvidia-utils/vulkan-nouveau. Just as with all linux-firmware categories/companies being their own package now, this is probably done to minize unused space/bloat.)
Vanilla Arch Linux, testing repos, with an RX 7800XT.