Мне нужно использовать программу на моем ноутбуке, которая требует OpenGL 3.3 или лучше. По-видимому, моя «эффективная» версия OpenGL 3.0. Ниже приведен вывод glxinfo. Это xubuntu 16.10, а графическая карта - Intel HD 5500. Поэтому я не понимаю, что происходит не так, похоже, как аппаратное, так и программное обеспечение должно быть достаточно современным, чтобы получить как минимум 3.3. Надеюсь, кто-то может помочь!
glxinfo|grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.3
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 12.0.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 12.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
Я думаю, что приложение может просто потянуть строку версии и сообщить об этом. Однако я не думаю, что это означает максимальную доступную версию и, возможно, не то, что приложение использует. Моя «строка версии OpenGL» сообщается точно так же, как ваша, и я разрабатываю OpenGL 3.2 в этой системе.
Если вы запустите команду glxinfo | grep Max, вы должны получить список, в котором указаны максимальные версии доступный для основного профиля, профиля совместимости и т. д. Я бы запустил это и посмотрел, что он сообщает. Я думаю, что он представит вашу версию максимального основного профиля как 4.3 (не 3.0). Если это так, я не думаю, что у вас есть проблема с драйвером.
Я кратко посмотрел на приложение, и я не заметил упоминания о требовании OpenGL 3.3. Тем не менее, их сайт предполагает, что существуют большие различия между различными графическими процессорами.
Кажется, что они предлагают поддержку, поэтому, если у вас все еще возникают проблемы, может быть, лучше всего посмотреть, смогут ли они помочь дальше. [ ! d3]
Надеюсь, что это поможет.
Обновлено для glmark2
glmark2 является эталоном OpenGL (ES) 2.0. Опять же, это может просто потянуть строку версии. Я искал другие тестовые приложения и нашел GFXBench здесь. Если вы загружаете, устанавливаете и запускаете это, а затем выбираете «Информация» в нижней части экрана, он, как представляется, обеспечивает максимальную версию OpenGL. Mine states «3.3 (Core)», который является правильной максимальной версией, поддерживаемой моей картой.
Он также включает тесты, требующие V4.x, и ни одна из них не будет запущена на моей настройке, поэтому это может стоить попробовать. [ ! d9]
Обновлено для glmark2
Я просто столкнулся с переменной среды Mesa MESA_GL_VERSION_OVERRIDE. Более подробная информация здесь . Он указывает, что эта переменная:
changes the value returned by glGetString(GL_VERSION) and possibly the GL API type.
Я попробовал следующую команду в своей системе:
MESA_GL_VERSION_OVERRIDE=3.3 glxinfo | grep OpenGL
, и это дало следующее для строки версии OpenGL и версии языка затенения OpenGL string:
OpenGL version string: 3.3 (Core Profile) Mesa 12.0.3
OpenGL shading language version string: 3.30
Это не то, что было указано без переменной окружения. Возможно, стоит попробовать использовать эту переменную среды при выполнении вашего приложения, поскольку это может привести к использованию правильной версии. Вы бы использовали:
MESA_GL_VERSION_OVERRIDE=4.3 command
Если вы просто заменили команду любой командой, которую вы используете для запуска вашего приложения.