Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Multimedia
  • Search

Vdpau Not Working with Nvidia-Drivers (All Versions)

Help with creation, editing, or playback of sounds, images, or video. Amarok, audacious, mplayer, grip, cdparanoia and anything else that makes a sound or plays a video.
Post Reply
Advanced search
9 posts • Page 1 of 1
Author
Message
F. Russell
n00b
n00b
Posts: 14
Joined: Thu Oct 12, 2017 2:09 pm

Vdpau Not Working with Nvidia-Drivers (All Versions)

  • Quote

Post by F. Russell » Thu Oct 12, 2017 2:40 pm

Hello,

I used to have an Nvidia card based on the legacy GT 210 GPU. Everything, including vdpau, functioned normally with the legacy nvidia-drivers propritary blobs.

However, the legacy nvidia-drivers, that is versions up to 340.104, are having problems building with latest kernels (4.10+). Because of this, I acquired a new Nvidia card, based on the GT 710 GPU, that works with the newest nvidia-drivers. Currently I am using the latest nvidia-drivers-384.90.

With the new GT 710 card, everything seems to function normally except vdpau is broken. Playing a video with mplayer
gives the following error message:

[vdpau] Error when calling vdp_device_create_x11: 1
Error opening/initializing the selected video_out (-vo) device.

Also, vdpauinfo shows only this:

display: :0 screen: 0
Error creating VDPAU device: 1

I emerged all previous nvidia-drivers versions back to 375.82 and all produced the same results.

AFAIK, there is incrrect about my system. Libvdpau is installed as are the nvidia libraries.
(Nothing has changed sinced vdpau was working with the previous GT 210 card.)

There are similar reports on various forums about broken vdpau, but all claim that the problem
is fixed with version 384.90. An example is here:

https://devtalk.nvidia.com/default/topi ... roke-vdpau

How can I debug this problem further?

Has anyone experienced the same problem?

Beyond the broken vdpau everything else seems fine. i can play videos with the xv device.
F. Russell
Top
duby2291
Guru
Guru
User avatar
Posts: 583
Joined: Sun Oct 17, 2004 4:47 am

  • Quote

Post by duby2291 » Thu Oct 12, 2017 4:14 pm

I may actually be misunderstanding, I'm not sure, but I was under the impression nvidia replaced vdpau with nvenc such that nvenc does everything vdpau can plus much more and so they removed vdpau from their proprietary driver. I don't think it's even been in the driver for a few years now.

You might find this reference useful maybe.
https://developer.nvidia.com/video-enco ... ort-matrix
Top
F. Russell
n00b
n00b
Posts: 14
Joined: Thu Oct 12, 2017 2:09 pm

  • Quote

Post by F. Russell » Thu Oct 12, 2017 4:45 pm

duby2291 wrote:I was under the impression nvidia replaced vdpau with nvenc
Nvev is completely separate from vdpau, which has been renamed to PureVideo.

The nvidia-drivers-384.90 contains the shared libraries, libvdpau_nvidia.so*, that have the necessary routines to implement vdpau.
F. Russell
Top
F. Russell
n00b
n00b
Posts: 14
Joined: Thu Oct 12, 2017 2:09 pm

  • Quote

Post by F. Russell » Thu Oct 12, 2017 5:52 pm

To see if I could get some better error output I tried the mpv video player:

mpv -hwdec=vdpau -vo=opengl video_file

...
[vo/opengl] Loading hwdec driver 'vdpau-glx'
[vo/opengl/vdpau-glx] Error when calling vdp_device_create_x11: 1
[vo/opengl] Loading failed.
[vo/opengl] Reported display depth: 8
[vo/opengl] Assuming 75.028582 FPS for display sync.
[vd] Container reported FPS: 29.970030
[vd] Codec list:
[vd] h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd] h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening video decoder h264
[vd] Probing 'vdpau'...
[vo/opengl] Loading hwdec driver 'vdpau-glx'
[vo/opengl/vdpau-glx] Error when calling vdp_device_create_x11: 1
[vo/opengl] Loading failed.
[vd] VO does not support requested hardware decoder, or loading it failed.
[vd] Using software decoding.
...

What is this "vdpau-glx?"

Apparently, some piece of software is missing or incomplete on my system since the hardware decoders have been identified by mpv.
F. Russell
Top
duby2291
Guru
Guru
User avatar
Posts: 583
Joined: Sun Oct 17, 2004 4:47 am

  • Quote

Post by duby2291 » Thu Oct 12, 2017 6:35 pm

F. Russell wrote:To see if I could get some better error output I tried the mpv video player:

mpv -hwdec=vdpau -vo=opengl video_file

...
[vo/opengl] Loading hwdec driver 'vdpau-glx'
[vo/opengl/vdpau-glx] Error when calling vdp_device_create_x11: 1
[vo/opengl] Loading failed.
[vo/opengl] Reported display depth: 8
[vo/opengl] Assuming 75.028582 FPS for display sync.
[vd] Container reported FPS: 29.970030
[vd] Codec list:
[vd] h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd] h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening video decoder h264
[vd] Probing 'vdpau'...
[vo/opengl] Loading hwdec driver 'vdpau-glx'
[vo/opengl/vdpau-glx] Error when calling vdp_device_create_x11: 1
[vo/opengl] Loading failed.
[vd] VO does not support requested hardware decoder, or loading it failed.
[vd] Using software decoding.
...

What is this "vdpau-glx?"

Apparently, some piece of software is missing or incomplete on my system since the hardware decoders have been identified by mpv.
Well, if vdpau support does truly still exist in nvidia's driver, then I'm interpreting mpv's man page a bit different then you did.
https://mpv.io/manual/master/#video-output-drivers

