The work by Valve's Timur Kristóf on improving old AMD GPUs on Linux
phoronix.com
phoronix.com
No doubt Timur contributed heavily to this given Valves Steamdeck (which uses a very similar but slower GPU).
Given the current hardware prices it's pretty awesome to see someone squeezing maximum performance out of old hardware!
Originally ran a 3070 which matches your "older mid tier" description and then upgraded to a 9070XT maybe 6 months after launch so not so old or mid-tier.
I can attest to this myself, my 9070 was a bit rough on launch but worked perfectly soon after.
Not in my experience. The 16GB 9070 non-XT seems to have been released in March 2025. I purchased one in November 2025 [0]. I observed -and continue to observe- no significant difference in graphics performance between Linux and Windows. I've also not noticed any significant difference in performance with regards to raytracing, but that might be because I have the non-XT variant, and/or it might be because I run Gentoo Linux, which probably has much newer versions of both Mesa and the kernel than most Linux distributions. I CBA to test either of these theories.
[0] Mad props to Gamers Nexus for publishing the video where they speculated that the time around Thanksgiving was going to be the "low" point for graphics card prices... so if you were thinking of buying an upgrade that was THE time to do so. They were totally correct.
https://www.techspot.com/news/110999-new-benchmarks-show-lin...
With significant improvements still incoming.
https://www.gamingonlinux.com/2026/01/even-more-amd-ray-trac...
AMD typically starts adding basic kernel support before the hardware comes out, but full feature support is usually shipped shortly after hardware release. I suppose it's to avoid leaking specs before release?
But anyway if you want good support for new hardware, much better to run some sort of rolling release, like most Arch based distros.
Personally I run an Ubuntu LTS but with the latest mesa drivers via ppa, and am always at least a generation behind on the card. Much cheaper that way. Or at least it used to be...
Could probably go with an Arch based distro, but the Ubuntu/Debian base is useful for the good compatibility.
Just to put things into perspective, the 9070XT is the third or fourth fastest gaming graphics card money can buy depending on the game.
The 5070Ti is $300 more than the 9070XT with similar performance, the 5080 could give you a good boost but costs even more, then you’ve got the 5090 which is a completely insane and unrealistically expensive purchase.
The 5070ti used to be more closely priced against the 9070XT but the RAM crisis is driving Nvidia card costs up faster than AMD due to the difference in RAM type.
When you think about it in that context I have to ask if it even matters that the raytracing on this card in Linux is competitive when the Nvidia side gives you a lower tier card for the same dollar anyway.
Nvidia typically has more of a performance penalty in Linux than AMD as well, so that narrows the gap further.
This idea that it must have wonderfully perfect raytracing performance has to be put in this perspective. The reality is that even if raytracing is half as fast in Linux as it is in Windows you’re still raytracing much faster than the median gamer on the market. A game that runs poorly on a 9070XT doesn’t exist.
There are also still in 2026 very few games that extensively leverage raytracing and path tracing since the PlayStation and Xbox game consoles are limited in that regard. It makes very little sense for most game developers to make their games only come out looking nice with path tracing cranked up.
I actually switched off Windows in a last-ditch attempt to get Indiana Jones and the Great Circle to stop crashing. To my surprise, it worked.
Never going back to Windows.
Who would've thought that in 2026 gaming under Linux is actually the better option. Pretty awesome to see it work so well!
About the only issue you could possibly have is anti-cheat and even that has a fair amount of Linux support.
Unless you insist on running a server distro that's consistently obsolete by design (and if the notion of GPU comes into picture, that definitely shouldn't be the case), it shouldn't matter in practice. Every reputable desktop distro has a kernel/mesa stack that's up to date.
~3 year old hardware seems to be optimal for linux in my experience. Ideally a thinkpad or something lots of linux devs have.
Buy newer and you'll be constantly finding bugs and having to apply workarounds, custom kernel builds, custom config lines, etc. just to make basic features work like the ability to adjust screen brightness.
Don't buy anything ARM or requiring a custom bootloader - thats a constant battle with custom builds needed of nearly everything.
I run games both new and old and one of my favorite guilty pleasures is looking at the Steam forum for a four, eight, or ten year old game that I've started playing because it has recently become popular again and reading the complaints from Windows users about how a driver update screwed up the game... whether because of glitchy or incorrect graphics or unavoidable crashes. Meanwhile, I'm cruising along on Proton with zero issues. :smug-face:
[0] ...that small handful includes those that go out of their way to be incompatible with Proton...
Perhaps we will even be able to reverse firmware blobs into open source alternatives?
The most difficult part is likely that a lot of hardware is easily brickable if you do the wrong thing, so I'm not going to let it loose on e.g. my solar inverter.. even though their software is shit and I'd love to replace it. (Don't buy QCells.)
Try to remember back to 2015 the graphics were not that bad. 4k performance was poor but for 1080p 60fps on pretty much anything.
I usually play like this, it gives a very sharp image at 120-180W with a barely audible fan.
If you haven't tried machine learning based upscalers do give it a try! The newest generation (DLSS 4.5/FSR 4.1) are in general preferred by users over a native image since they provide a far superior way of native AA.
AI based frame-gen is also very good. 4k/120 Hz (1080p/60 FPS rendered) is very doable on mid-range cards these days.
Use as a dedicated GPU for encoding and decoding video. Post processing like frame interpolation or superresolution. Use for GPGPU workloads. Run additional monitors independently. Use for GPU passthrough to virtual machines. Use as a backup GPU for troubleshooting. Use for test code without breaking the main GPU
https://windowsforum.com/news/nvidia-ends-feature-support-fo...
Compare it to some other products from that time:
- AMD FX Piledriver CPUs
- Skylake i7-6700K
- iPhone 6s
- Ubuntu 16.04 LTS
- Oculus Rift CV1
- Android 6 Marshmallow
Also, compared to replacing a CPU, which likely entails replacing motherboard and RAM, upgrading to something like a used or NOS 3070 is easy and inexpensive.
Bulldozer (and thus Piledriver) was stillborn unless you were a diehard AMD fan or an overclocker, so I don't think it's helpful to lump in here.
I'd still use an iPhone SE (released the same year as the 6s) if the battery could be easily replaced and iOS still supported it. I don't do anything on my phone that needs significant performance anyway.
I still keep my 2012 Macbook Pro around as a backup machine if something happens to my main machines, and every time I drag it out to check up on it, it still works great. It stopped getting any significant MacOS updates in 2022, but Linux still gets updates.
The community can't fix it because their drivers are proprietary blobs. Open source drivers are essentially useless. I'll have to stick to something like Ubuntu to keep the hardware working without fighting DKMS every update.
This is the reason my next GPU will be either AMD or Intel.
That "partly" was worth hundreds of billions of dollars but AMD were cheap/shortsighted enough to hire a few dedicated engineers.
For various reasons, people flocked to CUDA and other proprietary crap. Then, when that proprietary crap became a money maker, people blamed AMD for not supporting their favourite proprietary crap.
AMD did the right thing and was punished for it. They're still doing the right thing and people still complain that their free full re-implementation of Nvidia's runtime, designed for completely different hardware, isn't good enough.
AMD is not a saint of a company but it's consistently better than Nvidia, every time. Doing the right thing just isn't rewarded and it shows.
On Linux at least you can use Mesa to fix it up. On Windows you're.... out of luck I guess unless someone writes a binarypatch or something?
I wouldn't call it great support, NV "just works"
Citation very much needed.
IME a lot of bugs people attribute to AMD's OpenGL drivers were actually game bugs from developers who only tested on nvidia.
Zero debuginfo-related warnings on any driver (except the usual "buffer location is VIDMEM" spam), NV is fine, intel is fine, my (RDNA) AMD card is fine on both Windows and Linux, user with a Vega 64 isn't fine.
We dug into it together and it literally swaps the colours somewhere, and the user said that it crashes randomly on games (confirmed by others, not one-off HW failure), does the same colourswap or have very glitched rendering.
I guess the only salvation is that people usually play DX games under Windows and the bug didn't happen over DX11. But the same rendering restricted to even standard GL3.3 just got BGRA-swapped.
On Windows you may be right, I haven't had to deal with Windows drivers for a few years now.
Nvidia doesn't, and their Vulkan stack underperforms on Linux quite significantly.
It's just that Nvidia doesn't care much about Linux, and -as always- Nvidia ignores what everyone else is doing and does their own thing. Sometimes doing their own thing works out really well in the short run, but -long term- they always fall behind.
Nvidia cares a lot about Linux. Just... on their terms.
If your GPU is older than 5 years, then you're in danger zone and you should have completely replaced your hardware 3 years ago and bought new Nvidia equipment now 10x more expensive!
The biggest issue was Nvidia's insistence on buffer management with EGLStreams instead of GBM, which broke a lot of desktops. But they forfeit that fight ~4 years ago.
To summarize the difference between the two, with EGLStreams, you just request a buffer to draw into from a pool, then once you're done, you just submit it, thereby relinquishing control of it.
With GBM, you explicitly need to manage the lifetime and access of your buffers, making sure you don't leak or accidentally write it when the GPU/driver tries to, there's no clear ownership, and you have to handle surfaces for double/triple buffering.
It's a much lower level API, and much harder for drivers and app developers to get right, which was no doubt responsible for many years of buggy Wayland compositors - in fact, basically there wasn't a single correct implementation until Valve built Gamescope/their wlroots-based KWin fork and did a bunch of driver work.
Like most FOSS done by companies, what they don't care is GPL, which sadly will eventually be meaningless after boomer and Gen X devs that created the GNU movement no longer walk this plane.
There isn't a single embedded OS FOSS alternative to GNU/Linux that uses GPL, including Linux Foundation's own Zephyr.
It would be awesome if someone manages to figure out how to get small enough models to fit on older cards to be viable, but I'm not optimistic that it will come without some sort of fundamental architectural innovation rather than incremental improvements, and it's not clear if and when that will happen.
How long is this runway?
Also you can use multiple GPUs at once, two of your GPUs could run qwen 27b very comfortably, and with great performance.
With AMD the best you can do in the consumer market right now is an RX 7900 XTX which is about 960 GB/s.
The other day I managed to get a context of 195k for Qwen3.5-9b Q4_K_M using a llama.cpp fork that supports TurboQuant:
https://github.com/TheTom/llama-cpp-turboquant
I think you could replicate this with a larger model on your device.
Overall with the right quantisations for both the model and KV cache you can get a lot of mileage out of this old hardware. Speed remains the main limitation, as IIRC I was getting ~26-30tps on a 7700S.
I'm not saying there's no benefit to using local models. My point is still the same as before: you have to be willing to sacrifice both performance and quality even when just comparing to free models that are available today.
I spent some years in the pharma industry, where AI came really late, as there was (justified) concern that sensitive data might leak - even by accident. Eventually a solution was implemented - it was some kind of open model (they didn't say which) running on-premises.
You couldn't tell these people that this and that powerful model is free or inexpensive, because it's useless to them if it's running on someone else's computer i.e. the cloud.
Either way, my initial reply was responding to the idea of these 15 year old GPUs as potential "capable processing units" for LLMS. My argument is that they are not particularly capable at the current moment in time.
In general, Valve's work has been exceptional and supplementing AMD's own ROCM/OpenCL and Vulkan team, they've gotten a lot of defaults right and people should work together with Valve to improve support for their chips.
Is Valve funding this work in particular? How can people donate?
+1 to buying Valve's products.
https://help.steampowered.com/en/faqs/view/78E3-7431-1E88-AD...
This is very risky: one guy QA over a massive amount of software with hardly a few remaining users able to report issues of with those GPUs...
Better have a slow working well tested driver, rather than a broken driver which is supposed to be faster...
The "tests" are nowhere near the QA which has been done by the real stuff out there. Come on, this is border line hypocrit.
I am sorry, but I have to severely disagree: this has more a taste of planned obsolesence than actually improving old GPU performance.
At least if we could get some amount of c++ to plain and simple C (namely a language with a simple syntax) port, would be great though.