Bug 34452 - VA-API Chromium patch broken
: VA-API Chromium patch broken
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/chromium)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2018-01-13 02:11 by
Modified: 2018-02-08 00:23 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2018-01-13 02:11:07
Есть планшет Chuwi Hi12. ALT p8/Sisyphus + Ubuntu 17.10.
В Chromium в Ubuntu работает аппаратное ускорение декодирования видео в
youtube, если установить расширение h264ify, иначе процессор перегружен
программным декодированием. 

Суть патча в портировании аппаратного ускорения декодирования через VA-API на
GPU Intel из ChromeOS в Linux.
https://packages.altlinux.org/ru/Sisyphus/srpms/chromium/patches/0022-Enable-VAVDA-VAVEA-and-VAJDA-on-linux-with-VAAPI-only.patch

В Ubuntu установлен патченный Хромиум из репозитория
https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev , VA-API
работало и во времена 63-ей версии, и сейчас на 65-ой работает.

Исходник патча (это для версии 65, для 63 см. историю git):
https://github.com/saiarcot895/chromium-ubuntu-build/blob/master/debian/patches/enable_vaapi_on_linux_2.diff
С этим патчем у меня работает то, что надо.

С Альтовским патчем не работает аппаратное ускорение. Вывод vainfo полностью
совпадает на Ubuntu и ALT, в т.ч. версия. В альте в консоль пишет:
[16615:16615:0113/014611.147057:ERROR:vaapi_wrapper.cc(807)] Failed putting
surface to pixmap VA error: the requested function is not implemented

Есть небольшая вероятность, что у меня различаются настройки и флаги Хромиума в
двух ОС, но вроде бы одинаковые.

При неработе патча в chrome://media-internals для видео с Youtube указано
FFmpeg Decoder для H264 и VP9 Decoder без расширение h264ify. С работающим
аппаратным ускорением там GPU_*.

Вручную включить по умолчанию выключенный
chrome://flags#enable-accelerated-video

Собственно, в Альте даже не вижу такого флага, хотя в спеке патч включен.
------- Comment #1 From 2018-01-15 15:41:19 -------
(В ответ на комментарий №0)
> Исходник патча (это для версии 65, для 63 см. историю git):
> https://github.com/saiarcot895/chromium-ubuntu-build/blob/master/debian/patches/enable_vaapi_on_linux_2.diff
> С этим патчем у меня работает то, что надо.

Можно попробовать сделать сборку с этим патчем. Правда я проверить это всё
равно не могу т.к. chromium не умеет загружать правильный драйвер для wayland.
------- Comment #2 From 2018-01-15 15:45:02 -------
Если соберете, то я проверю работу.
------- Comment #3 From 2018-01-15 15:45:40 -------
А как понять "не умеет загружать правильный драйвер на wayland"?
------- Comment #4 From 2018-01-15 16:37:44 -------
(В ответ на комментарий №3)
> А как понять "не умеет загружать правильный драйвер на wayland"?

chromium загружает libva-x11.so, а под wayland'ом нужен libva-wayland.so или
libva-drm.so. Вся эта логика есть, но только для ozone.
------- Comment #5 From 2018-02-05 00:57:50 -------
Попробуйте 

#199586 TESTED #2 [test-only] sisyphus chromium.git=64.0.3282.119-alt1
------- Comment #6 From 2018-02-05 18:38:16 -------
Можно ссылку на сборку?
------- Comment #7 From 2018-02-05 21:40:54 -------
(В ответ на комментарий №6)
> Можно ссылку на сборку?

Не понял вопроса.
------- Comment #8 From 2018-02-05 21:51:37 -------
Здесь версия https://packages.altlinux.org/ru/Sisyphus/srpms/chromium
Где бинарный rpm пакет указанной новой сборки?
------- Comment #9 From 2018-02-05 22:02:20 -------
(В ответ на комментарий №8)
> Здесь версия https://packages.altlinux.org/ru/Sisyphus/srpms/chromium

Я понятия не имею, что это, но надеюсь, что это то что в сизифе сейчас.

> Где бинарный rpm пакет указанной новой сборки?

добавьте репозиторий в конфиг apt:

rpm http://git.altlinux.org/repo/199586/ x86_64 task

и поставьте оттуда chromium.
------- Comment #10 From 2018-02-06 13:29:00 -------
Уже в сизифе.
------- Comment #11 From 2018-02-06 15:31:08 -------
Насколько я понимаю, этот баг исчерпан и теперь в альте chromium не работает
также как и в убунту.
------- Comment #12 From 2018-02-06 15:54:05 -------
Вы с https://bugzilla.altlinux.org/show_bug.cgi?id=34513 не перепутали? Я
патченный Хромиум на Альте позже проверю.
------- Comment #13 From 2018-02-06 17:34:19 -------
(В ответ на комментарий №12)
> Вы с https://bugzilla.altlinux.org/show_bug.cgi?id=34513 не перепутали? Я
> патченный Хромиум на Альте позже проверю.

Мне кажется не перепутал. В #34513 если будет фикс от апстрима, то можно будет
его применить и закрыть.

Здесь же я не знаю чем могу помочь. На Xorg при старте ошибок нет. Возможно не
хватает чего-то в системе. Лично у меня в wayland никакие сторонние патчи для
VA-API продолжают не работать.

Я склюняюсь оставить все эти эксперименты с сторонними патчами на текущей
стадии до тех пор пока апстрим не примет их. Обеспечить нормальную поддержку
VA-API в условиях кустарных патчей, гуляющих в интернете, просто нереально.
------- Comment #14 From 2018-02-08 00:22:47 -------
Не работает. H264 по-прежнему декодируется программно. Вывод vainfo нормальный.
Иксы.
$ rpm -qa | grep libva
libva-1.8.3-alt2.S1.x86_64
libva-utils-1.8.3-alt1.x86_64
libva-driver-intel-1.8.3-alt2.S1.x86_64
Когда по ошибке удалил xorg-dri-intel и работал через llvmpipe, $ chromium
поругался на отсутствие драйвера VA-API. В нормальных условиях вывода в консоль
нет, как и в оригинале в PPA для Ubuntu, но там GpuVideoDecoder работает

libva-driver-intel либо вообще не было из коробки (а нужен для плееров, во
многих из которых VA-API качественно работает), либо потерялся при обновлении
до Сизифа. Стартеркит GNOME 12.2017

В Росе с этим патчем собрали, и у меня заработало

$ vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 1.8.3
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Simple            :    VAEntrypointEncSlice
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointEncSlice
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      :    VAEntrypointVLD
      VAProfileH264MultiviewHigh      :    VAEntrypointEncSlice
      VAProfileH264StereoHigh         :    VAEntrypointVLD
      VAProfileH264StereoHigh         :    VAEntrypointEncSlice
      VAProfileVC1Simple              :    VAEntrypointVLD
      VAProfileVC1Main                :    VAEntrypointVLD
      VAProfileVC1Advanced            :    VAEntrypointVLD
      VAProfileNone                   :    VAEntrypointVideoProc
      VAProfileJPEGBaseline           :    VAEntrypointVLD
      VAProfileJPEGBaseline           :    VAEntrypointEncPicture
      VAProfileVP8Version0_3          :    VAEntrypointVLD
      VAProfileVP8Version0_3          :    VAEntrypointEncSlice
      VAProfileHEVCMain               :    VAEntrypointVLD
------- Comment #15 From 2018-02-08 00:23:13 -------
http://bugs.rosalinux.ru/show_bug.cgi?id=8655