Сайт | Скачать | Видео | Wiki

Автор Тема: VDPAU , VA-API - аппаратное (HW) ускорение декодирования видео  (Прочитано 26168 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
в ДДР01 ни один mplayer не дает vdpau на встроенной видяхе интел 4 генерации
A на
Код
root@DDR01:mp4# inxi -G
работает, но проц грузит чуть больше xv
Если я правильно понимаю грамматику письменного русского языка - это две альтернативы, исключающая одна другую. А теперь, собственно, где в ДДР01 (где вывод `inxi -G`?) не даёт vdpau, если работает на `inxi -G`? Что-то Вы всех запутали.
Цитата
Есть готовое 5.10.2+1~exp1 ядро
так и не понял связи vdpau и ядра
Потрудитесь таки прочитать линк по Intel, а то я как будь-то для себя посты пишу, а к нему дополнительно:
  • But hey, modern GPUs can also decode video! There's VDPAU (NVIDIA & AMD GPUs) and and VA-API (AMD & Intel GPUs) that can also talk to the GPU exposed via DRM/DRI and issue proper commands to decode/encode a given video stream.
Intel HD XXX: i915 kernel driver -> DRM/DRI -> Mesa (i965) -> games/apps.

UPD.: Прежде чем решить, в чём тут дело, vainfo и vdpauinfo Вам в помощь:
https://wiki.archlinux.org/index.php/Hardware_video_acceleration_(Русский)#Проверка
« Последнее редактирование: 30 Декабрь 2020, 13:16:26 от TT »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 32970
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
На встроенной интел видяхе 4й генерации vdpau не работает, а на 2й работает, но проц жрет больше xv
Так понятно?
i915 kernel driver -> DRM/DRI -> Mesa (i965)
У нас есть ядра без этих компонентов ядра?

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 32970
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
Вам в помощь:
Сами прочитали? Есть решение проблемы?

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
UPD.: Прежде чем решить, в чём тут дело, vainfo и vdpauinfo Вам в помощь:
https://wiki.archlinux.org/index.php/Hardware_video_acceleration_(Русский)#Проверка
Сами прочитали? Есть решение проблемы?

Конечно! Я никогда не советую другим то, что не прочитал бы и не применил бы сам. Как Вы собираетесь знать, что у Вас аппаратно декодируется, а что нет, если только не узнаете нужный профиль и разницу между VA-API и VDPAU (первое предпочтительнее)??!
Код
$ vdpauinfo 
display: :0   screen: 0
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
API version: 1
Information string: OpenGL/VAAPI backend for VDPAU
Код
$ vainfo
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.5 (libva 2.1.1.pre1)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 2.4.0.pre1 (2.3.0-21-ge60af21)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointStats
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointStats
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointStats
      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
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD <--
Для WebM, например (YouTube стандарт). У меня также 4К приемлемо декодируется (на грани) ‒ тут правда да, OpenCL от второй карточки для mpv помогает. Следующий для меня, пока нереализованный, вариант - перекомпилить mpv с Vulkan поддержкой:
Код
#/etc/environment
VULKAN_SDK_PATH=/usr
#ATISTREAMSDKROOT=/usr
CUDA_PATH=/usr
EXTRA_NVCCFLAGS="-L /usr/lib/x86_64-linux-gnu"
LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
VDPAU_DRIVER=va_gl
#VDPAU_DRIVER=nvidia
LIBVA_DRIVER_NAME=i965
#LIBVA_DRIVER_NAME=iHD
#LIBVA_DRIVER_NAME=vdpau
« Последнее редактирование: 30 Декабрь 2020, 13:52:05 от TT »

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
На встроенной интел видяхе 4й генерации vdpau не работает, а на 2й работает, но проц жрет больше xv
Так понятно?
i915 kernel driver -> DRM/DRI -> Mesa (i965)
У нас есть ядра без этих компонентов ядра?
У вас есть ядра, определённые компоненты которых в работе, я уже не говорю при компиляции таковых, никто даже не проверял. А процитированный мой ответ был на другой Ваш вопрос.
« Последнее редактирование: 31 Декабрь 2020, 02:06:34 от TT »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 32970
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
    Есть решение проблемы?
Конечно!
Если есть - дайте короткий рецепт для 4 генерации. Заработает - дальше будем обсуждать

Я никогда не советую другим то, что не прочитал бы и не применил бы сам
Я _лично_, да, "сам не юзал"
;)
У вас есть ядра, определённые компоненты которых в работе, я уже не говорю при компиляции таковых, никто даже не проверял.
Для проприетарных видеодров - да. Они лежат в test
Какая связь с интел видяхой?

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
Если есть - дайте короткий рецепт для 4 генерации.
Я же уже написал. Аппаратное декодирование не может быть коротким рецептом, короче чем уже самый короткий. Наверное, нужно просто взять и попробовать, как в постах.
Цитата: TT от 18 Декабрь 2020, 14:28:14
Я _лично_, да, "сам не юзал"
;)
- выхвачено из контекста.
Цитата
У вас есть ядра, определённые компоненты которых в работе, я уже не говорю при компиляции таковых, никто даже не проверял.
Какая связь с интел видяхой?
- по аналогии: или запоздало проверять (соответствующие?) компоненты ядра 3.x, или сэкономить время и найти "ядерщика" (я пока от этого удерживаюсь) для версии 5.10.x LTS ядра, что гораздо благоразумнее. Да, и с параметром acpi никаких проблем для запуска последнего на о-очень старых машинах.

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
Сделал беглое сравнение свойств ядер, см. также AMDGPU:
Код
maurom:
AMDGPU+ yes
exFAT   yes
X32     yes
RT      no

