In a recent discussion on GitLab, errors related to the high power consumption of AMD APUs compared to Windows were addressed. AMD engineer Alex Deucher, who is the main developer of the AMDGPU driver, acknowledged that video display in Linux is currently inefficient.
When playing a video in Linux, the following chain is currently utilized:
- Compressed video stream
- VCN (hardware decoding module for AMD GPUs)
- Raw YUV data
- Palette conversion and scaling on the GFX module (effectively the 3D accelerator in the GPU)
- RGB data
- Final display rendering
The efficient process should involve:
- Compressed video stream
- VCN
- Raw YUV data
- Display controller that converts palette, scales, and displays
This efficiency could potentially be achieved in Wayland compositors, but as of now, there is no implementation. Unlike Linux, Microsoft Windows and Google Android have fully-fledged compositors that provide the necessary capabilities and APIs, which is currently lacking in Linux as X.org and Wayland are unable to work directly on this issue.
/Reports, release notes, official announcements.