Настройка nouveau и firmware для vdpau (аппаратного декодирования видео)

Автор Brainey, 06 февраля 2016, 11:37:05

« назад - далее »

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

Brainey

   VDPAU — Video Decode and Presentation API for Unix, — технология аппаратного ускорения и постобработки видео на GPU. Благодаря ей можно очень существенно снизить нагрузку на CPU при просмотре HD Video. Поддержка вывода в vdpau есть во множестве видеоплееров (mplayer, mpv, и т.д.) и, соответственно, в их графических оболочках, типа smplayer.


   Для использования данной замечательной технологии совместно с открытым драйвером vdpau, необходимо убедиться, что её поддержка есть в вашей видеокарте. Для этого привожу список моделей видеокарт, (взятый с arch-wiki), начиная с которых имеется наличие поддержки vdpau:
Цитировать
Свободные драйверы:
    AMD Radeon 9500 и новее поддерживаются пакетом mesa-vdpau.
    Intel GMA 4500 серии и новее поддерживаются пакетом libvdpau-va-gl вместе с libva-intel-driver.
    NVIDIA GeForce 8 серии и новее поддерживаются пакетом mesa-vdpau. Он требует пакет nouveau-fwAUR, который содержит в себе необходимые прошивки для работы, взятые из закрытого драйвера NVIDIA.


Проприетарные драйверы:
    AMD Radeon HD 4000 серии и новее поддерживаются пакетом libvdpau-va-gl, вместе с пакетом libva-xvba-driverAUR. Он использует драйвер catalyst-utilsAUR для Radeon HD 5000 серии и новее, и catalyst-total-hd234kAUR для Radeon HD 4000 серии.
    NVIDIA GeForce 400 серии и новее поддерживаются пакетом nvidia-utils.
        GeForce 8/9 и GeForce 100-300 серии и новее поддерживаются пакетом nvidia-340xx-utils.
Как мы видим, у NVIDIA поддержка появляется начиная с 8-й серии.
Также дополнительную информацию о поддержке vdpau именно драйвером nouveau можно посмотреть здесь.
А здесь указан список соответствия кодовых имён видеокарт, используемых в nouveau, реальным моделям.


  Если нам повезло и nouveau поддерживает технологию или нам лень читать и мы действуем на авось, ставим пакет
# apt install mesa-vdpau-drivers
и указываем в параметрах видеоплеера вывод vdpau для видео и проверяем на практике.


  Как известно по информации с официального сайта, nouveau поддерживает не все движки декодирования и для некоторых (а именно для VP1/2/3/4/5) требуется firmware из блоба nvidia.
Там же приведён рецепт о том, как его оттуда выковырять и подложить для использования nouveau.
Итак:
1. Скачиваем скрипт и блоб (естественно, версию блоба для своей видеокарты)
$ mkdir /tmp/nouveau
$ cd /tmp/nouveau
$ wget https://raw.github.com/imirkin/re-vp2/master/extract_firmware.py
$ wget http://us.download.nvidia.com/XFree86/Linux-x86/325.15/NVIDIA-Linux-x86-325.15.run

2. Извлекаем файлы из .run архива и натравливаем скрипт:

$ sh NVIDIA-Linux-x86-325.15.run --extract-only
$ python2 extract_firmware.py  # this script is for python 2 only

3. Создаём каталог и закидываем туда всю эту прелесть:

# mkdir /lib/firmware/nouveau
# cp -d nv* vuc-* /lib/firmware/nouveau/

После чего всё должно работать со всеми движками декодирования.


Открыть содержимое (спойлер)
PS: Для поддержки проприетарных форматов, таких как h264, необходимо установить ffmpeg с deb-multimedia.org:
1.Добавляем репозиторий и ключ:
# echo "deb http://www.deb-multimedia.org jessie main non-free" >> /etc/apt/sources.list/
# apt update && apt install deb-multimedia-keyring && apt update

2. Удаляем ffmpeg, если был установлен пакет из стандартного репозитория:
# apt remove ffmpeg
3. Ставим пакет:
# apt install ffmpeg/code]
4. Проверяем вывод на наличие h264:
[code]$ ffmpeg -version | grep 264

Если вы видите флаг "–enable-libx264", вы имеете поддержку h264.


Также известно о наличии второго способа.
1. Добавляем репозиторий backports:
# echo "deb http://ftp.debian.org/debian jessie-backports main contrib non-free" >> /etc/apt/sources.list
2. Обновляем список репозиториев:
# apt update
3. Ставим ffmpeg:
# apt -t jessie-backports install ffmpeg
[свернуть]
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru

Malaheenee

Цитата: Brainey от 06 февраля 2016, 11:37:05PS: Для поддержки проприетарных форматов, таких как h264, необходимо установить пакеты ffmpeg и x264 с deb-multimedia.org:
В стандартных репах оно и так есть.
Все мы где-то, когда-то и в чем-то были новичками.


I-Jurij

Немного в сторону, но все же.
В ffmpeg-2.8.6 (скорее всего и в 2.8.4) - есть нативный декодер Н264, HEVC, то есть проигрывание файла возможно и без x264, x265, если ffmpeg был скомпилен без  --enable-libx264 (или --enable-libopenh264) --enable-libx265 (или --enable-libkvazaar).
Если же компилился с --enable-libx264, то дополнительно нужен x264 (возможно и декодирование (проигрывание) и кодирование).

Malaheenee

Все мы где-то, когда-то и в чем-то были новичками.

CoolAller

Не так давно пробовал, с драйвером nouveau по прежнему аппаратное ускорение не работает, хотя оно и было когда-то заявлено.