libGL ошибка: DRI-драйвер не из этой сборки Mesa (‘23.0.4-0ubuntu1~22.04.1’ против ‘23.2.1-1ubuntu3.1~22.04.2’)

Вопрос или проблема

У меня возникает эта ошибка как при открытии RVIZ2, так и при использовании glxinfo. Более того, если я пытаюсь открыть видео, появляется сообщение о том, что у меня нет драйвера.

Вот полная ошибка.

[rviz2-6] libGL error: DRI driver not from this Mesa build (‘23.0.4-0ubuntu1~22.04.1’ vs ‘23.2.1-1ubuntu3.1~22.04.2’) [rviz2-6] libGL error: failed to load driver: iris

Если я выполняю apt list -i | grep mesa, это вывод:

libegl-mesa0/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato] libegl1-mesa-dev/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato, automatico] libgl1-mesa-dev/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato, automatico] libgl1-mesa-dri/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato] libglapi-mesa/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato] libglu1-mesa-dev/jammy,now 9.0.2-1 amd64 [installato, automatico] libglu1-mesa/jammy,now 9.0.2-1 amd64 [installato, automatico] libglx-mesa0/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato] mesa-utils-bin/jammy,now 8.4.0-1ubuntu1 amd64 [installato, automatico] mesa-utils/jammy,now 8.4.0-1ubuntu1 amd64 [installato, automatico] mesa-va-drivers/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato] mesa-vdpau-drivers/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato] mesa-vulkan-drivers/jammy-updates,now 23.2.1-1ubuntu3.1~22.04.2 amd64 [installato]

Платформа: dell xps 13 plus – ubuntu 22.04.4

У меня была похожая проблема, которая мешала мне (белый экран при запуске). Я открыл баг-репорт здесь. Мне удалось частично решить проблему, сделав принудительное понижение версии пакетов до предыдущих версий, но это не удовлетворительно (неработающие зависимости).

Ответ или решение

Теория

Ошибка libGL error: DRI driver not from this Mesa build ('23.0.4-0ubuntu1~22.04.1' vs '23.2.1-1ubuntu3.1~22.04.2') связана с несовместимостью версий драйверов Mesa и 3D-драйверов, которые используются для отрисовки графики в приложениях, таких как RVIZ2 или glxinfo. Mesa – это библиотека, предоставляющая API для 3D-графики, поддерживающая OpenGL и другие графические стандарты. Ошибка возникает, когда загружаемый DRI (Direct Rendering Infrastructure) драйвер не соответствует версии установленной библиотеки Mesa.

Проблема может быть вызвана обновлением, которое может изменить файлы Mesa и DRI драйверов на несовместимые версии. Это изменение в системных библиотеках часто приводит к тому, что приложения не могут корректно работать с графической подсистемой из-за несоответствия версий.

Пример

В приведенном пользователем сценарии на платформе Dell XPS 13 Plus с установленной Ubuntu 22.04.4, версия библиотеки Mesa, согласно команде apt list -i | grep mesa, установлена как 23.2.1-1ubuntu3.1~22.04.2. Однако, RVIZ2 пытается использовать DRI драйвер из сборки другой версии (23.0.4-0ubuntu1~22.04.1). Такая несогласованность версий и является причиной возникновения ошибки.

Применение

Для решения этой проблемы, важно добиться согласованности между версиями библиотеки Mesa и DRI драйверов. Рассмотрим несколько шагов, которые можно предпринять для исправления данной ситуации:

  1. Проверка и обновление системы:

    • Убедитесь, что ваша система полностью обновлена. Запустите команду:
      sudo apt update && sudo apt upgrade

      Эта команда обновит все пакеты до последних стабильных версий, доступных в репозиториях.

  2. Переустановка пакетов Mesa:

    • Иногда должно помочь полное удаление и повторная установка пакетов Mesa. Это можно сделать следующими командами:
      sudo apt remove --purge '^mesa.*'
      sudo apt install mesa-utils

      Заметьте, что mesa-utils будет зависеть от других необходимых пакетов, включая драйверы.

  3. Использование альтернативных репозиториев или PPA:

    • Если в стандартных репозиториях находятся различные версии, можно попробовать использовать PPA репозитории для Mesa, такие как mesa fresh PPA. Для добавления PPA и обновления:
      sudo add-apt-repository ppa:kisak/kisak-mesa
      sudo apt update && sudo apt upgrade

      Обратите внимание, что использование PPA репозиториев может повлечь за собой использование бета-версий или нестабильных пакетов.

  4. Проверка альтернативных драйверов:

    • В зависимости от вашей видеокарты, возможно есть смысл проверить, не использует ли система проприетарные драйверы вместо открытых. Для графических карт Intel обычно используются драйверы i965 или iris.
    • Убедитесь, что ваш графический драйвер (например, Intel Graphics Drivers) соответствует версии используемого Mesa. Чтобы проверить это можно использовать:
      glxinfo | grep "OpenGL version"
  5. Диагностика и временное решение:

    • Если всё еще возникает ошибка, рассмотрите временное понижение версии до предыдущей стабильной версии, как вы уже пробовали делать. Однако, это может привести к проблемам с зависимостями, и такое решение нельзя считать долгосрочным.
    • Исследуйте логи, такие как dmesg и /var/log/syslog для получения более детальной информации о любых связанных ошибках.
  6. Контроль версий с использованием apt-mark:

    • Можно удержать или откатить до нужной версии пакета, чтобы избежать его обновления. Используйте команды:
      sudo apt-mark hold package_name
      sudo apt-mark unhold package_name

      где package_name – это имя проблемного пакета Mesa, который вы хотите удержать.

  7. Контакты с сообществом:

    • Расскажите о проблеме в сообществах Ubuntu или соответствующих форумах. Возможно, другие пользователи уже сталкивались с аналогичными трудностями и смогут предложить решение.

Заключение

Несоответствие версий графических библиотек и драйверов может серьезно повлиять на работу приложений, использующих графику. Регулярное обновление системы, использование стабильных версий программного обеспечения, а также обратная связь с разработчиками и сообществом помогут минимизировать подобные проблемы. Если найденные решения неэффективны, рекомендуется сохранять резервные копии и иметь готово рабочее окружение для осуществления отката изменений.

Оцените материал
Добавить комментарий

Капча загружается...