I upgraded VLC to 2.2.1 from packman, and now it segfaults when I try to run it. This is the last part of the terminal output:
[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/r600_drv_video.so
libva info: va_openDriver() returns -1
Segmentation fault
It’s true, I don’t have the driver it’s trying to open, and it doesn’t seem to be available in any of the normal repositories either. The closest thing I have is this: /usr/lib64/dri/r600_dri.so. I’m hesitant to start installing random packages when everything else is working fine, and even VLC was working this morning. Does someone know what I need to do?
Try to uninstall libvdpau_va_gl1.
This is mainly intended for intel systems, and it (the version in 13.2 at least) doesn’t seem to work too well with VLC.
For VLC it’s unnecessary anyway, as VLC supports VA-API directly.
Thanks! That helped a lot. VLC plays from the command line now at least. It complains about the missing file (“Failed to open VDPAU backend libvdpau_va_gl.so”), but it plays videos anyway. I have some problems with ISOs, but I will deal with that later.
The main problem I still have is that there is no gui. There is a message that is probably important:
skins2 interface error: no suitable dialogs provider found (hint: compile the qt4 plugin, and make sure it is loaded properly)
skins2 interface error: cannot instantiate qt4 dialogs provider
What plugin? I don’t know what this is about. I have vlc-qt installed, and the package dependencies were fine when I installed it. It seems odd that something would be missing. Still, I tried adding some other packages that were listed that sounded helpful: libvlc-qt-qml0_10, libvlc-qt-widgets0_10, and libvlc-qt0_10, but it didn’t make a difference. I’m stumped again.
$ zypper lr -d
# | Alias | Name | Enabled | Refresh | Priority | Type | URI | Service
---+---------------------------+------------------------------------+---------+---------+----------+----------+-----------------------------------------------------------------+--------
1 | Essentials | Essentials | Yes | No | 99 | rpm-md | http://mirror.pcbeta.com/packman/suse/openSUSE_13.2/Essentials/ |
2 | Multimedia | Multimedia | Yes | No | 99 | rpm-md | http://mirror.pcbeta.com/packman/suse/openSUSE_13.2/Multimedia/ |
3 | dvd | dvd | Yes | No | 99 | rpm-md | http://opensuse-guide.org/repo/13.2/ |
4 | google-chrome | google-chrome | Yes | No | 99 | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64 |
5 | openSUSE-13.2-0 | openSUSE-13.2-0 | Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-ATAPI_iHAS224_A |
6 | repo-debug | openSUSE-13.2-Debug | No | No | 99 | NONE | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ |
7 | repo-debug-update | openSUSE-13.2-Update-Debug | No | No | 99 | NONE | http://download.opensuse.org/debug/update/13.2/ |
8 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No | No | 99 | NONE | http://download.opensuse.org/debug/update/13.2-non-oss/ |
9 | repo-non-oss | openSUSE-13.2-Non-Oss | Yes | No | 99 | yast2 | http://download.opensuse.org/distribution/13.2/repo/non-oss/ |
10 | repo-oss | openSUSE-13.2-Oss | Yes | No | 99 | yast2 | http://download.opensuse.org/distribution/13.2/repo/oss/ |
11 | repo-source | openSUSE-13.2-Source | Yes | No | 99 | yast2 | http://download.opensuse.org/source/distribution/13.2/repo/oss/ |
12 | repo-update | openSUSE-13.2-Update | Yes | No | 99 | rpm-md | http://download.opensuse.org/update/13.2/ |
13 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes | No | 99 | rpm-md | http://download.opensuse.org/update/13.2-non-oss/ |
(I do have automatic refresh turned off, but I refreshed the repositories manually before upgrading to VLC.)
I did that, using the first two repos above, and it did fix my ISO problems! (Before, there was no sound, and the menus didn’t work right.) It didn’t do anything for the interface though. I still get the same error messages about the skins.
Well, the message indicates that VLC tries to use the skins2 interface (which doesn’t work here too).
Resetting the settings should have made it revert to Qt.
So apparently it doesn’t even recognize that the Qt plugin is installed I think…
(although this should be done automatically when you install any vlc package)
Try to remove ~/.cache/vlc and ~/.local/share/vlc too if they exist.
Check that the vlc-qt files are there and not corrupted:
rpm -V vlc-qt
(no output means that everything’s ok)
A question: does YaST work? If not you might have a problem with your Qt5 installation.
If all of the above doesn’t help, try to force the Qt interface in verbose mode and post all output:
vlc -vvv -I qt
And just to be sure: you are not trying to run VLC as root (via su or sudo), are you?
And you didn’t try to compile it yourself, right? (in that case there might be some left-overs in /usr/local/ causing problems)
No, I did not compile it myself, and I am not running as root. I recreated the plugin cache, and removed the cache and configuration files like you said. The rpm verification returned no output. YaST works fine. I used it to install VLC and switch to the other repo.
VLC doesn’t work if I try to force it to use the qt interface. It looks like something is wrong with the plugin or libraries:
I had 5.3.2 installed. Version 5.4.1 was available, so I updated libqt5*. That was what I needed to do. VLC works fine now. (I thought that this was the sort of trouble rpm-based systems were supposed to avoid.) Thank you wolfi323 for all your help and patience!
Well, the vlc-qt package doesn’t specify that it needs 5.4.1 at least. (actually it doesn’t, but as 5.4.1 has been released as update for 13.2, vlc on Packman has been rebuilt against that and doesn’t work with lower versions any more because of that)
Those library dependencies are determined by rpm automatically when building the package (it would not be manageable to add all of them manually), but it’s impossible to determine things like that in an automatic fashion.
And Qt is supposed to be backwards compatible, but not forwards compatible (like most libraries). I.e. applications built against an older version should work fine with a newer version, but not the other way round.
The only way to prevent something like this would be to change Packman to only build against plain 13.2 (no updates), but that would cause other problems.
OTOH, a library like Qt5 would normally not be upgraded from 5.3.x to 5.4.x via the standard update channel anyway, that’s against openSUSE’s update policy. But in this case an exception was made to be able to update KF5 and Plasma5.
But that libqt5 update has been released in May already. :
When did you last update your system?
You probably should not disable Auto-Refresh for the update repo…
Back when 13.2 came out. I wasn’t expecting a library change.
Oh, I know. But I am living in Mexico right now, and my Internet connection only works about 60% of the time. Sometimes the refresh takes half an hour per repo or fails entirely. For that reason, I do it manually when the connection seems to be working. That’s also why I don’t update often. It could easily fail halfway through the process. Modern tools just aren’t made for a connection like mine.