每次我尝试打开任何视频文件时,我的 VLC 播放器都会崩溃。删除/清除 vlc 并重新安装它不会改变任何东西。
我最近将我的发行版从 19.10 升级到了 20.04。我以前在任何其他操作系统上都没有遇到过这个问题。我还尝试从头开始重新安装整个操作系统(因为我还遇到了一些其他小问题)。然后 VLC 在全新安装时运行良好,但在某个时候它又开始崩溃,现在它又总是崩溃。
当我尝试打开文件时,从终端运行 vlc 会产生以下输出。
[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)
这是关于gnome-日志:
vlc[602364]: segfault at 24 ip 00007fe5731011d4 sp 00007fe546ff6c50 error 6 in iris_dri.so[7fe5726d0000+d48000]
答案1
有一个关于此的错误报告这里.事实上 VLC 不应该受到指责。英特尔驱动程序中有一个错误,iris_dri
这是一个 Linux直接渲染基础设施英特尔 IRIS 显卡驱动程序。
每当程序试图绕过 X 服务器并直接使用底层 GPU 上的 OpenGL 进行渲染时,它必须间接使用该驱动程序。并且一个错误会导致分段故障当有人发出 OpenGL 调用时。
根据错误报告的建议,您必须使用英特尔驱动程序。i965
为了做到这一点,您必须定义环境变量
env MESA_LOADER_DRIVER_OVERRIDE=i965
因此,如果您想在终端中打开 VLC,则必须将该行添加到您的~/.bashrc
文件中,或者如果您想从应用程序菜单中打开它或通过单击媒体文件来打开它,则必须篡改文件中Exec=
以以下内容开头的行:.desktop
/usr/share/applications/vlc.desktop
Exec=env MESA_LOADER_DRIVER_OVERRIDE=i965 /usr/bin/vlc --started-from-file %U
如果您想要为所有应用程序进行全局设置,请将以下行添加到文件中/etc/environment
:
MESA_LOADER_DRIVER_OVERRIDE=i965
答案2
对于像我这样对 Parsa Mousavi 的答案不满意的人,还有一种可能性:删除该~/.config/vlc/
文件夹,然后重新尝试照常使用 VLC。至少对我来说,这是有效的!