EasyOS:
AMDGPU  yes
exFAT   no
X32     yes
RT      no

porteus:
AMDGPU+ yes
exFAT   yes
X32     no
RT      no

debian:
AMDGPU+ yes?
exFAT   yes
X32     yes
RT      yes

Arch Linux:
AMDGPU  yes
exFAT   yes
X32     no
RT      no (отдельно)

« Последнее редактирование: 31 Декабрь 2020, 17:00:14 от TT »

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
Самая дельная ссылка по capabilities Radeon-модельного ряда:
https://www.x.org/wiki/RadeonFeature/
Найдите свою пару "модельный ряд" / "инженерное имя", например: Evergreen/CEDAR
Southern Islands (SI) and Sea Islands (CIK) будут работать с новым AMDGPU+ в ядре 5.10.x (если включены в config).
« Последнее редактирование: 31 Декабрь 2020, 16:52:28 от TT »

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
Только что (!) сделали "на все вкусы" ядро 5.10.4 в Debian unstable/sid. Налетай, разбирай!. Обновил свой пост выше.
UPD: Добавил инфу про 5.11~rc1 ядро.
« Последнее редактирование: 01 Январь 2021, 10:32:04 от TT »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 32970
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
будут работать с новым AMDGPU+ в ядре 5.10.x
Запутался. Какую задачу Вы решаете?
Почему про ядра пишите в этом разделе?
Что такое AMDGPU+ ?

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
- VA-API/VDPAU на AMDGPU
- тема про VDPAU, про связь с ядрами писал ранее
- моё сокращение, означает включённый AMDGPU конфиг в ядре 5.10 с дополнительными параметрами под SI/CIK

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 32970
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
VA-API/VDPAU на AMDGPU
Чем это будет лучше radeon+mesa=vdpau (надо подключить фирмваре).,  который сейчас эффективно работает на старых AMD ?
Вроде даже modesetting+mesa = vdpau , т.е. без radeon + фирмваре = vdpau

Новых с amdgpu не юзал. Т.к. это аналог проприетарного catalyst - возможно в играх будет больше fps
Это цель?
Насколько я помню по vdpau разницы проприетарные\свободные дрова не было

Southern Islands (SI) and Sea Islands (CIK) будут работать с новым AMDGPU+ в ядре 5.10.x (если включены в config).
Что тут нового?
CONFIG_DRM_AMDGPU_SI (Southern Islands GPU) and CONFIG_DRM_AMDGPU_CIK (Sea Islands GPU)
Включены в
http://mirror.yandex.ru/puppyrus/puppyrus-a/kernel/new/5.1.4-pf-drv/
http://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/0ld-02/5.1.4-porteus_64-drv/
http://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.4.60-fatdog-drv/
Это только Бари не включил в своем 5.10.3
Именно в 5.10
Цитата
В драйвере amdgpu продолжена работа по реализации поддержки GPU AMD Navi 21 (Navy Flounder) и Navi 22 (Sienna Cichlid).
Насколько я понял - это для свежих видях

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 32970
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
Если нужно только (для игр и браузеров нужна полная mesa)  HW ускорение в mpv : достаточно
xf86-video-intel (дает --vo=xv) + i965_drv_video.so
Получилось сделать HW совсем маленьким. Дописал в итоговый пост