Seven months after the VideoLAN team released version 2.1.5 of their VLC player, we are treated to two new releases. There is a version 2.1.6 bugfix release, but that is not really getting attention. Everybody’s eyes are focused on the brand new 2.2.0 release. For the first time in the history of the VideoLAN Client, nowadays better known as the VLC player, there are simultaneous releases for most Operating Systems, including Android, iOS, Windows RT and Windows Phone. Of course there’s a release for Linux too (ok… and Windows) so I built you all some packages for Slackware (compatible with 14.1 and -current).
The 2.2.0 release has been (very) long in the making. With nothing really exciting going on for many months – at least not publicly – I spent my time on other things and left the VideoLAN developers to do what they do best: release good software when it’s ready. A commendable philosophy, obviously they have eyes on Slackware as the shining example of releasing when ready, not before 🙂
A month ago, I took some time to check out the ongoing development because the number of show-stopping bugs had almost gone down to zero. I refreshed many internal support libraries, polished the vlc.SlackBuild and tested a git version of the player. Looked good! Most of the open bugs and remaining things to be done were not relevant to Linux anyway. Therefore it took no time at all to build packages for the official 2.2.0 release once that was announced yesterday afternoon.
I had a busy saturday, so the blog post took a while, but those of you who check the repository’s RSS feeds or are using slackpkg+ will already have seen the new packages yesterday.
What’s new in 2.2.0 apart from cross-platform support? There’s enhancements all over the spectrum: video decoding, encoding, supported formats etc. Here are some of the highlights taken from the official release notes that are relevant to the Linux player:
- GPU 0-copy decoding-rendering for Linux using VDPAU
- Improved support for UltraHD codecs, H.265 and VP9
- Resume playback where you left off
- Subtitles download from the web, using OpenSubtitles
- Support for BD-Java menus and overlay in Blu-Ray
- Acceleration of VP9 and H.265/HEVC decoders
- Support for encoding in H.265, Opus and VP9
- Rewritten support for WMV, Ogg, MP4 and AVI, notably for seeking
But under the hood there’s a lot more going on than these buzzwords can do justice. The team have indeed delivered a tremendous job. considering that this is an all-volunteer project.
Where to find the new VLC packages:
- http://slackware.com/~alien/slackbuilds/vlc/ (only containing the versions that do not violate US patents). This repository is mirrored at http://taper.alienbase.nl/mirrors/people/alien/slackbuilds/vlc/ . If you want to play encrypted DVD’s please install the libdvdccss package separately.
- http://taper.alienbase.nl/mirrors/people/alien/restricted_slackbuilds/vlc/ (alternative repository containing packages capable of AAC/MP3 encoding and encrypted DVD playback).
Rsync access is offered by the mirror server: rsync://taper.alienbase.nl/mirrors/people/alien/restricted_slackbuilds/vlc/ .
For BluRay support, read a previous article for hints about the aacs keys that you’ll need.
Note that I only built packages for Slackware 14.1 & -current. I stopped creating packages for Slackware 14.0 and earlier because of the effort it takes to build 4 packages for every Slackware release. One remark: I compiled the packages on Slackware 14.1 which is the cause of one bug in the package if you use it on Slackware-current: the ProjectM visualisation plugin does not work because of a libGLEW library version error. I have not yet been able to find a fix for it, but the impact is fairly minor so I let it pass.
My usual warning about patents: versions that can not only DEcode but also ENcode mp3 and aac audio can be found in my alternative repository where I keep the packages containing code that might violate stupid US software patents.
Have fun! Eric
Just installed it!
Thank you Eric!
nice enough, on the official site, in the pre built packages for various linux systems. The slackware download options points to your packages Mr Eric. Also the warning about patents and the link to the restritect packages. Good to see your work recognized outside slackware community.
Thanks Eric! I love VLC.
Well, I wrote that VLC page myself, so surely I made it point to my own packages 😉
Thank you for this package.
While using it I noticed that the HW decoding was not working. Since you delegated it to VLC instead of ffmpeg, the former – with Automatic HW accelerated decoding – fails to find VDAU on my system (ASUS laptop Intel + NVidia video cards). If I force it to VA-API X11 or DRM then I see errors about missing symbols and, of course, no HW decoding. The solution was to re-enable in make_libva the fix to get rid of unresolved symbols at link time as below:
sed -i -e “/^Libs: /s/$/ -lX11 -lXext -lXfixes -ldrm -ldl/” \
and now at least VA-API X11 HW decoding works (VA API DRM has no more missing symbols but fails to initialize)
Hope this helps.
I don’t have a hybrid video card here, and VLC used VDPAU nicely for hardware decoding:
If that modification to the SlackBuild script make it work for you then I must certainly look into it. If it still works for me too, it is a good bug fix for hybrid card users.
manciuleas, I rebuilt the 64-bit vlc package with the changes you proposed, and hardware video decoding still works here. Do you want to try this package and report your findings?
You can find the new vlc package at http://taper.alienbase.nl/pool/ (it comes with an .asc file so you can do a gpg check to verify it is actually mine).
Unfortunately the package you provided didn’t work for me. The VA-API X11 module could not be loaded because of missing symbols. I wonder what could be different between our environments as I used your sources and build script with the change I mentioned.
manciuleas – what are the exact error messages you are getting? And what do you exactly enable in the player?
Here’s the error message:
[00007f94e0044c38] core generic warning: cannot load module `/usr/lib64/vlc/plugins/codec/libvaapi_x11_plugin.so’ (/usr/lib64/vlc/plugins/codec/libvaapi_x11_plugin.so: undefined symbol: XextFindDisplay)
[00007f94e0044c38] core generic error: corrupt module: /usr/lib64/vlc/plugins/codec/libvaapi_x11_plugin.so
[00007f94e0044c38] core generic debug: no hw decoder modules matched
It’s the same message I got before recompiling your sources with my change.
The VLC settings to reproduce this error:
Settings -> Input/Codecs -> Hardware-accelerated video decoding: VA-API video decoder via X11
One way to avoid the missing symbol error message without recompiling is to LD_PRELOAD libXFixes, libXext and libdrm.
I failed to spot that you added some extra libraries in the line:
sed -i -e “/^Libs: /s/$/ -lX11 -lXext -lXfixes -ldrm -ldl/” \
and had just re-enabled the two commented-out lines in my vlc.SlackBuild
I am rebuilding vlc now and will let you know when I have refreshed the package.
I’m more of an mplayer guy myself, but VLC comes handy from time to time so I keep it installed.
Some bug in slackbuild?
make: Leaving directory `/tmp/build/tmp-vlc/vlc-2.2.0′
mv: cannot stat ‘/tmp/build/package-vlc/usr/share/doc/vlc/*’: No such file or directory
cp: cannot stat ‘HACKING’: No such file or directory
tar: *.diff: Cannot stat: No such file or directory
tar: *.patch: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
manciuleas, I have a again rebuilt the 64-bit vlc package, this time with the correct modification,
can you try out this package and report your findings again?
As before, the new vlc package can be downloaded from http://taper.alienbase.nl/pool/
tomjas if the script exits there you will probably have modified my vlc.SlackBuild.
Now HW decoding works fine.
Note to interested users having Intel integrated video that one must set the VA VAPI X11 driver explicitly in the VLC settings. Also, the VA-API drivers must be installed as well.
Do you have any news regarding the suspend/resume issue?
Thanks for testing the vlc package, I will upload these to my repository.
I have not had time to look at my KDE 5 issues this week. Too much going on at work.
I was just curious if you had any news regarding the KDE bug you reported. The suspend/resume/shutdown issue that we have seems to be deeper that just related to building/packaging.
manciuleas – this is an article concerning VLC. If you want to talk KDE then that’s for another article’s comment section…
Yes, you’re right, my bad.
Thanks, Eric. I did a fresh install for VLC. The only trick I have to do is that I need to choose sound output device from Audio –> Audio Device –> My output device. The default setting is disable all sample(playback).
Lee, unfortunately that is a VLC default choice, not mine. Once you pick ALSA it will be remembered.
It stumped me the first time too… no sound! Why? Until I checked the preferences.
alienbob – never changed your slackbuild. To be sure just downloaded again and there is the same failure.
Doesn’t disable xlock even if the option “Disable screensaver” is on.
slack – better create a VLC bug report then: http://www.videolan.org/support/#bugs
tomjas – the real compilation error is probably somewhere before the part that you showed here. Check the log of your compilation for other errors.
Just wanted to let you know that I had the same problem as manciuleas and the updated package fixed the problem. This is with a laptop using the NVIDIA binary blob.