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

  • Oberstserj
    link
    fedilink
    arrow-up
    0
    ·
    2 years ago

    Я идеологически отвергаю такое. Хотел бы слаку, поставил бы слаку.

    Мозжечок твой распухнет еще на стадии установки слаки, не льсти себе.