My VLC player crashes every time I'm trying to open any video file. Removing/purging vlc, and reinstalling it does not change anything.
I recently upgraded my distro to 20.04 from 19.10. I never had this problem on any other operating system before. I also tried to reinstall the whole operating system from scratch (because I also had some other minor issues). Then VLC worked fine on a fresh installation, but at some point it started to crash again, and now again it always crashes.
Running vlc from terminal gives the following output when I try opening a file.
[00005586d4e98290] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00005586d4f6d1c0] main audio output error: too low audio sample frequency (0)
[00007fa264ccaa20] main decoder error: failed to create audio output
[00005586d4f6d1c0] vlcpulse audio output error: digital pass-through stream connection failure: Not supported
[00005586d4f6d1c0] main audio output error: module not functional
[00007fa264ccaa20] main decoder error: failed to create audio output
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
Segmentation fault (core dumped)
And this is the log about that shown in the gnome-logs:
vlc[602364]: segfault at 24 ip 00007fe5731011d4 sp 00007fe546ff6c50 error 6 in iris_dri.so[7fe5726d0000+d48000]
There's a bug report about that here.In fact VLC is not to blame.There's a bug in the intel driver
iris_dri
which is a linux Direct Rendering Infrastructure driver for the intel IRIS graphics cards.Whenever a program tries to bypass the X server and renders directly using OpenGL on the underlying GPU , it has to use that driver indirectly.And a bug causes segmentation fault when someone issues OpenGL calls.
As suggested in the bug report , you have to use the intel driver
i965
instead.In order to do that you have to define the environment variableSo if you want to open VLC in the terminal , you have to add that line to your
~/.bashrc
file or if you want to open it from the application menu or by clicking on a media file , you have to tamper the line beginning withExec=
in the.desktop
file/usr/share/applications/vlc.desktop
:And if you want to set that globally for all of your applications , add this line to the file
/etc/environment
:For those like me who had no luck with Parsa Mousavi's answer, there is still one possibility: delete the
~/.config/vlc/
folder, and retry to use VLC as usual. That worked for me, at least!