LINUX.ORG.RU

nvidia-vaapi-driver — слой совместимости с VA-API для проприетарных драйверов NVIDIA

 , nvdec, ,


3

2

Опубликована реализация VA-API, использующая в качестве бэкенда NVDEC — проприетарный интерфейс аппаратного декодера для видеокарт NVIDIA. Автором заявлена поддержка трансляции для кодеков: H.264, HEVC (H.265), VP8, VP9, MPEG-2 и VC-1. На данный момент отсутствует поддержка AV1, MPEG-4 и JPEG. Также отсутствует поддержка видео с 10-битным цветом.

Основная цель проекта — добиться работы аппаратного декодирования видео в браузере Mozilla Firefox, поддерживающего VA-API, но не проприетарные API от NVIDIA. Также была протестирована работа с видеоплеером mpv.

Для Firefox потребуется обновиться до Firefox 96 и изменить некоторые настройки в about:config (см. README).

>>> Репозиторий проекта на GitHub

★★★★★

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

In addition the following environment variables need to be set:

VariableValueReason
MOZ_DISABLE_RDD_SANDBOX1This disables the sandbox for the RDD process that the decoder runs in.

Хорошая попытка, товарищ майор.

anonymous
()

Ребята, если разработчики браузеров вам год за годом сношают мозг. То VA-API нет. То он есть, но не работает. То работает, но в следующем релизе сломали. Или нужен овердохрена новый драйвер видеокарты с последним EGL

Так почему бы нам не запускать виндовые браузеры под Wine, где VA-API уже давно есть, и мозги не парит?

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

Хорошая попытка, товарищ майор.

Без хороших шифрующих средств, навроде того же I2P, он и так узнает, где ты шастал и какое порно в 4К смотрел.

Korchevatel ★★★★★
()

Эй, а как же VDPAU? 11 лет назад его с такой помпой анонсировали - мол, смотрите, NVIDIA делает библиотеку с открытым исходным кодом! Чтобы и другие вендоры могли воспользоваться, тогда ц нас будет единый стандарт, и в дистры сразу могли включить!

А теперь делают nvdec-бэкенд для VA-API, но постойте, но ведь давно уже есть vdpau-бэкенд для VA-API, причëм ещë с того же 2008 года? Почему бы не воспользоваться им? Или не работает?

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

Так на AMD эта же хрень и есть. То оно работает в хромиуме через libva-glx в fglrx, то не работает, потому что теперь надо libva-dri, а значит, сносить проприетарный и ставь опенсорсный драйвер. То опять потом сломали, и мейнтейнеры дебиана никак не могут обновить пакет, пока сборка с VA-API не будет починена?

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

Да даже на Интеле и то бывает ломается что-то. В Арчевикии вон, написано, что с intel-media-driver всё ломается, а старый libva-intel-driver новые встройки уже не поддерживает.

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

ведь давно уже есть vdpau-бэкенд для VA-API, причëм ещë с того же 2008 года? Почему бы не воспользоваться им? Или не работает?

Способ, которым VA-API используется в Firefox, требует на выходе DMA-BUF, поэтому тот переходник не получится использовать. В VDPAU не предусмотрена поддержка DMA-BUF.

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

Я думал, это ты автор враппера. Спасибо тогда за новость, будем тестить

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

Увы, и на amdgpu вам не так гладко. Не, на mpv --hwdec=vaapi filename.mp4 всë действительно работает, но раз уж на то пошло, то и на NVIDIA через --hwdec=vdpau всë точно так же работает. Я говорю про браузеры.

Недавно была новость, что в Firefox завезли аппаратное декодирование, только надо новую Mesa 21.x, которой в дистрибутива нет. А на форуме в техразделах была тема, что в chromium 95 опять всë сломали, и что надо сидеть на старой, чтобы браузер ругался что он хочет критических обновлений.

Я именно это имел в виду. А тем временем, DXVA2 в Wine Staging работает и не парит мозгу вот уже года с 2018. На AMD и Intel

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

DXVA2 в Wine Staging

Включается в winecfg. Причëм не требует этих EGL долбанных и DMA-BUF. Всë что требуется, это вставить пару костылей, чтобы запустить сам браузер

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

надо новую Mesa 21.x, которой в дистрибутива нет

В "арче" есть.

chromium

Зачем он нужен не в Ungoogled-варианте? Там же даже синхронизацию скрутили.

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

Ой, не придираться к словам. Которая база у них общая

anonymous
()
Ответ на: комментарий от anonymous
  • Intel GPU, GNU/Linux - VA-API работает только в плеерах.
  • NVidia GPU, GNU/Linux - hardware decoding работает только в плеерах.
  • Android - hardware decoding плохо работает для некоторых видео.

А эти сволочи вместо фиксинга реальной проблемы занимаются перестановками кроватей в UI. Садись, Mozilla, два.

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

Без хороших шифрующих средств, навроде того же I2P, он и так узнает, где ты шастал и какое порно в 4К смотрел.

Смотреть 4к порно со скорость 2кб/c это и есть настоящая порнография.

Skullnet ★★★★★
()

Чет не работает. Все сделал как написано на загруженном бинарном firefox 96 и firefox-nightly. Наверное voidlinux не подходит?

nv-codec-headers обновил, libva-devel установил перед компиляцией.

Если переменная NVD_LOG= не срабатывает, значит всего скорее модуль не грузится так?

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

