저는 Intel Corporation HD Graphics 5500(rev 09)이 탑재된 i7-5500U 칩(5세대라는 뜻이라고 생각합니다)을 가지고 있습니다. 저는 불안정한 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
이 칩에 맞는 드라이버인 것으로 보이는 새 드라이버로 전환하여 문제를 제대로 해결하려고 합니다 .
적절한 핀 설정을 제거하고 패키지 업그레이드를 완료한 후 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 쉘이 시작되면 다음 로그 메시지가 나타납니다:
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'
그러나 나는 이것이 나에게 말하는 것이 무엇인지 알 수 없었습니다.
그렇다면 내 GPU에 Mesa 드라이버를 어떻게 사용할 수 있습니까 gnome-shell
? 아니면 GPU의 하드웨어 가속이 다시 제대로 작동하도록 crocus
하는 다른 방법이 있을까요 ?gnome-shell