For most people, the best GPU for Linux gaming in late 2026 is a Radeon. AMD’s open driver ships inside the kernel, and RADV, the Vulkan driver that Steam’s Proton runs on, ships inside Mesa. That means a fresh distro install plays games before you have touched a driver. NVIDIA still wins on ray tracing and DLSS, but every RTX 50 card now needs the open kernel modules, and DX12 titles lose more frame rate under Proton than they do on a Radeon.
Below you’ll find six cards picked by budget across AMD RADV, NVIDIA’s open kernel modules and Intel Arc, the specs that decide a Linux build, and the checks that confirm each driver stack is actually loaded. The driver checks were run on Ubuntu 26.04 and on a rented RTX 5070 Ti in October 2026, and every price band was re-checked against live listings the same day.
Pick the best GPU for Linux gaming by budget
Start from what you’ll play at and how much you can spend. GPU prices are still well above launch MSRP because of the 2026 memory shortage, so the bands below are what the cards actually cost on Amazon US today:
- Best overall: PowerColor Reaper Radeon RX 9070 XT, about $900 to $950. RADV with no extra install, 16GB on a 256-bit bus, and the strongest Radeon result in the Linux benchmarks below.
- Best on a small PSU: XFX Swift Radeon RX 9060 XT 16GB Triple Fan, about $640 to $680. The cheapest current Radeon with 16GB, on one 8-pin plug and a 450W supply.
- Best NVIDIA: MSI RTX 5070 Ti Ventus 3X OC, about $1,450 to $1,550. Buy it for DLSS and ray tracing, and expect to run the open kernel modules.
- High end: MSI RTX 5080 Inspire 3X OC, about $2,400 to $2,500. The strongest ray tracing and DLSS card here without paying 5090 money.
- Budget: ASRock Arc B570 Challenger 10GB, about $280 to $300. 1080p gaming on Mesa’s ANV driver for well under half the next price step.
- Cool and quiet: ASRock Radeon RX 9070 Challenger, about $690 to $710. Most of the XT’s speed at 220W instead of 304W.
The RTX 5090 and Arc B580 are not on the list on purpose. The cheapest new 5090 on Amazon US was over $7,000 when these prices were pulled, and the B580 had no regular new listing on Amazon US, so the B570 takes its place. If you game on a laptop or a mini PC instead, the same driver logic applies, but the cards don’t.
Compare the six cards side by side
Board power and the power connector matter more on a Linux build than people expect, because a PSU swap is the most common hidden cost of an upgrade. Every value below comes from the AMD, NVIDIA or Intel reference spec page and the board partner’s own spec sheet:
| Card | Linux driver | VRAM | Board power | Power plug / PSU | Price band (Oct 2026) |
|---|---|---|---|---|---|
| RX 9070 XT (PowerColor Reaper) | amdgpu + RADV | 16GB GDDR6, 256-bit | 304W | 2x 8-pin / 750W | $900-950 |
| RX 9070 (ASRock Challenger) | amdgpu + RADV | 16GB GDDR6, 256-bit | 220W | 2x 8-pin / 700W | $690-710 |
| RX 9060 XT 16GB (XFX Swift Triple Fan) | amdgpu + RADV | 16GB GDDR6, 128-bit | About 180W (AMD reference 160W) | 1x 8-pin / 450W | $640-680 |
| RTX 5080 (MSI Inspire 3X) | nvidia-open | 16GB GDDR7, 256-bit | 360W | 16-pin / 850W | $2,400-2,500 |
| RTX 5070 Ti (MSI Ventus 3X) | nvidia-open | 16GB GDDR7, 256-bit | 300W | 16-pin / 750W | $1,450-1,550 |
| Arc B570 (ASRock Challenger) | xe + ANV | 10GB GDDR6, 160-bit | 150W | 1x 8-pin / 600W | $280-300 |
Read the price column against the board power column. The RX 9060 XT and RX 9070 sit only about $50 apart right now, yet the 9070 doubles the memory bus width to 256-bit and moves up a full performance tier. Both NVIDIA cards use the 16-pin connector, so an older PSU without a native 12V-2×6 cable means running the adapter in the box. If you are not sure your supply can carry a 300W+ card, the sizing math in the PSU guide for GPU builds works the same for a single gaming card.
Check how the picks were tested
Frame-rate numbers in this guide do not come from a local bench. They come from Phoronix’s Linux reviews and one 14-game Windows versus Linux comparison, each linked where it’s quoted, and they’re launch-era results unless a date says otherwise. What was run hands-on is the part that decides whether a card works at all: the driver stack. A stock Ubuntu 26.04 system (kernel 7.0) was checked for each card’s kernel driver, firmware and Mesa Vulkan driver, and a rented GeForce RTX 5070 Ti was checked for the NVIDIA open module.
Start with Mesa, because RADV for Radeon, ANV for Arc and NVK for GeForce all live in one package:
apt-cache policy mesa-vulkan-drivers
Mesa 26.0 is on offer from the updates pocket, well past the Mesa 25.0 release that first added RDNA 4 to RADV:
mesa-vulkan-drivers:
Installed: (none)
Candidate: 26.0.8-1ubuntu0.3
Version table:
26.0.8-1ubuntu0.3 500
500 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages
26.0.3-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu resolute/main amd64 Packages
Inside that package, three Vulkan ICD files cover the three vendors, so the userspace side is already done for you:
radeon_icd.jsonloads RADV for the Radeon picks.intel_icd.jsonloads ANV for the Arc B570.nouveau_icd.jsonloads NVK, the open-source GeForce driver, which you won’t use once NVIDIA’s own driver is installed.
Your kernel is where cards actually get rejected. The Arc B570 and B580 are claimed by the xe driver by exact PCI ID, which you can confirm before the card arrives (on Debian, call it as /sbin/modinfo because /usr/sbin isn’t in a normal user’s PATH):
modinfo -F alias xe | grep -iE 'v00008086d0000E20[BC]'
Two lines come back: E20C is the B570 and E20B is the B580. No output would mean your kernel predates Battlemage support.
pci:v00008086d0000E20Csv*sd*bc03sc*i*
pci:v00008086d0000E20Bsv*sd*bc03sc*i*
Do not run the same grep for a Radeon and panic when it comes back empty. amdgpu doesn’t list the RX 9070 (1002:7550) or RX 9060 XT (1002:7590) by ID; it claims every AMD display-class device with a wildcard and identifies the chip after it loads. The useful check for RDNA 4 is whether the driver knows the GFX12 firmware names:
modinfo -F firmware amdgpu | grep gc_12_0_1
On the 7.0 kernel you get the full gc_12_0_1 set, which is the RX 9070 family’s graphics firmware (gc_12_0_0 covers the 9060 XT):
amdgpu/gc_12_0_1_toc.bin
amdgpu/gc_12_0_1_rlc_kicker.bin
amdgpu/gc_12_0_1_rlc.bin
amdgpu/gc_12_0_1_mec.bin
amdgpu/gc_12_0_1_me.bin
amdgpu/gc_12_0_1_pfp.bin
amdgpu/gc_12_0_1_imu_kicker.bin
amdgpu/gc_12_0_1_imu.bin
amdgpu/gc_12_0_1_uni_mes.bin
amdgpu/gc_12_0_1_mes1.bin
amdgpu/gc_12_0_1_mes.bin
Firmware is split into vendor packages on 26.04. linux-firmware-amd-graphics carries the gc_12_0_x blobs and linux-firmware-intel-graphics carries xe/bmg_guc_70.bin and xe/bmg_huc.bin for Battlemage. A minimal or cloud image can skip them, which gives you a black screen on a perfectly supported card, so check that ls /lib/firmware/amdgpu is not empty. Battlemage also needs i915/bmg_dmc.bin from the Intel package. Install both if they are missing:
sudo apt install linux-firmware-amd-graphics linux-firmware-intel-graphics
One thing didn’t work. The rented 5070 Ti ran inside a container with no display server, and its Vulkan loader rejected the NVIDIA ICD with Could not get 'vkCreateInstance' via 'vk_icdGetInstanceProcAddr' for ICD libGLX_nvidia.so.0, then fell back to the CPU renderer. That is a headless container limitation, not something you’ll hit on a desktop, but it is why no in-house frame rates appear here.
Buy the RX 9070 XT for 1440p and 4K
Buy the RX 9070 XT if you just want Linux gaming to work and keep working. It needs nothing beyond what a current distro already ships:
In Phoronix’s March 2025 launch review on Linux, the 9070 XT landed around RX 7900 XT performance, drawing 264W on average and peaking at 311W. A 14-game 1440p comparison relayed by GameGPU put it at 94% of its Windows frame rate on CachyOS (130.3 vs 138.6 FPS) and 92.2% on Bazzite, which is a far smaller Proton tax than NVIDIA pays. Ray tracing is its weak spot: with Vulkan RT titles included, Phoronix found it fell back to roughly RTX 3090 level at launch.
PowerColor’s Reaper is a plain two-slot, 289mm card with two 8-pin plugs and a 750W PSU recommendation, so it fits most mid-tower cases. You need Linux 6.12 or newer and Mesa 25.0 or newer; 6.13 and later behave better. Skip it if path-traced games are why you are upgrading, or if your PSU is under 750W. It ran about $900 to $950, check the live price on Amazon.
Get the RX 9060 XT 16GB on a tighter budget
This is the pick for a modest power supply, as long as you buy the 16GB version and not the 8GB card that shares its name:
Phoronix measured it 61% ahead of the RX 7600 XT in GTA V at 1080p Very High, though only 9% ahead in CS2, so the gain depends heavily on the game. AMD rates the chip at 160W, but reviews of this factory-overclocked Swift put its power limit at about 180W. It still runs on a single 8-pin plug, and XFX’s minimum PSU is 450W, which makes it the easiest upgrade for a desktop whose PSU has one PCIe 8-pin lead and not much headroom. It’s still a 290mm triple-fan card, so measure first. The 128-bit bus is the trade-off: it’s a 1080p and light 1440p card, not a 4K one.
If the RX 9070 is within $50 when you shop and your PSU has two 8-pin leads and 700W, buy that instead, because it’s much faster for the money. Check the seller and stock on the listing before you buy. It was about $640 to $680, see the current listing on Amazon.
Choose the RTX 5070 Ti if you need NVIDIA
Pick NVIDIA for DLSS, ray tracing or CUDA work on the same box. The RTX 5070 Ti is the reasonable entry point into all three:
On the rented card, the kernel module reported itself as the open flavor, and that is not optional on Blackwell. NVIDIA’s own README states that the proprietary modules cover Turing through Hopper and that “Blackwell and later are only supported by the open kernel modules”:
cat /proc/driver/nvidia/version
Look at the first line: it names the module flavor and the driver branch, here 595.84:
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 595.84 Release Build (dvs-builder@U22-I3-AM25-26-2) Wed Jun 10 21:06:37 UTC 2026
GCC version: gcc version 12.3.0 (Ubuntu 12.3.0-1ubuntu1~22.04.3)
DX12 under Proton is where you pay for it. Phoronix’s RTX 5070 review found that card close to the RX 9070 XT on the Linux geomean and far ahead in ray tracing, but the same 14-game comparison that gave the Radeon 94% of its Windows speed gave an RTX 5080 only 81 to 84%. Skip the 5070 Ti if you play mostly DX12 games through Proton and don’t care about ray tracing, because a cheaper Radeon closes most of that gap. This MSI listing is a third-party seller with limited stock, so check the seller rating. It ran about $1,450 to $1,550, check availability on Amazon.
Step up to the RTX 5080 for ray tracing
Go for the RTX 5080 when ray tracing and DLSS matter more to you than price:

