13.04.2024

Инженер из AMD признал, что графический стек Linux нуждается в совершенствовании

При обсуждении ошибки, связанной с относительно высоким по сравнению с 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-потоками напрямую.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60656 Источник.