LINUX.ORG.RU

Не работает VAAPI

 , , , ,


1

2

Имеем ноут с мобильным i7 и тормозами ютуба, проигрывателей и т.п. Устанавливаем xf86-video-intel libva-intel-driver libvdpau-va-gl libva libva-intel-driver libva-vdpau-driver
Все приведенные пакеты устанавливал по вики: 1 2 3

$ grep -i vdpau /var/log/Xorg.0.log
[    18.509] (II) intel(0): [DRI2]   VDPAU driver: i965


export LIBVA_DRIVER_NAME=vdpau
export VDPAU_DRIVER=i965
и
export LIBVA_DRIVER_NAME=vdpau
export VDPAU_DRIVER=va_gl
не помогают, в обоих случаях mpv жрет 30% cpu при проигрывании видео, без этих строчек и при запуске mpv с параментром "-hwdec vaapi" грузит систему уже на 6% и видео очень плавное. Если с этим же параментром запустить mpv при применении вышеназваннных «export..» - плеер не запускается. В огнелисе при просмотре видео тоже на 30-40% нагрузка идет, а 1080p 60fps так вообще каждые несколько секунд непроизвольные паузы (остановки воспроизведения).

Ты путаешь VA-API и VDPAU и не в ту сторону применяешь «адаптеры» между этими двумя API. У intel'а первична поддержка VA-API (пакет libva-intel-driver).

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

А если почитать эти самые ссылки? Почитать, блджад, а не тупо вбить все доступные команды?

Intel GMA 4500 series and newer GPUs are supported by the libva-intel-driver package together with the mesa package

libva-vdpau-driver has to be enabled manually

Замечаешь разные названия драйверов? Тебе последний вообще не нужен.

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

Что касается VDPAU:

Intel GMA 4500 series and newer GPUs are supported by the libvdpau-va-gl package together with the libva-intel-driver.

For Intel Graphics or AMD Catalyst you need to set it to va_gl.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx
export LIBVA_DRIVER_NAME=va_gl

Проигрывание на ютубе 1080p 60fps грузит cpu на 160%

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

Во-первых, VDPAU_DRIVER.

Во-вторых, на самом деле, обе эти переменные должны быть пустыми (вики врёт).

В-третьих, команда vdpauinfo должна говорить примерно следующее:

$ vdpauinfo
display: :0   screen: 0
[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
API version: 1
Information string: OpenGL/VAAPI/libswscale backend for VDPAU

<...>
intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx
$ vdpauinfo
bash: vdpauinfo: команда не найдена
$ vainfo
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.37 (libva 1.5.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.5.0
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
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice

Убрал эти переменные окружения, нагрузка на cpu с ютуба всё та же.

zubapem ()

что бы фокс начал использовать vaapi ему нужно gstreamer-vaapi

Novell-ch ★★★★★ ()
Ответ на: комментарий от Novell-ch
# pacman -Ss gstreamer-vaapi
extra/gstreamer-vaapi 0.5.10-1 [установлен]
    GStreamer Multimedia Framework VA Plugins

Уже установлен, как включить его?

zubapem ()

Имеем ноут с мобильным i7

На атоме (J1800) специально отключаю аппаратное декодирование, чтобы глюков не ловить со старыми кодеками, FullHD 50 к/с - без проблем.

проигрывателей и т.п.

Каких проигрывателей? VLC - выбираешь на вкладке «Ввод/Кодеки, Декодирование с аппаратным ускорением:VA-API». Smplayer - «Основные/Видео, Устройства вывода:vdpau».

bash: vdpauinfo: команда не найдена

Поставь

Покажи полный Xorg.0.log

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

нагрузка на cpu с ютуба всё та же

Значит, не повезло. Флеш-плеер — редкостная хрень. Но правильная настройка vdpau/vaapi именно такова.

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

Поставил следующие переменные окружения:

export LIBVA_DRIVER_NAME=vdpau
export VDPAU_DRIVER=va_gl
vdpauinfo «зависает» при выводе информации, через ctrl+c пришлось остановить:
$ vdpauinfo
display: :0   screen: 0
[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'vdpau'
libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
libva info: Found init function __vaDriverInit_0_35
Xorg.0.log: http://pastebin.com/VYwH0xiB

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

Ютуб проигрыватель на html5.

Так vaapi или vdpau? Для интелов — первое.

Ну второй имеет бекенд к первому, но у меня не заводится. Как огнелис подружить с vaapi?

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

Так vaapi или vdpau?

Для vlc - vaapi (через vdpau глючит, да и в случае intel это обертка над vaapi)
Для smplayer - vdpau (потому что vaapi нету)

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

mpv грузит cpu на 6% и не тормозит при флаге "-hwdec vaapi", но как огнелис подружить, кеды с их чертовым QML и прочий софт, где аппаратное ускорение необходимо? Пакет gstreamer-vaapi установлен, но толку от него полный ноль.. Уже появляются мысли обмазаться гентой, откомпилировать себе всё с +vaapi и радоваться жизни, но как всё-таки в реалиях арча можно решить проблему?

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

Да, разумеется, но этот слоёный пирог из vdpau -> vaapi низкоэффективен и создавался в первую очередь лишь для флеш-плеера (потому что он vaapi не умеет, а только vdpau).

Если HTML5 и gstreamer-vaapi установлен и всё равно CPU нагружается — то хз, может быть, кто-то более знакомый с gstreamer подскажет.

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

export LIBVA_DRIVER_NAME=vdpau

Вот это зачем?? Это неправильно! Ты устраиваешь цикл из декодеров.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx
$ lspci | grep -i VGA
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)

Получается Gen 4, но по этой ссылке должно быть Gen 7, т.к. процессор на архитектуре Haswell.

$ cat /proc/cpuinfo | grep name | head -n 1
model name      : Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz

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

Получается Gen 4, но по этой ссылке должно быть Gen 7, т.к. процессор на архитектуре Haswell.

Четвёртое поколение процессора, а не видяхи.

Nehalem -> Sandy -> Ivy -> Haswell

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

Кстати, да. А до этого типа поколений не было? :]

Или отсчёт ведётся с момента смены схемы именования на «Core i[357]»?

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

Да, отсчет с выхода Core iX.
Видяхи же считают от i915

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

слоёный пирог из vdpau -> vaapi низкоэффективен

Я как-то тестил, mplayer -> vdpau -> vaapi -> hw ело 9% CPU, а mplayer -> vaapi -> hw ело 8%. Чудовищная неэффективность :-D

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

Спасибо тебе, i-rinat!

На Asus-N550JK + Gentoo, обломавшись со всеми попытками задействовать offscreen NVidia карточку, благодаря твоему творению получаю 3-4% загрузки проца в Smplayer при просмотре H264 1920x1080 BDRip Avatar. Все остальные режимы жрали 60-80% одного ядра, это хрен бы с ним, ещё 7 есть, но грелось быстро.

То же кино в VLC на чистом VAAPI - 10-12% проца, но иногда с зеленью и квадратами при быстрых сценах (полёт шаттла, скачки местных жителей).

Для установки скопировал в локальный оверлей ебилд из оверлея x11, размаскировал, установил, сделал симлинк ln -s libvdpau_va_gl.so.1 libvdpau_i965.so.1

danhuu ()

засунь в

/etc/adobe/mms.cfg

EnableLinuxHWVideoDecode=1


если нет - создай,а потом запускай лису

smilessss ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.