Nvidia chromium with VP9 hardware decode?


Im trying for a few days to get my stadia on linux to work. But everything i do i cannot get vp9 hardware decoding.

I have already made a issue here: https://github.com/saiarcot895/chromium-ubuntu-build/issues/64

But maybe someone here have the answer.

I have a debian installation with nvidia version:

ii  nvidia-driver                         440.36-1                             amd64        NVIDIA metapackage
ii  nvidia-driver-bin                     440.36-1                             amd64        NVIDIA driver support binaries
ii  nvidia-driver-libs:amd64              440.36-1                             amd64        NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)
ii  nvidia-egl-common                     430.64-1                             amd64        NVIDIA binary EGL driver - common files
ii  nvidia-egl-icd:amd64                  440.36-1                             amd64        NVIDIA EGL installable client driver (ICD)
ii  nvidia-installer-cleanup              20151021+10                          amd64        cleanup after driver installation with the nvidia-installer
ii  nvidia-kernel-common                  20151021+10                          amd64        NVIDIA binary kernel module support files
ii  nvidia-kernel-dkms                    440.36-1                             amd64        NVIDIA binary kernel module DKMS source
ii  nvidia-kernel-support                 440.36-1                             amd64        NVIDIA binary kernel module support files
ii  nvidia-legacy-check                   430.64-1                             amd64        check for NVIDIA GPUs requiring a legacy driver
ii  nvidia-modprobe                       430.50-1                             amd64        utility to load NVIDIA kernel modules and create device nodes
ii  nvidia-persistenced                   430.64-1                             amd64        daemon to maintain persistent software state in the NVIDIA driver
ii  nvidia-settings                       430.64-1                             amd64        tool for configuring the NVIDIA graphics driver
ii  nvidia-support                        20151021+10                          amd64        NVIDIA binary graphics driver support files
ii  nvidia-vdpau-driver:amd64             440.36-1                             amd64        Video Decode and Presentation API for Unix - NVIDIA driver

With version 440 we have support off VP9

<i>Added VP9 decode support to the NVIDIA VDPAU driver. See the VDPAU Support appendix in the README for supported VP9 decoder profiles.</i>

bron: https://devtalk.nvidia.com/default/topic/1065983/linux/linux-solaris-and-freebsd-driver-440-31-long-lived-branch-release-/post/5398163/#5398163

Here some extra information:

grep -iE 'vdpau | dri driver' /var/log/Xorg.0.log
[     7.370] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
grep -iE 'nvidia gpu Q' /var/log/Xorg.0.log
[     6.002] (II) NVIDIA(0): NVIDIA GPU Quadro P1000 (GP107GL-A) at PCI:1:0:0 (GPU-0)

But when i run vainfo i don’t see any vp9 support :/

# vainfo 
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_2
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.5 (libva 2.5.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 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

Can someone help me with this problem ?

It’s been a while. I found this solution on the Arch Distro wiki:


The guide uses a highly experimental driver that may cause other problems. I would like to speak a few here.


GL_VERSION	        4.5.0 NVIDIA 470.129.06


Video Acceleration Information
Decode h264  baseline   16x16 to 4096x4096 pixels
Decode h264  main	   16x16 to 4096x4096 pixels
Decode h264  high          16x16 to 4096x4096 pixels
Decode vp9    profile0    16x16 to 8192x8192 pixels

This are the information Chromium should display after installing the libva-vdpau-driver-vp9. This includes the H264 codec and only profile 0 is supported in the VP9.

The screen monitor in Stadia reports a “Hardware VP9” , but after about half a minute without moving the mouse or screen, it looks like this:

Another problem is strong image flickering, especially with the VP9, this is not so strong with the H264. However, these are specific problems in cloud gaming. I didn’t notice this on YouTube etc.

Maybe someone has an idea.