Как установить более новую версию Mesa для поддержки OpenGL 3.x в CentOS 7.6?

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

В данный момент,

glxinfo|grep "OpenGL version" 

выдает

OpenGL version string: 4.6 Mesa 18.3.4

А

mesa-libGL-devel-18.3.4-12.el17_9.x86_64

был установлен по умолчанию, но моему приложению нужна поддержка OpenGL как минимум 3.2.

Можно ли установить более новую версию mesa для поддержки OpenGL 3.x? Если да, то как?

Заранее спасибо!!!

К слову, у меня установлен RHEL 7.9 и

  • если у вас RHEL 7.6, первой мыслью будет выполнить yum update, чтобы перейти на RHEL 7.9 с последней версией mesa; мой yum обновился на сегодняшний день и сообщает OpenGL version string: 4.6.0 NVIDIA 510.47.03. Но у меня установлено cuda_11.6.1_510.47.03_linux.run.
  • на тестовом ПК с rhel 7.9 без nvidia, glxinfo в данный момент сообщает 3.3 (Compatibility Profile) Mesa 18.3.4.

Однако давно, чтобы заставить linux работать с vnc и исправить [коммерческие] программные продукты, которые жаловались на OpenGL и возвращались к программной отрисовке, я добавил следующие два элемента в /etc/profile.d/mesa_custom.sh

export MESA_GL_VERSION_OVERRIDE=3.3
export MESA_GLSL_VERSION_OVERRIDE=330

Это, похоже, удовлетворяло различные проверки [коммерческих] программ, где часто возникало предупреждение о mesa, GL или программной отрисовке, и они не работали должным образом.

Любой .sh файл в /etc/profile.d/ будет выполняться при входе в систему для любого пользователя, так что переименуйте mesa_custom по вашему усмотрению, просто оставьте суффикс .sh; .sh для оболочек bash, .csh для входов csh и tcsh и так далее. Таким образом, это удобный глобальный способ реализации, чтобы пользователю не пришлось беспокоиться о выполнении этого самостоятельно.

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

Для установки более новой версии Mesa на CentOS 7.6 с целью поддержки OpenGL 3.x, следуйте следующим шагам:

  1. Обновите систему: Начнем с того, чтобы убедиться, что все пакеты вашей системы актуальны. Введите следующую команду в терминале:

    sudo yum update

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

  2. Добавьте репозиторий ElRepo: Если стандартные репозитории не содержат нужной версии Mesa, вы можете добавить сторонний репозиторий ElRepo, который предоставляет обновленные версии драйверов и библиотек.

    Установите репозиторий ElRepo, выполнив следующие команды:

    sudo yum install https://www.elrepo.org/elrepo-release-7.6-1.el7.elrepo.noarch.rpm
  3. Установите более новую версию Mesa: Используйте следующий набор команд для установки более новой версии Mesa:

    sudo yum --enablerepo=elrepo-testing install mesa-dri-drivers mesa-libGL mesa-libGL-devel

    Этот процесс позволит вам установить самую последнюю версию драйверов Mesa из репозитория ElRepo, что обеспечит поддержку OpenGL 3.x и выше.

  4. Проверьте версию OpenGL: После завершения установки проверьте, какая версия OpenGL теперь доступна:

    glxinfo | grep "OpenGL version"

    Вы должны увидеть строку, указывающую на поддержку OpenGL 3.x.

  5. Настройка переменных окружения (по желанию): Если у вас всё ещё возникают проблемы с совместимостью или приложениями, которые требуют определенного уровня OpenGL, вы можете настроить переменные окружения. Создайте файл с именем mesa_custom.sh в директории /etc/profile.d/ и добавьте следующие строки:

    export MESA_GL_VERSION_OVERRIDE=3.3
    export MESA_GLSL_VERSION_OVERRIDE=330

    Это обеспечит установку значений для всех пользователей системы и может помочь решить проблемы с применениями, требующими определённые версии OpenGL.

  6. Перезагрузите систему: В завершение, чтобы все изменения вступили в силу, рекомендуется перезагрузить систему:

    sudo reboot

После перезагрузки ваша система должна поддерживать OpenGL 3.x, и вы сможете запускать ваши приложения без каких-либо проблем. Если у вас остались вопросы или возникли проблемы, пожалуйста, не стесняйтесь задавать их.

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

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