LINUX.ORG.RU

chromium + vaapi

 , ,


0

1

Есть процессор AMD APU A8 9800 (как-то так называется, уже точно не помню). Видео встроено в него. Система Kubuntu 18.04

Попытался установить chromium с патчем на ускорение видео, но что-то не работает (ускорение), что я делаю не так? Это вообще возможно с моим процем? У кого-то работает? Всё вроде делал по шагам, как написано по этой ссылке:

https://launchpad.net/~saiarcot895/ archive/ubuntu/chromium-dev


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

Я из консоли и запускаю... ошибок куча, но вроде ничего серьёзного.

Вот например лог открытия хромиума и открытия в нём ютуба с Full HD 60 fps:

(chromium-browser:6477): Gtk-WARNING **: 14:04:41.256: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(chromium-browser:6477): Gtk-WARNING **: 14:04:41.256: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(chromium-browser:6477): Gtk-WARNING **: 14:04:41.256: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
[6477:6477:1107/140441.558978:ERROR:external_web_apps.cc(207)] Scanning 
mesa: for the -simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the -global-isel-abort option: may only occur zero or one times!
[6507:6507:1107/140441.675534:ERROR:sandbox_linux.cc(364)] InitializeSandbox() called with multiple threads in process gpu-process.
[6477:6549:1107/140441.749743:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[6477:6549:1107/140441.749785:ERROR:kwallet_dbus.cc(100)] Error contacting kwalletd5 (isEnabled)
[6477:6549:1107/140441.750316:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.klauncher was not provided by any .service files
[6477:6549:1107/140441.750350:ERROR:kwallet_dbus.cc(72)] Error contacting klauncher to start kwalletd5
[6477:6499:1107/140512.179229:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[6477:6499:1107/140512.179269:ERROR:kwallet_dbus.cc(100)] Error contacting kwalletd5 (isEnabled)
[6477:6499:1107/140512.185053:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.klauncher was not provided by any .service files
[6477:6499:1107/140512.185273:ERROR:kwallet_dbus.cc(72)] Error contacting klauncher to start kwalletd5
[6477:6499:1107/140512.320917:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KWallet.close: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[6477:6499:1107/140512.321098:ERROR:kwallet_dbus.cc(414)] Error contacting kwalletd5 (close)
nuran@kubuntu:~$ chromium-browser 

(chromium-browser:7420): Gtk-WARNING **: 14:09:53.855: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(chromium-browser:7420): Gtk-WARNING **: 14:09:53.855: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(chromium-browser:7420): Gtk-WARNING **: 14:09:53.855: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
[7420:7420:1107/140954.028641:ERROR:external_web_apps.cc(207)] Scanning 
mesa: for the -simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the -global-isel-abort option: may only occur zero or one times!
[7420:7488:1107/140954.159630:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[7420:7488:1107/140954.159670:ERROR:kwallet_dbus.cc(100)] Error contacting kwalletd5 (isEnabled)
[7420:7488:1107/140954.160116:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.klauncher was not provided by any .service files
[7420:7488:1107/140954.160145:ERROR:kwallet_dbus.cc(72)] Error contacting klauncher to start kwalletd5
[7453:7453:1107/140954.178173:ERROR:sandbox_linux.cc(364)] InitializeSandbox() called with multiple threads in process gpu-process.
[7420:7436:1107/141024.487851:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[7420:7436:1107/141024.487948:ERROR:kwallet_dbus.cc(100)] Error contacting kwalletd5 (isEnabled)
[7420:7436:1107/141024.489420:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.klauncher was not provided by any .service files
[7420:7436:1107/141024.489519:ERROR:kwallet_dbus.cc(72)] Error contacting klauncher to start kwalletd5
[7420:7436:1107/141024.596455:ERROR:object_proxy.cc(621)] Failed to call method: org.kde.KWallet.close: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[7420:7436:1107/141024.596491:ERROR:kwallet_dbus.cc(414)] Error contacting kwalletd5 (close)

Ещё я не устанавливал приложение h264ify, установил, вроде ускорение включилось (нагрузка упала в 5-10 раз на проц, с 50% до 5-10%), но появились какие-то артефакты, куда копать?:

https://i.postimg.cc/rsnvJwqb/art.jpg

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

Ещё я не устанавливал приложение h264ify, установил, вроде ускорение включилось (нагрузка упала в 5-10 раз на проц, с 50% до 5-10%), но появились какие-то артефакты, куда копать?

Ну вот, ты его включил. Убедился что оно глючное.

Можешь поплясать со сменой драйверов и видеокарты. Может на Intel заработает. В теории у них должно быть лучше всего в этом плане (но на практике хоть что может быть).

Можешь почувствовать себя разработчиком сразу chromium, Mesa, libvaapi и так далее, и как-то их подправить.

Без h264ify у тебя естественно аппаратное декодирование работать не будет, ибо отдаёт ютюб VP9. Который с такой конфигурацией ожидать не стоит.

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

Может на Intel заработает. В теории у них должно быть лучше всего в этом плане (но на практике хоть что может быть).

У меня работает на Интеле

aur/chromium-vaapi-bin 70.0.3538.77-2 [installed] (51) (10,55)
    Chromium with VA-API support to enable hardware acceleration, pre-compiled

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

Без h264ify у тебя естественно аппаратное декодирование работать не будет, ибо отдаёт ютюб VP9. Который с такой конфигурацией ожидать не стоит.

Процессор вышел ~2 года назад, по этому я и ожидаю как раз VP9 от него, в vlc всё работает, хоть 100 мегабитный HEVC включай, нагрузка 2-5%.

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

Копать в сторону allow_rgb10_configs. Если кратко: авторы мезы считают, что баг в хромиуме разработчики которого не читают мануалы, авторы патчей для хромиума считают, что баг в мезе, т.к. они изменили дефолтное поведение.

Khnazile ★★★★★ ()
Последнее исправление: Khnazile (всего исправлений: 2)
Ответ на: комментарий от devorg
vdpauinfo
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420    16384 16384  NV12 YV12 
422    16384 16384  UYVY YUYV 
444    16384 16384  Y8U8V8A8 V8U8Y8A8 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                    3 65536  4096  4096
MPEG2_MAIN                      3 65536  4096  4096
H264_BASELINE                  52 65536  4096  4096
H264_MAIN                      52 65536  4096  4096
H264_HIGH                      52 65536  4096  4096
VC1_SIMPLE                      1 65536  4096  4096
VC1_MAIN                        2 65536  4096  4096
VC1_ADVANCED                    4 65536  4096  4096
MPEG4_PART2_SP                  3 65536  4096  4096
MPEG4_PART2_ASP                 5 65536  4096  4096
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE       0 65536  4096  4096
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      186 65536  4096  4096
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y        48     4096
VIDEO_SURFACE_HEIGHT             y        48     4096
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y
devorg ()
Ответ на: комментарий от fornlr

На венде будет работать. На линуксах врядли стоит ожидать.

У Intel'а, как выяснилось, есть гибридное декодирование VP9 на Skylake под линуксами, и оно действительно снимает приличную долю нагрузки с CPU. Только чтобы найти код, понадобилось постараться.

Так что не надо быть таким пессимистом.

i-rinat ★★★★★ ()
Ответ на: комментарий от devorg
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.0.0-devel - padoka PPA for AMD CARRIZO (DRM 3.23.0, 4.15.0-38-generic, LLVM 8.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
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
devorg ()
Ответ на: комментарий от i-rinat

Да, там что-то печально. Интернет говорит, что AMD и под Windows отключили декодер VP9 в районе декабря 2017.

Ходят слухи, что у АМД никогда небыло аппаратного декодера VP9, и они пытались накостылять его на шейдерах, но не выгорело.

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

О решении на шейдерах ещё ARM в 2014 говорили. Правда, под Mali, с использованием его особенностей. Потом ещё были новости о коммерческих реализациях VP9 декодера с использованием OpenCL. Так что вполне возможно, что даже не пытались сами что-то сделать, а купили готовое.

И даже такое гибридное решение всё равно даёт пользу, снижая нагрузку на CPU, при этом не сильно нагружая GPU.

i-rinat ★★★★★ ()
Ответ на: комментарий от devorg

> Огромное спасибо! Всё заработало!

Каждый раз, когда у линуксоидов работает аппаратное ускорение YouTube, гугл его ломает :-) Я помню как настроил VA-API во флеше, и через год YouTube перешёл на HTML5 - и снова тормоза! Здравствуйте, давно не виделись!

Вот сейчас у > 50% линуксоидов заработает, и ютюб выбросит h264 :-)

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

Не выбросит, тк пока огромное количество быдлодевайсов ничего лучше не умеет, а на 1% линуксоидов всем покласть. Лет через десять может быть.

anonymous ()

полдня убил на настройку воспроизведения в chromium через vaapi.. не сразу нашел инфу об отключении в drirc, даже патчил и пересобирал chromium... и что же по-итогу? а никакой разницы, то есть она в пределах погрешности - все меньше 10%... проц x6 1055T, видео встроенная шляпа...

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

VP8 они уже практически выбросили

На некоторых роликах он еще остался (для 360p самый большой битрейт), например один, два. А здесь уже выпилили, хотя раньше было. Логика непонятна. Причем в последнем примере для DASHевских потоков доступно качество не выше 240p, а из обычных mp4/vp8 можно вытащить 288p, такой вот лайфхак.

anonymous ()

Не подскажете как в дебиан этот же хромиум запустить без самосборной компиляции? а то боюсь мой комп не потянет компиляцию хромиума, одного места на SSD надо 100 гигов, и 10-ти ядерный комп

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