No Hardware-Encoding with Nvidia RTX 2060S
Your system information
- Steam client version (build number or date): Apr 04, 2020
- Distribution (e.g. Ubuntu): Devuan Unstable (Debian without SystemD)
- Opted into Steam client beta?: Tried both.
- Have you checked for system updates?: Yes
Please describe your issue in as much detail as possible:
Video encoding happens in software instead of hardware as can be seen by slight delay when playing and the log file:
"CaptureDescriptionID" "Desktop OpenGL NV12 + libx264 main (4 threads)"
It is activated in the Advanced Host Options, i tried with NVFBC turned on and off (no difference).
This is the list of installed Nvidia packages:
ii glx-alternative-nvidia 1.1.0 amd64 allows the selection of NVIDIA as GLX provider
ii libegl-nvidia0:amd64 440.64-2 amd64 NVIDIA binary EGL library
ii libegl-nvidia0:i386 440.64-2 i386 NVIDIA binary EGL library
ii libgl1-nvidia-glvnd-glx:amd64 440.64-2 amd64 NVIDIA binary OpenGL/GLX library (GLVND variant)
ii libgl1-nvidia-glvnd-glx:i386 440.64-2 i386 NVIDIA binary OpenGL/GLX library (GLVND variant)
ii libgles-nvidia1:amd64 440.64-2 amd64 NVIDIA binary OpenGL|ES 1.x library
ii libgles-nvidia1:i386 440.64-2 i386 NVIDIA binary OpenGL|ES 1.x library
ii libgles-nvidia2:amd64 440.64-2 amd64 NVIDIA binary OpenGL|ES 2.x library
ii libgles-nvidia2:i386 440.64-2 i386 NVIDIA binary OpenGL|ES 2.x library
ii libglx-nvidia0:amd64 440.64-2 amd64 NVIDIA binary GLX library
ii libglx-nvidia0:i386 440.64-2 i386 NVIDIA binary GLX library
ii libnvidia-cbl:amd64 440.64-2 amd64 NVIDIA binary Vulkan ray tracing (cbl) library
ii libnvidia-cfg1:amd64 440.64-2 amd64 NVIDIA binary OpenGL/GLX configuration library
ii libnvidia-eglcore:amd64 440.64-2 amd64 NVIDIA binary EGL core libraries
ii libnvidia-eglcore:i386 440.64-2 i386 NVIDIA binary EGL core libraries
ii libnvidia-encode1:amd64 440.64-2 amd64 NVENC Video Encoding runtime library
ii libnvidia-fatbinaryloader:amd64 440.64-2 amd64 NVIDIA FAT binary loader
ii libnvidia-fatbinaryloader:i386 440.64-2 i386 NVIDIA FAT binary loader
ii libnvidia-glcore:amd64 440.64-2 amd64 NVIDIA binary OpenGL/GLX core libraries
ii libnvidia-glcore:i386 440.64-2 i386 NVIDIA binary OpenGL/GLX core libraries
ii libnvidia-glvkspirv:amd64 440.64-2 amd64 NVIDIA binary Vulkan Spir-V compiler library
ii libnvidia-glvkspirv:i386 440.64-2 i386 NVIDIA binary Vulkan Spir-V compiler library
ii libnvidia-ml1:amd64 440.64-2 amd64 NVIDIA Management Library (NVML) runtime library
ii libnvidia-ptxjitcompiler1:amd64 440.64-2 amd64 NVIDIA PTX JIT Compiler
ii libnvidia-ptxjitcompiler1:i386 440.64-2 i386 NVIDIA PTX JIT Compiler
ii libnvidia-rtcore:amd64 440.64-2 amd64 NVIDIA binary Vulkan ray tracing (rtcore) library
rc libxvmcnvidia1:amd64 304.125-1 amd64 NVIDIA binary XvMC library
ii nvidia-alternative 440.64-2 amd64 allows the selection of NVIDIA as GLX provider
ii nvidia-driver 440.64-2 amd64 NVIDIA metapackage
ii nvidia-driver-bin 440.64-2 amd64 NVIDIA driver support binaries
ii nvidia-driver-libs:amd64 440.64-2 amd64 NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)
ii nvidia-driver-libs:i386 440.64-2 i386 NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)
ii nvidia-driver-libs-i386:i386 440.64-2 i386 NVIDIA metapackage (OpenGL/GLX/EGL/GLES 32-bit libraries)
ii nvidia-egl-common 440.64-1 amd64 NVIDIA binary EGL driver - common files
ii nvidia-egl-icd:amd64 440.64-2 amd64 NVIDIA EGL installable client driver (ICD)
ii nvidia-egl-icd:i386 440.64-2 i386 NVIDIA EGL installable client driver (ICD)
ii nvidia-installer-cleanup 20151021+11 amd64 cleanup after driver installation with the nvidia-installer
rc nvidia-kernel-3.16.0-4-amd64 340.96+1+1+3.16.7-ckt20-1 amd64 NVIDIA binary kernel module for Linux 3.16.0-4-amd64
rc nvidia-kernel-3.2.0-4-amd64 304.131+1+1+3.2.73-2 amd64 NVIDIA binary kernel module for Linux 3.2.0-4-amd64
ii nvidia-kernel-common 20151021+11 amd64 NVIDIA binary kernel module support files
ii nvidia-kernel-dkms 440.64-1 amd64 NVIDIA binary kernel module DKMS source
ii nvidia-kernel-support 440.64-2 amd64 NVIDIA binary kernel module support files
rc nvidia-legacy-390xx-alternative 390.87-1 amd64 allows the selection of NVIDIA as GLX provider (390xx legacy version)
ii nvidia-legacy-check 440.64-1 amd64 check for NVIDIA GPUs requiring a legacy driver
ii nvidia-modprobe 440.44-1 amd64 utility to load NVIDIA kernel modules and create device nodes
ii nvidia-persistenced 440.44-1 amd64 daemon to maintain persistent software state in the NVIDIA driver
ii nvidia-settings 440.64-1 amd64 tool for configuring the NVIDIA graphics driver
ii nvidia-smi 440.64-2 amd64 NVIDIA System Management Interface
ii nvidia-support 20151021+11 amd64 NVIDIA binary graphics driver support files
ii nvidia-vdpau-driver:amd64 440.64-2 amd64 Video Decode and Presentation API for Unix - NVIDIA driver
ii nvidia-vulkan-common 440.64-1 amd64 NVIDIA Vulkan driver - common files
ii nvidia-vulkan-icd:amd64 440.64-2 amd64 NVIDIA Vulkan installable client driver (ICD)
ii nvidia-vulkan-icd:i386 440.64-2 i386 NVIDIA Vulkan installable client driver (ICD)
ii xserver-xorg-video-nvidia 440.64-2 amd64 NVIDIA binary Xorg driver
This is the output of vdpauinfo:
display: :0.0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 440.64 Fri Feb 21 00:41:34 UTC 2020
Video surface:
name width height types
-------------------------------------------
420 8192 8192 NV12 YV12
422 8192 8192 UYVY YUYV
444 8192 8192 NV24 YV24
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
VP9_PROFILE_0 1 262144 8192 8192
VP9_PROFILE_1 --- not supported ---
VP9_PROFILE_2 --- not supported ---
VP9_PROFILE_3 --- not supported ---
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 153 262144 8192 8192
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
This is the output of vainfo:
libva info: VA-API version 1.6.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.6 (libva 2.6.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
Thank you for your help!
I have found the problem and a workaround. Apparently steam is using the system's ffmpeg for video-encoding. But for hardware-acceleration only the h264_nvenc encoder is tried (not vdpau or va). NVENC has been removed from Debian, so the system's ffmpeg no longer supports this.
Workaround by me: install ffmpeg from http://www.deb-multimedia.org/ (this is still built with NVENC support).
Workaround by you: ship own ffmpeg. FIX by you: Simply use libva instead?
I am actually not sure whether FFMPEG is the important package, but it is necessary to add the debian multimedia repo and replace the system media libraries with versions from there.
Hello @h-2, are you still experiencing this issue on an up to date system?
Closing pending feedback.