При обсуждении ошибки, связанной с относительно высоким по сравнению с Windows потреблением электроэнергии на APU AMD с поддержкой аппаратного декодирования видео, инженер из AMD, Алекс Дойкер (Alex Deucher, основной разработчик драйвера amdgpu), признал, что отображение видео в Linux в принципе неэффективно.
При выводе видео в Linux сейчас используется следующая цепочка:
- Сжатый видеопоток
 - VCN (модуль аппаратного декодирования видео для GPU AMD)
 - Сырые YUV данные
 - Конвертация палитры, масштабирование на модуле GFX (по сути 3D акселератор в GPU, что заставляет его повышать частоты работы ядра и VRAM)
 - RGB данные
 - Вывод на дисплей.
 
Как должно работать:
- Сжатый видеопоток
 - VCN
 - Сырые YUV данные
 - Контроллер дисплея, который будет преобразовывать палитру, масштабировать и отображать.
 
Более эффективно это может быть решено в Wayland композиторах, но пока реализации нет. Данная проблема решена в Microsoft Windows и Google Android, ибо там есть полноценные одиночные композиторы, которые предоставляют соответствующие возможности и API - чего пока нет в Linux, потому что ни X.org, ни Wayland не могут работать с YUV-потоками напрямую.
Source: https://www.opennet.ru/opennews/art.shtml?num=60656
Bug report: https://gitlab.freedesktop.org/drm/amd/-/issues/3195#note_2295146

















