AMD engineer admits Linux graphics stack needs improvement

When discussing a bug related to the relatively high power consumption compared to Windows on AMD APUs with hardware video decoding support, AMD engineer Alex Deucher, the main developer of the amdgpu driver, admitted that video display on Linux is fundamentally inefficient.

When outputting video on Linux, the following chain is currently used:

  • Compressed video stream
  • VCN (hardware video decoding module for AMD GPUs)
  • Raw YUV data
  • Palette conversion, scaling on the GFX module (essentially a 3D accelerator in the GPU, which forces it to increase the core and VRAM frequencies)
  • RGB data
  • Display output.

How it should work:

  • Compressed video stream
  • YOU DO NOT
  • Raw YUV data
  • A display controller that will transform the palette, scale and display.

This could be solved more efficiently in Wayland composers, but there is no implementation yet. This problem is solved in Microsoft Windows and Google Android, because they have full-fledged single composers that provide the corresponding capabilities and APIs - something that is not yet available in Linux, because neither X.org nor Wayland can work with YUV streams directly.

Source: opennet.ru

Add a comment