Возможно, стоит установить переменную среды LIBVA_DRIVERS_PATH, указав путь к скомпилированному драйверу. Ну и переменную LIBVA_DRIVER_NAME тоже нужно установить, если она ещё не установлена.

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

действительно, в void LIBVA_DRIVERS_PATH=/usr/lib/dri https://i.imgur.com/Q3uOWPM.png 4k60fps vp9 свершилось чудо под линуксом на nvidia!

правда загрузка процессора все равно по 30% на 4 ядра, без этого модуля (тупо процессором как раньше) 70-90%.

эмм.. декодирование этого видео кушает 500 мб vram.

https://github.com/elFarto/nvidia-vaapi-driver/issues/5 надеюсь они смогут добавить поддержку хромиумных браузеров для сравнения потребления vram, по тестам под вендой должно быть минимум в 2 раза меньше (сравнивал год назад).

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 4)
LIBVA_DRIVER_NAME=nvidia LIBVA_DRIVERS_PATH=/usr/lib/dri vainfo
 
libva info: VA-API version 1.13.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: VA-API NVDEC driver
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      <unknown profile>               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD

вывод рабочего модуля под vainfo

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

По последним новостям из видеокарт начали убирать поддержку декодирования,типа из-за майнеров. И энвидия и амд. Так что нэнада.

R_He_Po6oT ★★★★
()

Смогу ли я завести NVDEC на карточке NVIDIA GeForce 560 Ti и драйвером 390.xx?
Upd: Да.

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

Ну они же не могут сказать, что из-за нехватки ингридиентов, и желании ещё больше разделить рынок? Майнкры - это таклй ковид у электронщиков, под него всё можно списать

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

> Ну они же не могут сказать, что из-за нехватки ингридиентов

Могут сказать, что из-за дефицита чипов из-за майнеров они вынуждены перестать делать чипы UVD, и заниматься раскодированием видео через CUDA-ядра.

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

Правительства различных стран сейчас эту вашу криптовалюту блокируют либо облагают налогами, а за электричество платишь как коммерческое предприятие. В Европе очередной энергетический кризис, майнить там люто дорого, в Казахстане президент убивает своих людей, в Китае операции с ними уголовное дело. Все как обычно держится на США.

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

> Эй, а как же VDPAU? 11 лет назад его с такой помпой анонсировали - мол, смотрите, NVIDIA делает библиотеку с открытым исходным кодом! Чтобы и другие вендоры могли воспользоваться, тогда ц нас будет единый стандарт, и в дистры сразу могли включить!

В «похожих новостях» нашёл обсуждение 2009 года:

https://www.linux.org.ru/news/hardware/3537003?cid=3537523

Но какой интерфейс выбрала VIA для работы с декодером? Расширенную версию XvMC? Популярный ныне VDPAU? Отнюдь, VIA использует разработанную Intel технологию VA-API (Video Acceleration API, даешь велоси ... API много и разных!), ранее использовавшуюся лишь на чипсетах Poulsbo от самой Intel, в их закрытых версиях драйверов.

Подобный выбор несколько сомнителен, учитывая, что VDPAU уже неплохо реализована и продолжает активно продвигаться вперед, да и сама Intel уже не особо вспоминает о своей разработке, склоняясь в сторону VDPAU. тем не менее, новости определенно внушают надежду, а какое API окажется лучше покажет время.

Ruth ★★ (01.03.09 16:27:58)

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

Не, народ, вы не подумайте, я крайне против криптомайнинья (ни и против ковида, вдогонку), но мне не нравится, когда людям «вживляют» слова-триггеры и пользуются ими для достижения своих целей, совсем не совпадающих с декларируемыми.

R_He_Po6oT ★★★★
()

у кого удалось заставить собираться на ubuntu lts / linux mint?

файл meson.build можно подправить чтобы он не ругался, а вот компиляция https://pastebin.com/raw/J6xeSTrH

наверное нужен свежее libva? если убрать эту проверку то vainfo тупо крашится. https://pastebin.com/raw/YrNC96iF

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

PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC

Оо. Саахрикту помогал.

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

Вот только видеокарт у них нету

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

Давно уже такое. i2p мертвенький.

Ты просто ноду дольше держи и всё. У меня относительно нормально качает, хоть и медленнее тора.

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

наверное нужен свежее libva?

Да, видимо так.

если убрать эту проверку

Вроде бы, эта проверка не должна приводить к падениям. Но код в текущем виде выглядит как «тяп-ляп, лишь бы завелось хоть как-нибудь». Наверное, не хватает чего-то, наличие чего автор не проверяет.

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

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

А у Нвидиа что? Вроде бы в 3050 всё нормально, как у взрослых.

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

https://www.nvidia.com/ru-ru/geforce/graphics-cards/30-series/rtx-3050/# - тут пишут что энкодеры 7ого поколения, декодеры 5ого поколения.
https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new - тут пишут что поддерживает, я так понял кодера ав1 нигде нет.

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

энкодеры 7ого поколения, декодеры 5ого поколения.

Ну как бы да, и чего? Это последние версии, которые nvidia предлагает. Жрёт всё, включая AV1 10bit.
Энкодера AV1 пока нет, но его нет даже в топовых проф. картах.

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

Ну да, его так волнует твое порно)))

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

Чет не работает.

Лишь бы нечет работал.

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

Проиграл с ника автора.

Как тебе это удалось?

dexpl ★★★★★
()

Основная цель проекта — добиться работы аппаратного декодирования видео в браузере Mozilla Firefox

декодирования видео

в браузере

Успехов автору в удовлетворении его в высшей степени странных желаний.

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