我有一个 i7-5500U 芯片(我认为这意味着它是第五代),带有 Intel Corporation HD Graphics 5500(rev 09)。我使用 Debian不稳定版本,几周前该libgl1-mesa-dri
软件包从 21.3.8-1 更新到 22.1.3-1。此时,/usr/lib/x86_64-linux-gnu/dri/i915_dri.so
驱动程序消失了,我的 GNOME Shell 性能下降了。我决定将版本libgl1-mesa-dri
(以及一些相关的软件包)固定到 21.3.8-1 以解决问题。但是,现在越来越多的软件包无法升级,因此我试图通过切换到新的crocus
驱动程序来正确解决问题,这显然是该芯片的正确驱动程序。
删除我的 apt pin 设置并完成软件包升级后,我可以看到crocus
驱动程序共享对象存在于/usr/lib/x86_64-linux-gnu/dri/crocus_dri.so
.
我已经设置了环境变量:MESA_LOADER_DRIVER_OVERRIDE=crocus
并/etc/environment
检查了gnome-shell
其环境中是否有此变量:
$ cat /proc/{pid}/environ | tr '\0' '\n'|grep MESA
MESA_LOADER_DRIVER_OVERRIDE=crocus
但每当需要渲染任何内容时,我的 GNOME Shell 仍然表现不佳,CPU 峰值。
我可以看到它显然仍然使用软件渲染:
$ glxinfo | grep -i opengl
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 14.0.6, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 22.1.3
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 22.1.3
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
$ LIBGL_DEBUG=verbose glxgears
libGL: MESA-LOADER: dlopen(/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so)
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/user/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/user/.drirc: No such file or directory.
如果我在命令行上运行glxinfo
或glxgears
设置,我会得到相同的输出。MESA_LOADER_DRIVER_OVERRIDE=crocus
当 GNOME Shell 启动时,我收到以下日志消息:
gnome-shell[914]: Running GNOME Shell (using mutter 42.2) as a Wayland display server
gnome-shell[914]: Device '/dev/dri/card0' prefers shadow buffer
gnome-shell[914]: Added device '/dev/dri/card0' (i915) using atomic mode setting.
gnome-shell[914]: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Not hardware accelerated
gnome-shell[914]: libEGL warning: egl: failed to create dri2 screen
gnome-shell[914]: libEGL warning: egl: failed to create dri2 screen
gnome-shell[914]: Created gbm renderer for '/dev/dri/card0'
gnome-shell[914]: Boot VGA GPU /dev/dri/card0 selected as primary
gnome-shell[914]: Initialized single buffered shadow fb for HDMI-1
gnome-shell[914]: Initialized single buffered shadow fb for eDP-1
gnome-shell[914]: Disabling DMA buffer screen sharing (not hardware accelerated)
gnome-shell[914]: Using public X11 display :0, (using :1 for managed services)
gnome-shell[914]: Using Wayland display name 'wayland-0'
但我一直无法弄清楚这些告诉我什么。
那么我如何才能为我的 GPUgnome-shell
使用Mesa 驱动程序呢?crocus
或者也许还有其他方法可以让gnome-shell
我的 GPU 的硬件加速再次正常工作?