LINUX.ORG.RU

amdgpu и ускорение видео в браузере

 , , ,


0

1

Есть ноут Acer a315-41G на ryzen 5 2500 c Vega8. Стоит Ubuntu 18.04 подключен ppa padoka, vainfo выдает вот это:

libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Mesa Gallium driver 19.3.0-devel - padoka PPA for AMD RAVEN (DRM 3.27.0, 5.0.0-32-generic, LLVM 10.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

В Chrome все включено, chrome://gpu выдает

Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Out-of-process Rasterization: Hardware accelerated
Hardware Protected Video Decode: Hardware accelerated
Rasterization: Hardware accelerated
Skia Renderer: Enabled
Video Decode: Hardware accelerated
Viz Display Compositor: Enabled
Viz Hit-test Surface Layer: Enabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated

Но что я ни делал ни ютуб ни твитч не используют аппаратное декодирование видео, chrome://media-internals для них выдает video_decoder FFmpegVideoDecoder Я уже перечитал все статьи, пробовал патченный chromium, ничего не помогает. Кто-то смог это побороть?


Ответ на: комментарий от AleksK

Ни Chrome, ни Chromium из snap такой возможности не имеют.

Так что тут возиться только с какими-то патченными Chromium-ами

ЗЫ: поговаривают, что в Brave доступно, но это не точно.

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: удаленный комментарий

[user]ZenitharChampion[/user] я буду проще. Вот смотри на дворе ну почти 2020. webkit по факту доминирующий движок в браузерах. А ты не смотрел на разницу как именно работает штатная safari в том же уже устаревшем 10.13.6 и как работает chrome/chromium в любом gnu/linux. Это вообще небо и земля по одной простой причине в gnu/linux даже не начинали прикручивать кодеки, хардварное ускорение видео и прочие мультимедийные плюшки. И причины вовсе не в заговорах рептилоидов с планеты Нубиру против линуксоидов а примерно в том же в чем и „массовость“ релизов игровых новинок ААА класса на gnu/linux.

init_6 ★★★★★ ()
Ответ на: комментарий от init_6

ChromeOS это тот же линукс. Код для поддержки VA-API уже есть в исходном коде Chrome. А патч от энтузиастов фактически только правит configure. Всё работает, причём прекрасно работает. Устанавливаешь ungoogled-chromium, и всё ускоряется.

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 2)

Продолжая тему конспирологии. Если гуглу очень хочется, чтобы поддержка VA-API была в основных сборках Google Chrome, но при этом не работала, то это проще простого. libva же постоянно выпускает мажорные версии с поломкой совместимости. Ну слинкуйтесь с какой-нибудь старой версией, например из 17.04, и тогда в 16.04 и 18.04 работать не будет (а 17.04 пользуются единицы). И выйдите такие и скажите «ну вот, мы же говорили, что в линуксе зоопарк API».

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от ZenitharChampion

@ZenitharChampion я не спорю с этим. Вопрос вообще в другом - в mac os, windows с теми же видеодрайверами всегда 50/50 т.е. заранее хоть как то прогнозируемо… да и скорее всего уж что что а хардварное декодирование видео оно потянет. А в gnu/linux чёрт сломит не только ногу он вообще умом тронется - по факту зоопарк конфликтующих друг с другом технологий за что не возьмись. Это и в модулях/дровах и в тулкитах и даже в самой «графике» xorg/wayland… Поэтому и поступили как можно проще - просто не стали даже начинать работу по хардварному ускорению.

init_6 ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

ChromeOS это тот же линукс.

Это неправда. Там другой графический стек — ни иксы, и ни Wayland.

Связка оборудования и линуксового ядра тоже весьма ограничена. Ядро не обновляется (так же как в Android), из GPU используется только Intel.

Поэтому да, там сильно проще.

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: удаленный комментарий

Извините за конспирологию, но мне кажется, что Microsoft договорился с другими фирмами, чтобы видео в линуксе не ускорялось аппаратно в браузере.

И по поводу твоего бреда. Вот GPU декодирование VP9 видео в VDPAU от Nvidia появилось только вот в середине 2019 года.

Это просто в VDPAU без поддержке другими звеньями цепи.

Потому что ни кто-то платит, чтобы этого не было, а никто не платит за то, чтобы это было.

fornlr ★★★★★ ()

Так. А ffmpeg умеет проприетарные кодеки? Может, у тебя установлен ffmpeg, в котором только свободные кодеки? В openSUSE по умолчанию такой, и надо устанавливать из Packman.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от AleksK

Попробуй:

export LIBVA_DRIVER_NAME=amdgpu

