A newly accepted kernel patch slated for the upcoming Linux 7.5 release finally resolves a long-standing hardware video decoding bug on AMD's ancient R600 architecture, nearly two decades after the cards first hit store shelves. As spotted by Phoronix, the fix targets the Unified Video Decoder (UVD) engine across the RV610, RV620, RV630, RV635, and RV670 silicon families, making up the Radeon HD 2000 and HD 3000 families released starting in 2007. Linux users running these cards experienced visual corruption during hardware-accelerated video playback whenever the GPU was simultaneously handling active 3D or desktop drawing workloads; those issues should now be resolved.
I investigated video corruption on my older iMac7,1 (RV610/M74,device ID 1002:94c8). When the decoder was reading compressed video from system memory while the GPU was drawing, it would corrupt video frames. Moving the input to VRAM allowed frames to decode correctly. Disabling graphics draws also stopped the corruption.Here is a proposal to keep UVD buffers in VRAM for this family of devices, as the driver already does for some other chips. The patch covers RV610, RV620, RV630, RV635 and RV670. These chips share the RV6xx decoder path and legacy R600 firmware, so I think they are likely to have the same hardware requirements. Someone with the other hardware would need to verify that.I tested this on Debian. I used Codex to help with the investigation, testing and patch.
Ted Bullock, first-time kernel contributor
Interestingly, the breakthrough didn't come from a grizzled veteran of the open-source graphics stack, but from a newcomer utilizing OpenAI's Codex to help untangle the legacy driver path. The culprit turned out to be a memory placement oversight: the driver wasn't consistently keeping UVD input buffers pinned inside dedicated VRAM. When graphics draw calls competed for resources, frames failed to decode properly. By forcing those buffers to stay in VRAM — a behavior the Radeon kernel driver apparently already enforced for several other chip families — video playback cleans right up.
It is easy to forget just how pivotal the R600 generation was for PC graphics. Launching in 2007 as the first desktop GPU lineup built under the AMD banner following that firm's blockbuster acquisition of the Canadian ATI Technologies Inc., the Radeon HD 2000 series marked the new AMD graphics division's transition away from separate pixel and vertex pipelines on the desktop, after implementing the tech first for the Xbox 360. The move to a unified shader architecture arrived alongside DirectX 10 and Windows Vista, so it was a time of many transitions.
While the flagship Radeon HD 2900 XT famously struggled against Nvidia's dominant GeForce 8800 GTX in raw gaming rasterization and power draw, the R600 family brought serious multimedia chops to the table. The introduction of the first-generation Unified Video Decoder (UVD) on the mainstream RV610 and RV630 chips, and later the refined RV670 powering the beloved Radeon HD 3850 and 3870, allowed even budget PCs to offload heavy H.264 and VC-1 Blu-ray decoding from the CPU. In 2007, smooth 1080p playback without maxing out a dual-core processor was a major selling point for many users, but none more so than home theater PC (HTPC) builders.
Of course, almost nobody is daily driving a TeraScale 1 graphics card in 2026, especially when modern integrated graphics run circles around them at a fraction of the wattage; the contributor who submitted the patches wants them for his ancient Core 2 Duo-based iMac. Yet, there is something quietly heartwarming about the longevity of open-source Linux drivers. Whereas proprietary Windows support for the HD 2000 and 3000 series was sunsetted over a decade ago, the mainline Linux kernel continues to carry the torch. Combined with recent AI-assisted cleanup efforts across the Mesa R600 user-space driver, vintage Radeon hardware is arguably in better software shape today than it was during its actual retail lifespan.