Proton takes a big bite out of it. In the same GameGPU comparison it averaged 123 to 126.5 FPS at 1440p on Linux against 151.2 on Windows, and its 1% lows dropped from 99.3 to about 78. The RX 9070 XT scored 130.3 FPS on CachyOS in that test, so on CachyOS and Bazzite the cheaper Radeon matched or beat it (on PikaOS the 5080 kept a small lead). Where the 5080 still pulls clearly ahead is ray tracing and DLSS.
NVIDIA’s 615.78.08 feature driver updated the VK_NV_low_latency2 extension that VKD3D-Proton uses, which helps latency and stutter, mostly with Frame Generation, but it does not close the frame-rate gap. MSI’s Inspire 3X is a 288mm card with a single 16-pin plug and an 850W PSU recommendation.
Skip it if you’d be buying it for raster performance alone, because you’d pay more than two and a half times the RX 9070 XT’s price for a lead Proton erased on two of the three distros in that test. RTX 5080 stock keeps coming and going, and the current offer on this listing ships from Amazon Germany, so check the delivery time and warranty terms before you order. It ran about $2,400 to $2,500, check the live price on Amazon.
Start with the Arc B570 under $300
The B570 is the cheapest current-generation card in this guide, and the Battlemage model that’s actually in stock:
It uses the same Battlemage G21 chip as the B580 with fewer cores and 10GB on a 160-bit bus, and the xe alias check above shows the stock 7.0 kernel claims it by ID. Linux 6.12 was the first kernel with Xe2 enabled by default, with Mesa 24.3 or newer. Intel’s driver has kept improving: Phoronix measured the B580 12% faster in CS2 at 1440p after about five months of updates. Ray tracing is where it struggles, and the B580 still couldn’t hold 30 FPS at 1440p in Phoronix’s late-2025 RT test.
ASRock’s card links at PCIe 4.0 x8, so on an older PCIe 3.0 board it gets half the bus bandwidth of a x16 card in the same slot. Intel also says Resizable BAR must be enabled for full performance on Arc B-Series, with CSM off and UEFI boot on, so check those firmware settings first. Skip it if your motherboard is PCIe 3.0 only or if you want 1440p at high settings. It ran about $280 to $300, see it on Amazon.
Take the RX 9070 for a cooler build
Pick the non-XT RX 9070 for a small or quiet case. It uses the same 16GB, 256-bit layout as the XT at a much lower power limit:
Phoronix logged it at 205W on average and 251W at peak on Linux, against 264W and 311W for the XT. That’s about 60W less heat to move on every gaming session, and it runs the identical RADV stack. Phoronix’s RTX 5070 review had NVIDIA’s card slightly ahead of this one on the Linux geomean at a lower 185W average, so it is not the efficiency champion outright, but it keeps you on the in-tree driver.
Pass on it if your case handles the XT, because the price gap is only about $200 to $250 for a noticeably faster card. ASRock sells this one directly at about $690 to $710, check today’s price on Amazon.
Install the right NVIDIA driver package
A Radeon or Arc card needs no driver step at all. A GeForce RTX 50 does, and picking the wrong package name is the most common way to end up on a black screen. List the open-module packages your release offers:
apt-cache search --names-only '^nvidia-driver-[0-9]+-open$'
You’ll see ten open branches on 26.04. Ignore the ones marked transitional, since those just redirect to another branch:
nvidia-driver-535-open - NVIDIA Server Driver metapackage (transitional package)
nvidia-driver-550-open - NVIDIA Server Driver metapackage (transitional package)
nvidia-driver-560-open - NVIDIA Server Driver metapackage (transitional package)
nvidia-driver-570-open - NVIDIA driver (open kernel) metapackage (transitional package)
nvidia-driver-575-open - NVIDIA driver (open kernel) metapackage
nvidia-driver-580-open - NVIDIA driver (open kernel) metapackage
nvidia-driver-590-open - NVIDIA driver (open kernel) metapackage (transitional package)
nvidia-driver-595-open - NVIDIA driver (open kernel) metapackage
nvidia-driver-610-open - NVIDIA driver (open kernel) metapackage (transitional package)
nvidia-driver-615-open - NVIDIA driver (open kernel) metapackage
Two branches matter for gaming. 595 is NVIDIA’s production branch, and 615 is the new feature branch that carries the Proton latency work. Check which build each one would install:
apt-cache policy nvidia-driver-595-open nvidia-driver-615-open
The archive lags NVIDIA’s own downloads. 615.71.09 is what Ubuntu ships, while the 615.78.08 build with the VKD3D-Proton change is only on nvidia.com so far (output trimmed to the candidate lines):
nvidia-driver-595-open:
Candidate: 595.99.02-0ubuntu0.26.04.1
nvidia-driver-615-open:
Candidate: 615.71.09-0ubuntu0.26.04.2
Follow this order to avoid most first-boot trouble with an RTX 50 card:
- Boot on the old card or the iGPU and update the system first.
- Install the driver with
ubuntu-drivers, which picks Canonical’s signed, prebuilt kernel modules. - Reboot, then confirm the open module with
cat /proc/driver/nvidia/version.
Ubuntu’s own NVIDIA driver guide recommends one command for that second step, and it detects the card and chooses the branch for you. It ships on Ubuntu Desktop; on a server or minimal image, install ubuntu-drivers-common first:
sudo ubuntu-drivers install
Those signed modules matter if Secure Boot is on. The 26.04 archive carries them as a separate restricted package for each branch:
apt-cache policy linux-modules-nvidia-595-open-generic
The candidate tracks the newest kernel in the archive, not the driver version, which is why you update and reboot before installing. The same package also stands in for nvidia-dkms-595-open, so this route never builds a module locally:
linux-modules-nvidia-595-open-generic:
Installed: (none)
Candidate: 7.0.0-38.38+2
Version table:
7.0.0-38.38+2 500
500 http://archive.ubuntu.com/ubuntu resolute-updates/restricted amd64 Packages
500 http://security.ubuntu.com/ubuntu resolute-security/restricted amd64 Packages
7.0.0-14.14 500
500 http://archive.ubuntu.com/ubuntu resolute/restricted amd64 Packages
Installing nvidia-driver-595-open or nvidia-driver-615-open straight from apt works too, but it depends on the nvidia-dkms package, which builds the module on your machine, and that module isn’t signed with Canonical’s key. With Secure Boot on, you’ll get a MOK enrollment prompt during the install and must enroll the key at the next boot, or the module will not load and you’ll land on llvmpipe. Pick the apt route only when you want a specific branch, such as 615 for the newest Proton work.
You’ll find the full walkthrough in the guide to installing NVIDIA drivers and CUDA on Ubuntu. Fedora users install the driver from RPM Fusion instead, covered in NVIDIA drivers on Fedora.
Check these before you buy any GPU for Linux
Most bad Linux GPU purchases fail on a floor, not on frame rate. A card that’s newer than your kernel, Mesa or firmware won’t light up a desktop at all, so match each vendor’s minimums to your distro first:
| Card family | Kernel driver | Minimum kernel | Userspace | Extra install |
|---|---|---|---|---|
| Radeon RX 9000 (RDNA 4) | amdgpu (in-tree) | 6.12, 6.13+ better | Mesa 25.0+ (RADV) | None, firmware from linux-firmware |
| Arc B570 / B580 (Battlemage) | xe (in-tree) | 6.12 | Mesa 24.3+ (ANV) | None, firmware from linux-firmware |
| GeForce RTX 50 (Blackwell) | nvidia open modules | Set by the driver branch | NVIDIA’s own Vulkan driver | Driver package (signed via ubuntu-drivers, or DKMS) |
Ubuntu 26.04, current Fedora and rolling distros like CachyOS all clear the AMD and Intel floors without help. Ubuntu 24.04 is the one to watch. Its updates already carry Mesa 25.2 (the rented container reported 25.2.8-0ubuntu0.24.04.4), but its original 6.8 kernel predates RDNA 4 and Battlemage, so switch to the HWE kernel or move to 26.04:
sudo apt install --install-recommends linux-generic-hwe-24.04
Past the driver floor, a few hardware checks catch the rest:
- VRAM: above about $500, every pick here has 16GB. The 10GB B570 is the only card below that line, and it’s aimed at 1080p.
- Power plug: both RTX picks use the 16-pin connector; all three Radeons and the B570 use regular 8-pin plugs.
- Slot width: the B570 is x8, so it loses bandwidth on PCIe 3.0 boards; the PCIe lane guide explains how slots share lanes with NVMe drives.
- Length: every pick except the 249mm Arc B570 runs 288 to 303mm, so measure the case first.
Prices are moving faster than specs this year, so it’s worth a look at the GPU price tracker before you buy. If you are still choosing a distro, gaming on Fedora walks through Steam, Proton and the Mesa updates that keep a Radeon current.
Verify the driver after the card goes in
A few quick checks tell you whether games will run on the GPU or quietly fall back to the CPU. Run them before you open Steam. vulkaninfo comes from the vulkan-tools package, which a stock install doesn’t include:
sudo apt install vulkan-tools
Then work through the table:
| Check | Command | Healthy result |
|---|---|---|
| Card bound to a driver | lspci -k | The GPU’s entry shows Kernel driver in use: amdgpu, xe or nvidia |
| Vulkan device (all cards) | vulkaninfo --summary | driverName reads radv, Intel open-source Mesa driver, or NVIDIA |
| NVIDIA module flavor | cat /proc/driver/nvidia/version | Contains “Open Kernel Module” |
| Arc kernel support (before install) | modinfo -F alias xe | Lists E20B or E20C |
| RDNA 4 firmware names (before install) | modinfo -F firmware amdgpu | Lists gc_12_0_0 and gc_12_0_1 files |
The Vulkan check is the one that catches silent failures. When the GPU’s driver doesn’t load, vulkaninfo still succeeds, and the only clue is the device it lists. This is what the rented 5070 Ti showed after its ICD was rejected:
vulkaninfo --summary
A device type of PHYSICAL_DEVICE_TYPE_CPU and a driver called llvmpipe mean every game would render in software:
deviceType = PHYSICAL_DEVICE_TYPE_CPU
deviceName = llvmpipe (LLVM 20.1.2, 256 bits)
driverID = DRIVER_ID_MESA_LLVMPIPE
driverName = llvmpipe
If you see llvmpipe on a desktop, the fix is almost always a missing firmware package on AMD and Intel, or an NVIDIA module that didn’t build for your running kernel. For deeper NVIDIA checks once the card is up, the nvidia-smi command guide covers clocks, power limits and temperatures. That’s it: a working card, the right driver and nothing left to guess before your first Proton launch.




