I'd like to simply show a testsource using gstreamer-1.0.
When I use (I guess) non-accelerated output gst-launch-1.0 videotestsrc ! xvimagesink
everything works find, but when I try to play it like gst-launch-1.0 videotestsrc ! autovideosink
I get the following error:
Setting pipeline to PAUSED ...
libva info: VA-API version 0.35.0
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 153 (DRI2)
Minor opcode of failed request: 1 (DRI2Connect)
Serial number of failed request: 15
Current serial number in output stream: 15
I've installed NVIDIA-Linux-x86_64-367.44.run
on Ubuntu 14.04.5
as follows:
- Remove old drivers:
sudo apt-get remove --purge nvidia*
- Blacklist the old driver by the run script (It asks you to do so, quit after it)
- Reboot
- Stop the services:
service lightdm stop && service x11-common stop
- Install the driver:
./NVIDIA-Linux-x86_64-367.44.run --no-x-check
- Installed VA stuff concerning https://wiki.ubuntuusers.de/Video-Dekodierung_beschleunigen/:
sudo apt-get install libvdpau1 vdpauinfo vdpau-va-driver vainfo
- Reboot
Here are some helpful outputs, which still deliver errors:
$ lspci -nnk | grep -i VGA -A2
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK106 [GeForce GTX 660] [10de:11c0] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:354e]
Kernel driver in use: nvidia
$ vainfo
libva info: VA-API version 0.35.0
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 153 (DRI2)
Minor opcode of failed request: 1 (DRI2Connect)
Serial number of failed request: 11
Current serial number in output stream: 11
$ glxinfo
name of display: localhost:10.0
X Error of failed request: GLXBadContext
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 20
Current serial number in output stream: 20
$ uname -a
Linux alpia 4.4.0-38-generic #57~14.04.1-Ubuntu SMP Tue Sep 6 17:20:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ cat /var/log/Xorg.0.log | grep driver
[ 127.579] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 127.579] X.Org XInput driver : 22.1
[ 127.786] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 128.733] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 128.815] ABI class: X.Org XInput driver, version 22.1
[ 128.815] (II) Using input driver 'evdev' for 'Power Button'
[ 128.830] (II) Using input driver 'evdev' for 'Power Button'
[ 128.831] (II) No input driver specified, ignoring this device.
[ 128.831] (II) No input driver specified, ignoring this device.
[ 128.831] (II) No input driver specified, ignoring this device.
[ 128.831] (II) No input driver specified, ignoring this device.
[ 128.832] (II) No input driver specified, ignoring this device.
[ 128.832] (II) No input driver specified, ignoring this device.
[ 128.832] (II) No input driver specified, ignoring this device.
[ 128.832] (II) No input driver specified, ignoring this device.
[ 128.832] (II) No input driver specified, ignoring this device.
[ 128.832] (II) No input driver specified, ignoring this device.
[ 128.833] (II) No input driver specified, ignoring this device.
[ 128.833] (II) No input driver specified, ignoring this device.
[ 128.833] (II) Using input driver 'evdev' for 'DELL Dell USB Entry Keyboard'
[ 128.833] (II) Using input driver 'evdev' for 'USB Optical Mouse'
[ 128.834] (II) No input driver specified, ignoring this device.
Does anybody have a hint? I know that it worked once with this PC following the instructions, but now something seems to be broken.
Fixed it by reverting everything to stock ubuntu, but video acceleration does still not work:
sudo ./NVIDIA-Linux-x86_64-xxx.xx.run --uninstall
dpkg -l
): nvidia, cuda, primus, vdpau-va-driver, vainfo, libvdpau1, vdpauinfo/etc/modprobe.d
sudo X -configure && sudo cp xorg.conf.new /etc/X11/xorg.conf
mesa-vdpau-drivers-lts-<your release>
autoconvert
orautovideosink
are used:sudo apt-get remove gstreamer1.0-vaapi gstreamer1.0-vaapi-doc libgstreamer-vaapi1.0-0:amd64 libgstreamer-vaapi1.0-dev
Now, the test programs
glxinfo
andglxgears
work again as expected.Anyway: The unsuccessful try: I still do not know why the VA stuff does not work with the original driver even when using the official ppa:
glxinfo
andglxgears
works, butvainfo
andvdpauinfo
still output errors. I managedvdpauinfo
to output something other than an error by using themesa
drivers and exporting (If the variables point to the proprietary driver, it wont work):But this is just the display driver, right. So I need to tell VA API, that it has to use
vdpau
like this (?):But in that case,
vainfo
only replies with errors, no matter which driver name I chose.If anyone knows how to make it work, please help. But for now, gstreamer works again (but with high CPU load).
Here are some Links: