Как я могу проверить, какая версия OpenGL поддерживается в системе Linux с optirun?
У меня было много проблем / путаницы при настройке моего ноутбука для работы в OpenGL-программировании / запуска программ OpenGL.
У моего ноутбука один из этих очень умных (слишком умных для меня) дизайнов, в которых на процессоре Intel установлен графический процессор, а также выделенная графическая карта. В частности, процессор - 3630QM с "HD Graphics 4000" (я уверен, что это очень интересное имя), а "правильным" графическим процессором является Nvidia GTX 670MX.
Теоретически, согласно Википедии, HD Graphics Chip (Intel) в Linux поддерживает OpenGL 3.1, если установлены правильные драйверы. (Они, вероятно, нет.)
Согласно NVIDIA, 670MX может поддерживать OpenGL 4.1, поэтому в идеале я хотел бы разработать и выполнить на этом GPU.
У меня установлены драйверы, позволяющие мне выполнять код OpenGL 4.1 на графическом процессоре NVIDIA? Ответ: Вероятно, нет, в настоящее время я использую эту "optirun" для выполнения программ OpenGL на выделенном графическом процессоре. Посмотрите эту ссылку, чтобы увидеть процесс, которым я следовал, чтобы настроить мой компьютер.
У меня вопрос, я знаю, как запустить скомпилированную программу на 670MX; это будет "optirun ./programname", но как я могу узнать, какую версию OpenGL будут поддерживать установленные графические драйверы в моей системе? Запуск 'glxinfo | grep -i opengl'в терминале говорит мне, что чип Intel поддерживает OpenGl версии 3.0. Смотрите ниже информацию:
ed@kubuntu1304-P151EMx:~$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL version string: 3.0 Mesa 9.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
Как мне сделать то же или похожее, чтобы узнать, какая поддержка доступна в "optirun" и какая версия OpenGL поддерживается?
Обновить
Кто-то предложил мне использовать glGetString(), чтобы найти эту информацию: теперь я полностью сбит с толку! Без optirun поддерживаемая версия OpenGL - "3.0 MESA 9.1.3", то есть версия 3, чего я и ожидал. Однако в optirun поддерживаемая версия OpenGL - "4.3.0 NVIDIA 313.30", так что версия 4.3?! Как может быть Версия 4.3, если в спецификации оборудования от NVIDIA указывается, что поддерживается только Версия 4.1?
1 ответ
Вы можете просто запустить glxinfo под optirun:
optirun glxinfo | grep -i opengl
Обе карты имеют разные функции, поэтому нормально получать разные версии OpenGL.