If I'm interpreting it right, then -vo should be vdpau. I think all you need is something like "mpv -vo=vdpau video-file"
Top
F. Russell
n00b
n00b
Posts: 14
Joined: Thu Oct 12, 2017 2:09 pm

  • Quote

Post by F. Russell » Thu Oct 12, 2017 8:37 pm

duby2291 wrote: If I'm interpreting it right, then -vo should be vdpau. I think all you need is something like "mpv -vo=vdpau video-file"
That is another option but it fails and gives even less error messages:

mpv -vo=vdpau video_file

[vo/vdpau] Error when calling vdp_device_create_x11: 1
Error opening/initializing the selected video_out (--vo) device.
Video: no video

A Gentoo bug report about a similar problem is here:

https://bugs.gentoo.org/629044
F. Russell
Top
duby2291
Guru
Guru
User avatar
Posts: 583
Joined: Sun Oct 17, 2004 4:47 am

  • Quote

Post by duby2291 » Thu Oct 12, 2017 8:43 pm

F. Russell wrote:
duby2291 wrote: If I'm interpreting it right, then -vo should be vdpau. I think all you need is something like "mpv -vo=vdpau video-file"
That is another option but it fails and gives even less error messages:

mpv -vo=vdpau video_file

[vo/vdpau] Error when calling vdp_device_create_x11: 1
Error opening/initializing the selected video_out (--vo) device.
Video: no video

A Gentoo bug report about a similar problem is here:

https://bugs.gentoo.org/629044
Yep that does seem like the one. But after reading it, I wondering why the older drivers shouldn't work? Unless it's a longstanding issue that was only recently recognized? I doubt that is it at all. Sorry I couldn't help, I don't think I understand this one.
Top
F. Russell
n00b
n00b
Posts: 14
Joined: Thu Oct 12, 2017 2:09 pm

  • Quote

Post by F. Russell » Sat Oct 14, 2017 12:24 am

I doubt that this problem will ever be solved. So far I have seen no reports anywhere of an identical problem and if it is more than just some bizzare fluke that only affects my system one would expect to find a lot of complaints.

But for whatever it may be worth, I did an strace on mplayer and think that I've located the source of the error. Here is the relevant portion of the strace outpt:

Code: Select all

open("/usr/lib64/vdpau/libvdpau_nvidia.so.1", O_RDONLY|O_CLOEXEC) = 5
read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360k\0\0\0\0\0\0"..., 832) = 832
lseek(5, 703848, SEEK_SET)              = 703848
read(5, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\3\0\0\0c\0\0\0", 32) = 32
fstat(5, {st_mode=S_IFREG|0755, st_size=1922832, ...}) = 0
mmap(NULL, 4025184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fa615eca000
mprotect(0x7fa615f76000, 2097152, PROT_NONE) = 0
mmap(0x7fa616176000, 1220608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xac000) = 0x7fa616176000
mmap(0x7fa6162a0000, 2912, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa6162a0000
close(5)                                = 0
mmap(NULL, 3059712, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa615bdf000
open("/proc/modules", O_RDONLY)         = 5
fstat(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(5, "snd_hda_codec_realtek 69632 1 - "..., 1024) = 1024
close(5)                                = 0
open("/proc/driver/nvidia/params", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(5, "Mobile: 4294967295\nResmanDebugLe"..., 1024) = 492
close(5)                                = 0
stat("/dev/nvidiactl", {st_mode=S_IFCHR|0660, st_rdev=makedev(195, 255), ...}) = 0
open("/dev/nvidiactl", O_RDWR)          = 5
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
ioctl(5, _IOC(_IOC_READ|_IOC_WRITE, 0x46, 0xd2, 0x48), 0x7ffe1aac6500) = -1 EINVAL (Invalid argument)
close(5)                                = 0
write(2, "[vdpau] Error when calling vdp_d"..., 52) = 52
write(2, "Error opening/initializing the s"..., 64) = 64
Note that "/proc/driver/nvidia/params" is opened and read to find some parameters and then "/dev/nvidiactl" is opened and an ioctl() call is made which returns and "Invalid Argument." This then leads to the mplayer error output.

So this point seems to be source of the problem.

Could this indicate that incorrect paramets are found in "/proc/driver/nvidia/params?"

Maybe someone with more experience in this area can shed some light.

[Moderator edit: added [code] tags to preserve output layout. -Hu]
F. Russell
Top
F. Russell
n00b
n00b
Posts: 14
Joined: Thu Oct 12, 2017 2:09 pm

[Solved]

  • Quote

Post by F. Russell » Sat Oct 14, 2017 1:00 am

The problem is solved.

For some reason, I had never looked at the kernel log. But after checking the kernel log for any relevant messages I found the motherload:

Code: Select all

kernel: NVRM: API mismatch: the client has the version 340.102, but
kernel: NVRM: this kernel module has the version 384.90.  Please
kernel: NVRM: make sure that this kernel module and all NVIDIA driver
kernel: NVRM: components have the same version.
Doing a search for something that was related to the 340.102 driver, I found a single shared object library in /usr/lib64/vdpau. Why this file was not removed during the emerge process I cannot answer, but the removal of this leftover shared object and a re-emerge of libvdpau did the trick. Now mplayer can use the GT 710 vfpau capabilities.

I thank all those who read and responded. Unfortunately it turned out to be somewhat of a false alarm.

Still, the emerge program from portage should have cleaned out all files from the previous version. Is this not correct?

[Moderator edit: added [code] tags to preserve output layout. -Hu]
F. Russell
Top
Post Reply

9 posts • Page 1 of 1

Return to “Multimedia”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic