opensuse 13.2 nvidia geforce 845M driver nouveau = no codecs for decode H264 with vlc, kaffeine, ...

Hello all,
freshly install opensuse 13.2 on dell laptop 7746
with two video cards : nvidia geforce 845M and Intel Integrated Graphics

# lspci -nnk | egrep -A2 'VGA|NVI'
00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09)
        Subsystem: Dell Device [1028:0692]
        Kernel driver in use: i915
--
08:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1344] (rev a2)
        Subsystem: Dell Device [1028:0692]
        Kernel modules: nouveau
linux-vi1c:/var/log # 

I have installed package from packman-essentials

$ zypper lr
#  | Alias                     | Nom                                | Activé | Rafraîchir
---+---------------------------+------------------------------------+--------+-----------
 1 | ftp.gwdg.de-suse          | Packman Repository                 | Non    | Oui       
 2 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Oui    | Non       
 3 | opensuse-guide.org-repo   | libdvdcss repository               | Oui    | Oui       
 4 | packman-essentials        | packman-essentials                 | Oui    | Oui       
 5 | packman-extra             | packman-extra                      | Oui    | Non       
 6 | packman-games             | packman-games                      | Oui    | Non       
 7 | packman-multimedia        | packman-multimedia                 | Oui    | Oui       
 8 | repo-debug                | openSUSE-13.2-Debug                | Non    | Oui       
 9 | repo-debug-update         | openSUSE-13.2-Update-Debug         | Non    | Oui       
10 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Non    | Oui       
11 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Oui    | Oui       
12 | repo-oss                  | openSUSE-13.2-Oss                  | Oui    | Oui       
13 | repo-source               | openSUSE-13.2-Source               | Non    | Oui       
14 | repo-update               | openSUSE-13.2-Update               | Oui    | Oui       
15 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Oui    | Oui  
linux-vi1c:/var/log # zypper se -s codec | grep ^i
i | libgstcodecparsers-1_0-0                   | package     | 1.4.5-81.1                  | x86_64 | packman-essentials  
i | vlc-codecs                                 | package     | 2.2.1-269.3                 | x86_64 | packman-essentials  
i | libavcodec56                               | package     | 2.6.1-2.1                   | x86_64 | packman-essentials  
i | libxine2-codecs                            | package     | 1.2.6-93.5                  | x86_64 | packman-essentials  
i | k3b-codecs                                 | package     | 2.0.80+git20150209.2250-1.3 | x86_64 | packman-essentials  
i | GStreamer Multimedia Codecs                | application |                             | noarch | (System Packages)   
linux-vi1c:/var/log # zypper se -s vlc | grep ^i
i | libvlc6                         | package    | 3.0.0+git2882-1.4 | x86_64 | packman-essentials  
i | vlc-codecs                      | package    | 2.2.1-269.3       | x86_64 | packman-essentials  
i | vlc-noX                         | package    | 2.2.1-269.3       | x86_64 | packman-essentials  
i | vlc-qt                          | package    | 2.2.1-269.3       | x86_64 | packman-essentials  
i | vlc                             | package    | 2.2.1-269.3       | x86_64 | packman-essentials  
i | libvlccore8                     | package    | 2.2.1-269.3       | x86_64 | packman-essentials  
i | libvlccore9                     | package    | 3.0.0+git2882-1.4 | x86_64 | packman-essentials  
i | libvlc5                         | package    | 2.2.1-269.3       | x86_64 | packman-essentials  
i | vlc-noX-lang                    | package    | 2.2.1-269.3       | noarch | packman-essentials
$ zypper se -s vdpau | grep ^i
i | libvdpau1               | paquet        | 0.8-2.1.5     | x86_64 | openSUSE-13.2-Oss   
i | libvdpau1               | paquet        | 0.8-2.1.5     | x86_64 | openSUSE-13.2-0     
i | libvdpau_nouveau        | paquet        | 10.3.7-91.6.1 | x86_64 | openSUSE-13.2-Update
i | vdpau-video             | paquet        | 0.7.4-2.1     | x86_64 | packman-essentials  

My problem : VLC not able to play h264 video.
The screen is black … sound is ok …
Thanks for your help :slight_smile:

Remove vdpau-video. You seem to have an Optimus system, which means the system is running on the intel chip.
But vdpau-video redirects VA-API (intel’s hardware decoding interface) to VDPAU (nvidia’s hardware decoding interface), which makes no sense in your case as it is not supported by intel.
And if you also have libvdpau_va_gl1 installed, this will redirect VDPAU to VA-API again, which would cause even more problems obviously as you get in an endless loop.

If uninstalling vdpau-video doesn’t help, try to remove libvdpau_va_gl1 as well. At least on some intel systems this seems to have problems at the moment. And you don’t really need it as VLC and xine support VA-API directly anyway.

As well (if I’m incorrect, please correct me), it seems to me that you don’t need those extra pacman repositories - you only need the main one (the first one listed in your post).

That is correct, yes. That full repo is a “shortcut” to adding the other 4 (#4-#7 in the list). It contains all packages that are in the other 4 repos.

But the first one is not active. You’d have to activate it, then you can remove the other 4.

If you don’t want to do that, you should probably activate auto-refresh for “packman-extra” and “packman-games” though. You’ll have problems otherwise when the repos are updated.

Thanks wolfi323. I was having similar issues with VLC not playing the video of some mp4s. I uninstalled libvdpau_va_gl1 and the problem was fixed.