LINUX.ORG.RU
ФорумTalks

Заработал vaapi в X11 (Firefox 84)

 ,


2

3

Вчера приплыло обновление лисы и теперь видео в youtube перестало крашится (на 83 и младше у меня постоянно падал content). Делюсь впечатлениями. При начале воспроизведения дергается overlay с видео, но других проблем не замечено. Проверить я могу только с h264, vp9 uvd у меня нет. Загрузка cpu упала до 15-20.

Name Firefox Version 84.0a1 Build ID 20201024094139

в user.js

user_pref("gfx.webrender.all", true);
user_pref("layers.acceleration.force-enabled", true);
user_pref("media.hardware-video-decoding.force-enabled", true);
user_pref("media.ffmpeg.dmabuf-textures.enabled", true);
user_pref("media.ffmpeg.vaapi-drm-display.enabled",true);
user_pref("media.ffmpeg.vaapi.enabled",true);
user_pref("media.ffvpx.enabled",false);

Запускать с export MOZ_X11_EGL=1. RDD я не стал включать.

// user_pref("media.rdd-ffmpeg.enabled",true);
// user_pref("media.rdd-ffvpx.enabled",false);

Загрузка cpu упала до 15-20

А что за CPU и GPU?

BceM_IIpuBeT ★★★★ ()

Он же начиная с FF 81 работает. Вообще он был и в FF 80, но там в нем критические баги были.

Kron4ek ★★★★ ()

на 83 и младше у меня постоянно падал content

На 82-ом vaapi на иксах работает без нареканий, интел.

papin-aziat ★★★ ()
Ответ на: комментарий от Kron4ek

я и говорю, что до сегодняшнего дня периодически падало, сейчас в 84 норм.

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

Понял. Просто у меня уже начиная с FF 81 vaapi нормально работает.

Kron4ek ★★★★ ()

уже лет 8 наверное и в хроме и в фф смотрел ютюб и не страдал.

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

Смотреть-то можно было, вот только без аппаратного декодирования, что выражается в повышенной нагрузке на процессор.

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

user_pref(«gfx.webrender.all», true);
user_pref(«layers.acceleration.force-enabled», true);
user_pref(«media.hardware-video-decoding.force-enabled», true);
user_pref(«media.ffmpeg.dmabuf-textures.enabled», true);

У меня эти false, зачем включать?

papin-aziat ★★★ ()
Ответ на: комментарий от darkenshvein

смотрел ютюб и не страдал

Если проц приличный и не смотреть всякие К, то и не заметишь, сам не знаю зачем постоянно настраиваю эти ваапи.

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

А WebRender у тебя используется? Что в about:support в строке «Композитинг»?

Kron4ek ★★★★ ()
Ответ на: комментарий от papin-aziat

user_pref(«gfx.webrender.all», true);

Без этого будет тормозить скроллинг с видео.

user_pref(«media.ffmpeg.dmabuf-textures.enabled», true);

Без этого по идее вообще не должно работать, так как кадр нужно загонять в текстуру.

user_pref(«layers.acceleration.force-enabled», true); user_pref(«media.hardware-video-decoding.force-enabled», true);

Эти два, наверное, уже не нужны. Не проверял.

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

Что в about:support в строке «Композитинг»?

WebRender

Там у него избыточные настройки, форсированные, например gfx.webrender.enabled=true достаточно и тд.

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

Тогда все нормально. Его еще можно и через переменные включить, и это не затрагивает настройки в about:config:

export MOZ_ACCELERATED=1
export MOZ_WEBRENDER=1
Kron4ek ★★★★ ()
Ответ на: комментарий от arrecck

Без этого будет тормозить скроллинг с видео.

Выше про это написал.

Без этого по идее вообще не должно работать, так как кадр нужно загонять в текстуру.

Ну вот работает у меня, щас поставил эту настройку, разницы пока не вижу, замечу – отпишусь.

user_pref(«layers.acceleration.force-enabled», true)

По умолчанию layers.acceleration.disabled=false.

