I posted this at the Geforce forums initially, as I didn’t know the devtalk board existed. I have been using a 1050Ti for a while on Linux (variously using Ubuntu 18.10, Ubuntu 19.04, Arch Linux, etc) and to the best of my memory VP9 acceleration - i.e. YouTube - has been working very well using vaapi patched Chromium (chromium-vaapi, ungoogled-chromium, etc).
This week I got sick of seeing 50-60fps in Steam so I decided to upgrade. I initially grabbed a Vega 56 on special offer (£270 with £75 worth of games) but then realised it didn’t support VP9 offloading, at all. I exchanged the card for an EVGA RTX 2060 XC Gaming 6GB ‘knowing’ that my 1050Ti had worked flawlessly so far.
Unfortunately, despite a lovely bump in FPS on Steam, VP9 isn’t accelerated at all in Chromium any more. Every time I play a YouTube video with VP9, Chromium reports that it’s using vpxdecoder and CPU usage is around 12%. If I switch to x264/mp4 Chromium reports MojoDecoder or GPU Decoder and CPU usage drops to around 1%-2%.
I have tried everything I can think of. The three newest Nvidia drivers (i.e. since support was added for the 2060), switching browser (chromium-vaapi to saiarcot895’s patched chromium-dev, to ungoogled-chroimum. I tried Ubuntu 18.04, Ubuntu 18.10, Pop!_OS 18.04 and 18.10 (it comes pre-installed with the proprietary Nvidia drivers), Arch Linux with nvidia-418, Manjaro, you name it. All bare metal installs, all set up the same way that works with the 1050Ti. Nothing works, and I’m starting to doubt my sanity.
Does anyone have any ideas please?
Machine specs:
Intel Core i7 8700k running at 5GHz all core @ 1.325v
32GB TeamGroup 8Pack Edition DDR4 3400MHz cl16 RAM running at 4133MHz @ 1.4v
Asus RoG Maximus X Hero
EVGA GeForce RTX 2060 XC GAMING, 6GB GDDR6, HDB Fan Graphics Card
Samsung Evo 960 250GB NVMe SSD
Output from vainfo:
$ vainfo
vainfo: VA-API version: 1.4 (libva 2.4.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
Output from vdpauinfo:
$ vdpauinfo
display: :0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 418.56 Fri Mar 15 12:31:51 CDT 2019
Video surface:
name width height types
-------------------------------------------
420 8192 8192 NV12 YV12
422 8192 8192 UYVY YUYV
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 0 65536 4096 4096
MPEG2_SIMPLE 3 65536 4096 4096
MPEG2_MAIN 3 65536 4096 4096
H264_BASELINE 51 65536 4096 4096
H264_MAIN 51 65536 4096 4096
H264_HIGH 51 65536 4096 4096
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
DIVX4_QMOBILE 0 8192 2048 2048
DIVX4_MOBILE 0 8192 2048 2048
DIVX4_HOME_THEATER 0 8192 2048 2048
DIVX4_HD_1080P 0 8192 2048 2048
DIVX5_QMOBILE 0 8192 2048 2048
DIVX5_MOBILE 0 8192 2048 2048
DIVX5_HOME_THEATER 0 8192 2048 2048
DIVX5_HD_1080P 0 8192 2048 2048
H264_CONSTRAINED_BASELINE 51 65536 4096 4096
H264_EXTENDED 51 65536 4096 4096
H264_PROGRESSIVE_HIGH 51 65536 4096 4096
H264_CONSTRAINED_HIGH 51 65536 4096 4096
H264_HIGH_444_PREDICTIVE 51 65536 4096 4096
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 32768 32768
R8G8B8A8 32768 32768
R10G10B10A2 32768 32768
B10G10R10A2 32768 32768
A8 32768 32768
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 y
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -
parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 1 8192
VIDEO_SURFACE_HEIGHT y 1 8192
CHROMA_TYPE y
LAYERS y 0 4
attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y
I have nvidia-settings, nvidia-utils, libva-vdpau-driver-chromium (for Arch only) installed, and the ‘usual’ extras like ffnvcodec-headers (Arch), libvdpau-va-gl, libvdpau, mesa-vdpau etc.
On Windows, incidentally, Task Manager shows video decode at ‘something’ percent while playing H264 on YouTube but video decode at 0% when playing the same video with VP9.
Is this a driver issue (missing compiler flag etc), are the drivers just ‘too new’ and not fully ready yet? Or something else I’m oblivious to? Please don’t assume I’m anything but vaguely familiar with Nvidia. I passed up on a Vega 56 at half the price of the 2060 because ‘hey, Nvidia decodes VP9 in hardware’… I’m feeling somewhat frustrated atm. I could plug back in my 1050Ti, return the 2060 and this problem goes away. I could also go back to Vega at half the price (almost) and still have no hardware VP9 if this isn’t something I can fix. That surely isn’t right! I’m hoping it’s something simple like drivers, but as I said the release notes suggested they’d been fully implemented which isn’t filling me with hope.
Thanks in advance for reading, and to anyone who can help with replies.