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.

Reply via email to