Затем запустить браузер из того же терминала. Перед этим посмотри, существует ли в директории /usr/lib/x86_64-linux-gnu/dri/ соответствующий файл.

Upd: вторая переменная была неправильная, я убрал её

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 4)
Ответ на: комментарий от ZenitharChampion

Затем запустить браузер из того же терминала. Перед этим посмотри, существует ли в директории /usr/lib/x86_64-linux-gnu/dri/ соответствующий файл.

Вот что там есть:

i915_dri.so        kms_swrast_dri.so     nouveau_vieux_dri.so  r600_dri.so        radeonsi_dri.so        virtio_gpu_dri.so
i965_dri.so        nouveau_dri.so        r200_dri.so           r600_drv_video.so  radeonsi_drv_video.so  vmwgfx_dri.so
i965_drv_video.so  nouveau_drv_video.so  r300_dri.so           radeon_dri.so      swrast_dri.so
AleksK ()
Ответ на: комментарий от ZenitharChampion

Тоже мне оправдание, как будто при программном декодирование libva не используется и ничего не отвалится? Как раз этот libva при программном декодирование в первую очередь используется.

gtk3 ()
Ответ на: комментарий от gtk3

> при программном декодирование libva не используется

При программной декодировании используется libx264. Я наблюдал за появлением VDPAU и VA-API в 2008-09 годах, и могу тебе сказать, что используются они очень редко. Например в mplayer, mpv, VLC, и в старом Флеше. А в браузерах нет даже зависимости для сборки такой - libvdpau и libva. Вернее, она есть только в Chromium, но только для цели сборки ChromeOS.

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 1)

я не видел, чтоб у кого-нить работало на ati. Так что выбор - youtube-dl бонусом идет отсутствие рекламы, которой уже больше чем в телевизоре.

vtVitus ★★★★★ ()
Ответ на: комментарий от vtVitus

Так я ни на intel ни на nvidia завести аппаратное декодирование в браузере не смог, ни в одном. Вот почему в некоммерческом mpv который за донаты делает несколько человек оно работает вообще без проблем, включается одним ключом, а в коммерческих продуктах которые поддерживают гигантские корпорации нихрена не работает?

AleksK ()
Ответ на: комментарий от AleksK

Потому что видеоплеер штука гораздо проще, чем браузер.

Да и без проблем ты тоже загнул - с апдейтами тоже то одно, то другое.

Радует разве что видеоплеер можно спокойно не обновлять. А остановится на рабочий версии.

anonymous ()
Ответ на: комментарий от anonymous

Радует разве что видеоплеер можно спокойно не обновлять. А остановится на рабочий версии

Попробуй в Раче-Манджаре такое провернуть. Расскажешь потом сколько продержался.

anonymous ()
Ответ на: комментарий от anonymous

Попробуй в Раче-Манджаре такое провернуть

Ну это проблемы арчешкольников. А в ubuntu LTS сидишь на чём-то стабильном (в смысле не без багов, а предсказуемо) два года, и потом полный трах-бабах. Но в промежутке без проблем.

Видеоформаты не особо меняются, уязвимости тоже мало актуальны.

anonymous ()
Ответ на: комментарий от anonymous

Видеоформаты не особо меняются

Вообще-то меняются. Появилось куча всего. Но 16.04 пока играет H.265/VP9/Opus из коробки. 14.04 уже нет (возможно из ppa?). Сейчас AV1 на подходе.

два года

Можно и дольше. Лет до 6.

трах-бабах

Да ну какой там трах? Я убунту переустанавливал много раз в течении жизненного цикла по разным причинам. Ничего сложного. Наоборот, еще и от мусора избавляешься. Мог бы уже сто раз поставить 18, но остаюсь пока на привычной 16.

anonymous ()
Ответ на: комментарий от anonymous

Зайди снова я добавил deb наверное это они sudo dpkg -i *.deb у меня на 19.04 все подошли эти дебки от 16.04. А , делал я эту месу чрутясь из 19.10 в свою 16.04 которую за место докера использую так же я сделал это ядро которое подходит везде пример ядра тут https://github.com/Griggorii/linux-image-zfs-4.4.201_4.4.201-3_amd64 ядро тоже с 19.04 и 19.10 и более поздними версии убунт должно работать на ура.

anonymous ()
Ответ на: комментарий от anonymous

И да на счёт ядра 4.4.201 в современном gnome-control-center-е пропадает переворот в альбомную , портретную и другие кто бы подсказал что по этому делу , а я бы его пересобрал что бы эта штука не отваливалась.

anonymous ()