Nearly 20 years after launch, ancient AMD Radeon HD 2000 and 3000 GPUs finally get a Linux fix for corrupted video playback

3 hours ago 2

Follow us

Add us as a preferred source on Google

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

Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.

Zak is a freelance contributor to Tom's Hardware with decades of PC benchmarking experience who has also written for HotHardware and The Tech Report. A modern-day Renaissance man, he may not be an expert on anything, but he knows just a little about nearly everything.

Read Entire Article