
Nearly 20 years after launch, ancient AMD Radeon HD 2000 and 3000 GPUs finally get a Linux fix for corrupted video playback
A newly accepted kernel patch for Linux 7.5 finally resolves a long-standing video decoding bug on AMD's ancient R600 architecture, nearly two decades after these cards were first released.
The patch specifically targets the Unified Video Decoder (UVD) engine across the RV610, RV620, RV630, RV635, and RV670 silicon families, which make up the Radeon HD 2000 and HD 3000 series released starting in 2007. Linux users running these cards have experienced visual corruption during hardware-accelerated video playback whenever the GPU was simultaneously handling active 3D or desktop drawing workloads.
Ted Bullock, a first-time kernel contributor, investigated the issue on his older iMac7,1 (RV610/M74, device ID 1002:94c8). He discovered that 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, as did disabling graphics draws.
AI-assisted solution
Someone with the other hardware would need to verify that.
Bullock's proposal keeps UVD buffers in VRAM for this family of devices, a solution the driver already implements for some other chips. The patch covers all affected chips sharing the RV6xx decoder path and legacy R600 firmware. He used Codex to help with the investigation, testing, and patch development.