Skip to content

Some Nvidia GPUs still supported by Nvidia lack hardware decoding capabilities #400

@Avamander

Description

@Avamander

Some GPUs such as the MX250 unfortunately lack NVDEC capabilities altogether.

Currently nvidia-vaapi-driver does not complain about this, nor does it throw an error. Returning an empty list of accelerated codecs causes bizarre symptoms, like videos not playing without an error. Which was rather annoying to debug.

vainfo output
Trying display: drm
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
      2804.007784274 [18206-18206] ../src/vabackend.c:2263       __vaDriverInit_1_0 Initialising NVIDIA VA-API Driver
      2804.007787864 [18206-18206] ../src/vabackend.c:2271       __vaDriverInit_1_0 Got DRM FD: 1 3
      2804.007812170 [18206-18206] ../src/vabackend.c:2283       __vaDriverInit_1_0 Now have 0 (0 max) instances
      2804.007815238 [18206-18206] ../src/vabackend.c:2310       __vaDriverInit_1_0 Selecting Direct backend
      2804.033220339 [18206-18206] ../src/direct/nv-driver.c: 305            init_nvdriver Initing nvdriver...
      2804.033256545 [18206-18206] ../src/direct/nv-driver.c: 323            init_nvdriver NVIDIA kernel driver version: 580.95.05, major version: 580, minor version: 95
      2804.033261050 [18206-18206] ../src/direct/nv-driver.c: 330            init_nvdriver Got dev info: 3c00 1 0 fe
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
      2804.104373740 [18206-18206] ../src/vabackend.c:2171              nvTerminate Terminating 0x62e9be0928e0
      2804.104440298 [18206-18206] ../src/vabackend.c:2185              nvTerminate Now have 0 (0 max) instances

I think it would be better to return that acceleration is not supported on these crappy chips that some laptops have. Ideally this would be explicitly logged when NVD_LOG is specified.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions