If a Vulkan build of a GPU application like llama.cpp or stable-diffusion.cpp cannot find your graphics card, you need updated Mesa Vulkan drivers.
Mesa Vulkan drivers are open-source user-space drivers that translate Vulkan API calls into instructions your GPU can execute.
To install the latest drivers on Ubuntu, use the Kisak Mesa PPA. Kisak is a developer at Valve.
sudo apt update
sudo apt install -y ppa-purge software-properties-common vulkan-toolssudo add-apt-repository ppa:kisak/kisak-mesasudo apt full-upgrade -ysudo rebootAfter rebooting, run vulkaninfo --summary and you should see something like this:
Devices:
========
GPU0:
apiVersion = 1.2.348
driverVersion = 26.1.3
vendorID = 0x1002
deviceID = 0x1586
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Microsoft Direct3D12 (AMD Radeon(TM) 8060S Graphics)
driverID = DRIVER_ID_MESA_DOZEN
driverName = Dozen
driverInfo = Mesa 26.1.3 - kisak-mesa PPA
conformanceVersion = 0.0.0.0
deviceUUID = 40a9ba5b-63ac-0f3d-9cbb-b57ba5c96c8f
driverUUID = 6c3106a4-7ce6-6a8c-95d8-848169d23b66
I have an AMD Strix Halo running in WSL, so my driver ID is Dozen. If you are running bare-metal Ubuntu with an AMD GPU, your driver ID will be RADV.
sudo ppa-purge -d noble ppa:kisak/kisak-mesage
sudo reboot