user_pref(«media.hardware-video-decoding.force-enabled», true

По умолчанию media.hardware-video-decoding.enabled=true.

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

разницы пока не вижу, замечу – отпишусь

Навскидку не заметил, неясно зачем эта настройка.

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

Я нашел единственное упоминание этой настройки в ./dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp

#ifdef MOZ_WAYLAND_USE_VAAPI
  mUseDMABufSurfaces =
      gfxPlatformGtk::GetPlatform()->UseDMABufVideoTextures() &&
      mImageAllocator &&
      (mImageAllocator->GetCompositorBackendType() ==
       layers::LayersBackend::LAYERS_WR);

  if (!mUseDMABufSurfaces) {
    FFMPEG_LOG("DMA-Buf/VA-API can't be used, WebRender/DMA-Buf is disabled");
  }
#endif

Как видно, UseDMABufVideoTextures() проверяется только в wayland. Для иксов не знаю, зачем она нужна.

arrecck ★★ ()
Ответ на: комментарий от papin-aziat

ну я заморачивался таким только на нетбуке, ибо реально не хватало проца.

по иронии на C50, где сабж и был - поддержка железа не работала.
купил на E350 - заработала, но нафиг не была нужна, ибо проц уже тянул.

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

Начали они с вяленого, да, но вот теперь иксы, это просто супер, а то как раз переехал на федора-32 из-за багованного qt 5.13, а там в кутях 5.14 поломали тени под xwayland, пришлось вернуться на иксы, однако, надо отметить, иксы стали работать лучше, ибо в ф31 были дрянь.

papin-aziat ★★★ ()
Ответ на: комментарий от darkenshvein

Все равно прикольно, когда проц в два раза меньше напрягается, а настроить не сложно. Только вот в Федоре в chromium-freeworld перестал работать vaapi, это грустно, как раз переехал на иксы и надеялся жене хромого тоже настроить ничтяк, а тут облом.

papin-aziat ★★★ ()

Это хорошо. Но пользователи nvidia/amd по прежнему должны страдать, я прав?

P.S. Вроде, vaapi под иксами работает с 81 версии, нет?

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

Но пользователи nvidia/amd по прежнему должны страдать, я прав?

На AMD с vaapi проблем нет. А для Nvidia, скорее всего, придется установить прослойку vaapi-vdpau.

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

papin-aziat, Kron4ek, спасибо за наводку! Я сильно отстал от жизни :) Мне казалось, что ваапи нормально работает только на интеле.

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

А для Nvidia, скорее всего, придется установить прослойку vaapi-vdpau.

Лучше не надо. Проще забить.

fornlr ★★★★★ ()

Смотрю fullhd в огнелисе на вяленом. Нагрузка на процессор 20-30 процентов.

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

Смотрю FullHD с кодеком AV1 (априори можно сказать без GPU декодиования). Процессор восьмилетний.

Загрузка 30% 😀

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

Какой браузер? Как настраивал? Много видео попадается в таком формате?

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

Дефолтный Firefox. Просто в настройках YouTube (аккаунта где-то там есть опция «предпочитать AV1»). Наверно в процентах 20% отдаёт в AV1, в основном чаще всё же VP9

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

Совпадает с моими наблюдениями. Я уже было подумал может у меня что то не так. Причем пару лет назад когда я только включил опцию «предпочитать AV1» по ощущениям они попадались чаще.

Behem0th ★★★★★ ()

А у меня наоборот перестало работать в stable. Теперь пишет:

libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[Child 332027: MediaPDecoder #1]: D/PlatformDecoderModule Failed to create VA-API device context

А при запуске с LIBVA_DRIVER_NAME=iHD

DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
libva error: /usr/lib/dri/iHD_drv_video.so init failed
[Child 333463: MediaPDecoder #1]: D/PlatformDecoderModule Failed to create VA-API device context

В хромиуме нормально.

e1nste1n ★★★★★ ()

видео в youtube перестало крашится

Хорошая заявка на десктоп, я считаю.

chenbr0 ()

Поставил Nightly и выставил флаги как у тебя, и всё заработало, наконец-то. Ураааа! Спасибо. И vp9 работает тоже.

devorg ()
Последнее исправление: devorg (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)