https://bugs.kde.org/show_bug.cgi?id=527159
Bug ID: 527159
Summary: [Regression 6.8.0] VA-API zero-copy NV12 dmabuf video
surfaces are rendered in monochrome red (missing UV
plane) on AMD GCN 2.0 (CIK / Kabini)
Classification: Plasma
Product: kwin
Version First 6.8.0
Reported In:
Platform: CachyOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: wayland-generic
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
After upgrading KDE Plasma from 6.7.5 to 6.8.0, all hardware-decoded (VA-API
zero-copy) video playback across Wayland clients (mpv with dmabuf-wayland,
Firefox with WebRender compositor) is rendered entirely in monochrome red.
It appears that kwin_wayland 6.8.0 fails to sample or bind the second chroma
plane (UV / RG88) of multi-planar NV12 DMABUF textures on older AMD GPUs (GCN
2.0 / Sea Islands / CIK without DCC or modifier support), rendering only the
first luma plane (Y / R8) mapped directly to the Red channel.
Downgrading kwin and Plasma packages back to 6.7.5 on the exact same system
(without touching mesa, libva, ffmpeg, or the kernel) immediately restores
normal colors.
STEPS TO REPRODUCE
Boot KDE Plasma 6.8.0 Wayland session on an AMD CIK / GCN 2.0 GPU (Radeon HD
8240 / E1-2500 APU) using the amdgpu kernel driver (amdgpu.cik_support=1).
Play any hardware-decoded video via VA-API zero-copy DMABUF in mpv
(vo=dmabuf-wayland or vo=gpu-next with hwdec=vaapi) or open a YouTube video in
Firefox on Wayland.
Observe the video surface color output.
OBSERVED RESULT
The video viewport is rendered purely in monochrome red (only the Y plane in
R8 format is visible; UV plane is missing).
Window decorations, browser UI, and the rest of the desktop are rendered with
normal RGB colors.
Taking a screenshot with Spectacle (kpipewire) also captures the red video
frame, confirming the corruption happens during KWin internal shader
composition rather than DRM scanout.
EXPECTED RESULT
Proper NV12 to RGB YUV color conversion during KWin composition, as it worked
in KWin 6.7.5.
DIAGNOSTIC NOTES / ISOLATION
Not a Mesa/VA-API regression: mesa and libva were not updated during the 6.7.5
to 6.8.0 transaction.
Pre-converted RGB surfaces work fine: Forcing the client to convert NV12 to
RGB before sending the buffer to KWin (for example, mpv --no-config --vo=gpu
--gpu-context=x11egl --hwdec=vaapi or --gpu-context=wayland --gpu-api=opengl)
restores normal colors in 6.8.0, proving that VA-API decoding and
EGL_EXT_image_dma_buf_import in Mesa are intact, and the bug is strictly in
KWin linux-dmabuf multi-planar NV12 handling/shader pipeline.
Switching Color accuracy between Prefer efficiency and Prefer color accuracy
in Display Configuration (with ICC Profile set to None) does not resolve the
issue.
SOFTWARE/OS VERSIONS
Linux/KDE Plasma: CachyOS (Arch Linux)
Kernel: 7.2.2-1-cachyos-bore (amdgpu.cik_support=1)
KDE Plasma Version: 6.8.0 (Working in 6.7.5)
Graphics Platform: Wayland
Hardware: AMD Kabini E1-2500 APU with Radeon HD 8240 (GCN 2.0 / CIK, UVD 4.2)
--
You are receiving this mail because:
You are watching all bug changes.