Ядро & Оборудование
   5043

Обновление OpenGL до 4.5

Всех приветствую!

У меня из-за версии OpenGL 3.0 не работают некоторые игры через wine! Просьба сильно не пинать, что я не на виндувсе. Виндувс съедает ноутбучные ресурсы чуть менее, чем полностью. Кроме того, в пиратках исошек виндувса уже заботливо внедрены вирусы и трояны. Владельцы видях nvidia спокойно играют в свои игры на linux, а обладающие видеокартами AMD Radeon игры не запускаются на свободных дровах. Поприетарные дрова не работают(amdgpu-pro, catalyst/fglrx). У обоих просто чёрный экран с чёрточкой в левом верхнем углу экрана! Ноут покупал, когда был вообще не знаком с линуксом и выбрал с виндувсом, потом через год стёр виндувсовский раздел.

Вывод DRI_PRIME=1 glxinfo | grep OpenGL

OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD ICELAND (DRM 3.8.0 / 4.9.20-1-MANJARO, LLVM 3.9.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.2
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: 3.0 Mesa 17.0.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:


Что за версия 3.0, если самая новая 4.5???
Как сделать чтобы обе были 4.5?
Через DRI_PRIME=1 glxgears шестерёнки крутятся.
Вывод lspci | grep Display (Дискретная карта)

01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445]

2 комментария

avatar
Что, никому не приходилось сидеть с нерабочими видеодрайверами?
0
avatar
Проблема решена, загуглил от скуки и: нашлась группа в vk. (ссылка становится нерабочей, здесь выложу решение) А то всё находились ссылки на иностранные ресурсы, на которых даже с помощью переводчика не пойму.

Есть способ решить многие проблемы с играми на Intel и AMD Radeon на свободных драйверах.
— ВНИМАНИЕ! Делать это нужно только если у вас есть проблемы с запуском какой-либо игры на свободных драйверах. Например, зелёный экран и другие проблемы запуска/зависания War Thunder и некоторых других игр.
Некоторым играм это может наоборот помешать запускаться! Они просто начнут зависать при запуске.
— Самое главное, чтобы у вас была mesa не старее, чем версия 11 или новее.
Но, Debian 8 (stable), Mint 17.3, Ubuntu старее, чем версия 15.10 используют mesa 10 или даже старее. То есть в любом случае не могут дать поддержку OpenGL новее, чем версия 3.3. Версия mesa 13+ даёт поддержку OpenGL 4.5. Если вы хотите пользоваться этим, то вам нужно сменить дистрибутив на тот, в котором уже есть mesa 13. Например, Arch Linux, Antergos, Debian (Unstable), Ubuntu 17.04+, Fedora 25+, Mint 19+ итд…
— Например, у меня вывод такой команды:

$ glxinfo | grep -i opengl
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD MULLINS (DRM 3.10.0 / 4.11.7-1-MANJARO, LLVM 4.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.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: 3.0 Mesa 17.1.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Новшества Mesa добавляются в OpenGL Core Profile, где у меня версия OpenGL 4.5.
Но, многие игры ошибочно определяют версию OpenGL по OpenGL version string, которая, как правило, заметно ниже. У меня это версия OpenGL 3.0. Из-за этого некоторые игры вообще откажутся запускаться или запустятся с ограниченными графическими возможностями.

Чтобы «сообщить» игре настоящую версию OpenGL нужно прописывать для каждой игры в параметры её запуска в Steam соответствующую переменную среды:
MESA_GL_VERSION_OVERRIDE=4.5COMPAT %command%
Разумеется, что если у вас версия OpenGL другая, то её нужно будет в этой команде тоже изменить.
Или если у вас wine, то напишите свой скрипт sh
MESA_GL_VERSION_OVERRIDE=4.5COMPAT DRI_PRIME=1 (запуск с дискретной видеокарты) wine путь/до/программы.exe
Путь до программы можно вставить просто перетаскивая файл из файлового менеджера.

Имейте ввиду, что иногда это может вызвать проблемы, которых раньше не было. Так что решением проблем может и отказ от MESA_GL_VERSION_OVERRIDE
Последний раз редактировалось
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.