Už jste si na to vše v podstatě přišel.
NVIDIA používá své NVDEC API, ale Firefox i Chrome/Chromium based prohlížeče používají VA-API. Takže musí být v systému nainstalovaný wrapper.
Např. ve Fedoře se ten balíček jmenuje libva-nvidia-driver a samotná knihovna je v /usr/lib64/dri/nvidia_drv_video.so.
Další překážka je, že ve Firefoxu je to nějakou dobu ve výchozím stavu na blacklistu (lze přerazit přes media.hardware-video-decoding.force-enabled).
Třetí překážka je, že Firefox pouští separátní dekódovací proces v sandboxu, co se na to nedostane, dokud se nenastaví proměnná MOZ_DISABLE_RDD_SANDBOX.
To by mělo zabrat ve standardním Firefoxu.
U Flatpak verze (většinou ji používám na distribucích, co mají v systému starou ESR verzi) je tam pak ještě další zádrhel.
Firefox z Flathubu je sestaven proti runtime z branche 24.08, kdežto dostupný runtime s wrapperem (org.freedesktop.Platform.VAAPI.nvidia) je jen v branchi 25.08.
Dá se to obejít tak, že se zkopíruje knihovna wrapperu ze systému, aby ji flatpak našel.
např.
# zkopírovat ten VA-API wrapper do adresáře, kam může Flatpak
mkdir ${HOME}/.var/app/org.mozilla.firefox/data/dri/
cp /usr/lib64/dri/nvidia_drv_video.so ${HOME}/.var/app/org.mozilla.firefox/data/dri/nvidia_drv_video.so
# přenastavit proměnné flatpaku
flatpak override --user --env="LIBVA_DRIVER_NAME=nvidia" --env="LIBVA_DRIVERS_PATH=/home/${HOME}/.var/app/org.mozilla.firefox/data/dri" --env="MOZ_DISABLE_RDD_SANDBOX=1" org.mozilla.firefoxve Firefoxu pak nastavit v about:config
media.ffmpeg.vaapi.enabled=true
media.hardware-video-decoding.force-enabled=true
Pro rychlou kontrolu, jestli to běží, se stačí podívat do about:support, případně spustit třeba HEVC video
https://lf-tk-sg.ibytedtos.com/obj/tcs-client-sg/resources/video_demo_hevc.html#main-bt709-sample-11a podívat se na nvidia-smi:
nvidia-smi dmon -s u
Jestli je to aktivní, tak to ukáže nějaké vytížení ve sloupci "dec".