Проект по добавлению VA-API/X11 в Firefox. Заброшен.
Текущее состояние на 3 июля 2020: (комментарий).
Текст от 25 марта 2020:
Атипичная простуда в очередной раз всех напугала и напомнила, что люди не вечные, причём часто внезапно. Было бы жаль совсем потерять результаты работы, поэтому выкладываю текущий вариант патча к Firefox с поддержкой VA-API под иксами.
Это ещё не готовый к мержу патч, всё держится на честном слове. Из текущих проблем:
если не подкрутить настройки, ест больше ватт, чем полностью программное декодирование;с WebRender видео не видно; возможно роняет контент-процесс;с layers-opengl нет видео, если не включить gfx.use-glx-texture-from-pixmap;истерично переаллоцирует X11-пиксмапы, если под layers-opengl переключиться на другую вкладку.
Чтобы под layers-basic экономия от декодирования вообще имела смысл, нужно включить gfx.xrender.enabled. Без XRender чтение картинки обратно в память CPU ест больше энергии, чем просто декодирование сразу на CPU.
До рабочего варианта ещё далеко. Но если кто-то захочет собрать и потестить, ссылка внизу. Патчсет базируется на 74.0. Оригинальный репозиторий был в Mercurial, и файлы .gitignore там где-то игнорят нужное для сборки, поэтому не факт, что код как есть соберётся. Если так оно и есть, должно помочь использование релизных исходников от 74.0 с последующим накладыванием патча.
Для VP9 Firefox предпочитает ffvpx, особую сборку ffmpeg, которую таскает с собой. Чтобы VP9 декодировать через системный ffmpeg с поддержкой VA-API, нужно выключить media.ffvpx.enabled.