#Getting H264 VAAPI webbrowser support working on a VDPAU-only card (GT 705/610)

2 messages · Page 1 of 1 (latest)

errant trout
#

As the title implies, I am trying to get H264 hardware decoding working on my machine running a GT 705 under Debian 12 (kernel ver. 6.1.0-31-amd64) and XFCE4 (X11.) This card seems to be too old to support the nvidia-vaapi-driver NVDEC->VAAPI implementation, due to my card's (Fermi) reliance on NVIDIA 390xx legacy drivers which supposedly do not support DMA-BUF. See this GitHub issue: https://github.com/elFarto/nvidia-vaapi-driver/issues/240

I am currently using the libva-vdpau-driver as a translation layer from VDPAU->VAAPI (manually copied .so file to dri/,) see my vainfo output below:

libva info: User environment variable requested driver 'vdpau'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/vdpau_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API (arekinath) - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileMPEG4Simple            :    VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    :    VAEntrypointVLD
      <unknown profile>               :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileVC1Simple              :    VAEntrypointVLD
      VAProfileVC1Main                :    VAEntrypointVLD
      VAProfileVC1Advanced            :    VAEntrypointVLD```
Firefox 128.8.0esr reports that WebRender is enabled, although it seems to be running in a limited state -- refer to my first and second screenshot. (about:support) H264 videos use only software rendering.

Chromium 133.0.6943.126 (latest Debian stable build) reports `Video Decode: Hardware accelerated` (see third screenshot,) but defaults to FFmpegVideoDecoder (software decoding) when H264 videos are playing, so it doesn't seem to work with either browser.

I've tried another VDPAU->VAAPI translation layer (https://github.com/fluendo/flu-va-drivers/tree/master) with the same results, although this driver only supports H264 and seems to be very early in development (docs only mention support for older versions of Google Chrome.)

Is there any other path I can take to try getting my Fermi card running with working VAAPI support for either browser, or is this the best I'm gonna get with such old hardware? I'm unsure if any older versions of nvidia-vaapi-driver would support my card/driver version. I've also tried `nouveau` and its included VAAPI drivers but I experienced a garbled video stream in YouTube + system lockup.
#

glxinfo -B output:

display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 1024 MB
    Total available memory: 1024 MB
    Currently available dedicated video memory: 488 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 705/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 390.157
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 390.157
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.157
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20```