Mesa — это открытая реализация графических API для Linux: OpenGL, Vulkan, OpenCL и видеокодеков. Когда говорят «обновился стек Mesa», речь идёт не об одном приложении, а о слое, через который работают игры, браузеры, видеоплееры и композиторы рабочих столов. Поэтому даже небольшие изменения здесь заметны повседневно.
Разберём, что входит в Mesa, как проверить версию и обновиться, не получив чёрный экран.
Что такое Mesa и зачем она нужна
Видеокарта выполняет команды через драйвер. В Linux проприетарные драйверы NVIDIA идут отдельно, а для Intel, AMD и части ARM-устройств используется Mesa. Внутри неё есть драйверы: Iris для Intel, RADV для AMD Vulkan, RadeonSI для AMD OpenGL, Panfrost для ARM Mali, а также программный llvmpipe.
Mesa реализует не только отрисовку, но и ускорение видео (VA-API), вычисления (OpenCL) и совместимость с Wayland. Обновление Mesa может исправить артефакты в игре, ускорить браузер или починить вывод видео на новом ноутбуке.
Как проверить версию
Начните с того, что установлено и какой драйвер используется. Команды ниже есть в пакетах mesa-utils и vulkan-tools.
glxinfo -B
vulkaninfo --summary
eglinfo | head -30
apt policy mesa-vulkan-drivers libgl1-mesa-dri
В выводе glxinfo важны строки OpenGL renderer, OpenGL version и Mesa version. Если renderer — llvmpipe, значит аппаратное ускорение не работает и всё считается на процессоре. Это первое, что нужно чинить.
# проверить, загружен ли модуль GPU
lspci -nnk | grep -A3 -iE "vga|3d|display"
lsmod | grep -E "amdgpu|i915|nouveau|nvidia"
Как обновить
В стабильных дистрибутивах Mesa обновляется вместе с системой. Не подключайте сторонние репозитории без необходимости: свежая Mesa может требовать нового ядра и библиотек.
# Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade mesa-vulkan-drivers libgl1-mesa-dri
# Fedora
sudo dnf upgrade mesa-dri-drivers mesa-vulkan-drivers
# Arch
sudo pacman -Syu mesa
Если нужна более новая версия для конкретной игры, используйте Flatpak-сборку игры или контейнер, а не меняйте системный стек. Для энтузиастов существуют PPA вроде kisak-mesa и oibaf, но они предназначены для тестирования и могут ломать сессию.
# пример: посмотреть, откуда пришёл пакет
apt-cache policy mesa-vulkan-drivers
flatpak list | grep -i mesa
Что нового обычно даёт обновление
- поддержка новых GPU и исправления для существующих;
- рост производительности в Vulkan-играх через Proton;
- исправления артефактов и падений в OpenGL;
- улучшения Wayland и аппаратного декодирования видео;
- поддержка новых расширений Vulkan и OpenGL.
Конкретный эффект зависит от игры и драйвера. Не стоит ждать, что обновление ускорит всё: иногда прирост есть только в одном приложении, а в другом появляется регрессия.
Проверка после обновления
Перезагрузите систему или хотя бы перезапустите графическую сессию, затем повторите glxinfo -B и vulkaninfo. Убедитесь, что renderer по-прежнему аппаратный, а версия Mesa изменилась.
glxinfo -B | grep -E "OpenGL renderer|OpenGL version|Mesa"
vulkaninfo --summary | grep -E "apiVersion|driverVersion|deviceName"
Запустите игру или приложение, которое раньше работало плохо. Если появились артефакты, проверьте журнал:
journalctl -k -b | grep -iE "amdgpu|i915|drm|gpu" | tail -40
dmesg | grep -i firmware | tail -20
Если сломался графический вход
Загрузитесь в консоль (Ctrl+Alt+F3) или в recovery mode. Проверьте, что установлено, и откатите пакеты Mesa до предыдущей версии. В Debian/Ubuntu полезно иметь в кэше старые .deb или снапшот системы.
apt policy mesa-vulkan-drivers
sudo apt install mesa-vulkan-drivers=<версия>
sudo dpkg -l | grep mesa
Если сессия не стартует из-за драйвера, можно временно загрузиться с параметром ядра nomodeset или использовать программный рендеринг, чтобы получить доступ к системе и починить пакеты.
# временно для диагностики
LIBGL_ALWAYS_SOFTWARE=1 glxinfo -B
Mesa и игры через Proton
Steam Proton использует системную Mesa для Vulkan и OpenGL. Иногда проблема решается не обновлением системы, а сменой версии Proton или установкой Proton-GE. Не смешивайте: сначала проверьте, какой драйвер и какая Mesa используются в контейнере Steam.
# проверить версию в контейнере Steam (путь может отличаться)
steam-run glxinfo -B 2>/dev/null | head
Для AMD RADV полезно проверить, включён ли RADV_PERFTEST и не переопределяют ли переменные окружения драйвер. Для Intel новые игры могут требовать свежей Mesa и ядра.
Mesa и Wayland
На Wayland тот же драйвер Mesa отвечает за композитинг, аппаратное декодирование видео и работу игр через XWayland. Если после обновления появились мерцание курсора, чёрные окна или проблемы с полноэкранным режимом, сравните сессию Wayland и X11 — это быстро локализует причину.
echo $XDG_SESSION_TYPE
journalctl --user -b | grep -iE "wayland|kwin|mutter" | tail -30
Для проверки видео используйте vainfo и mpv --hwdec=auto. Если аппаратное декодирование отвалилось, проблема может быть не в Mesa, а в прошивке или ядре. Обновляйте их вместе, а не по отдельности, и фиксируйте версии до и после.
На Intel и AMD полезно проверить, не переопределяют ли переменные окружения драйвер. Устаревшие LIBVA_DRIVER_NAME или MESA_LOADER_DRIVER_OVERRIDE в профиле могут направить систему не туда.
env | grep -iE "mesa|libva|vulkan|radv"
Итог
Mesa — фундамент графики в Linux. Обновляйте её штатными средствами, проверяйте renderer и версии через glxinfo и vulkaninfo, а сторонние PPA подключайте только для тестов и с планом отката. Если после обновления появились артефакты, сначала изучите журнал и попробуйте предыдущую версию, а не переустанавливайте систему.