Mesa驱动更新导致Chromium系浏览器故障的原因及彻底解决方案咨询
Mesa驱动更新导致Chromium系浏览器故障的原因及彻底解决方案咨询
我最近碰到个头疼的问题:2023年5月23日执行了Mesa相关驱动的升级后,Chrome、Opera这类Chromium内核的浏览器直接没法正常渲染页面了,但FireFox完全不受影响。
先给大家看下触发问题的更新记录:
Start-Date: 2023-05-23 18:59:16 Commandline: apt-get upgrade libegl-mesa0 libgbm1 libgl1-mesa-dri libglapi-mesa libglx-mesa0 libxatracker2 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-driver Requested-By: userx (1200) Upgrade: libglx-mesa0:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), libgbm1:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), libxatracker2:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), mesa-va-drivers:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), libgl1-mesa-dri:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), mesa-vulkan-drivers:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), libglapi-mesa:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), libegl-mesa0:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2), mesa-vdpau-drivers:amd64 (22.2.5-0ubuntu0.1~22.04.1, 22.2.5-0ubuntu0.1~22.04.2) End-Date: 2023-05-23 18:59:17
当时紧急找了个临时 workaround:
- 先通过命令行启动Chrome,强制禁用GPU加速:
google-chrome --disable-gpu - 打开设置页面
chrome://settings/system,关闭硬件加速选项,再重启浏览器
但这样等于放弃了GPU硬件加速的性能优势,肯定不是长久之计。而且我也搞不懂,之前一切正常,这次更新到底改了什么才导致的问题?
给大家看下Chrome启动时抛出的错误日志开头:
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null) [39080:39080:0528/160509.023513:ERROR:shared_context_state.cc(77)] Skia shader compilation error // Vertex SKSL #extension GL_NV_shader_noperspective_interpolation: require uniform float4 sk_RTAdjust;uniform float3x3 umatrix_S1_c0;in float2 position;in half4 color;in float2 localCoord;flat out half4 vcolor_S0;noperspective out float2 vTransformedCoords_3_S0;void main() {// Primitive Processor QuadPerEdgeAAGeometryProcessor vcolor_S0 = color;sk_Position = position.xy01;{ vTransformedCoords_3_S0 = float3x2(umatrix_S1_c0) * localCoord.xy1; } }
顺便附上我的系统信息,方便大家排查:
- 设备信息:执行
dmesg -T | grep Pavilion的输出:DMI: HP HP Pavilion Laptop 15-eg2xxx/89F7, BIOS F.07 08/10/2022 - 显卡信息:执行
lspci | grep NVIDIA的输出:Graphics GPU : 3D controller: NVIDIA Corporation TU117M [GeForce MX550] (rev a1) - 内核版本:执行
uname -a的输出:Linux Machine 6.1.7 #2 SMP PREEMPT_DYNAMIC Wed Jan 18 09:26:45 MST 2023 x86_64 GNU/Linux
后来看到其他用户的回复,说清理GPU缓存能解决问题,我试了下确实有效,步骤是:
- 清理Chrome的GPU缓存:
rm ~/.config/google-chrome/Default/GPUCache/* - 清理Opera的GPU缓存:
rm ~/.config/opera/GPUCache/*
清理完之后Chrome和Opera都恢复正常了,而且不用禁用GPU加速。不过有用户说这个方法只是临时的,下次更新可能还会复发。所以想请教下各位大佬:
- 这次Mesa驱动更新到底是哪里出了问题,导致旧的GPU缓存和新驱动不兼容?
- 有没有彻底解决这个问题的方案,避免以后更新再踩坑?
备注:内容来源于stack exchange,提问作者user1700112
相关产品推荐
相关产品推荐

