Як я можу отримати підтримку Opengl 3.3 (з GLSL 3.3) через mesa на iGPU Intel HD Graphics 3000?


1

Нещодавно я придбав ноутбук з процесором i5-2520M в ньому, який використовує інтегровану графіку. Ковчег Intel говорить, що на цьому процесорі є Intel HD Graphics 3000. Відповідна сторінка Вікіпедії говорить, що цей iGPU підтримує OpenGl 3.3 в Linux. Джерело, на яке посилається Вікіпедія на цю претензію, стаття Phoronix , говорить наступне:

Опубліковано в п'ятницю ввечері було виправлено, щоб увімкнути OpenGL 3.3 та OpenGL Shading Language (GLSL) 3,30 для апаратних засобів Sandy Bridge від Intel "Gen6" з Mesa

Це все змушує мене думати, що будь-яка програма OpenGl, яка використовує основні профілі OpenGl 3.3 та GLSL 3.3, повинна працювати. Коли я намагаюся запустити в Arch Linux таку програму, яку я написав, проте драйвер opengl повідомляє програмі, що GLSL 3.3 не підтримується (навіть незважаючи на те, що OpenGl 3.3 є, що це дивна комбінація, тому що зазвичай такі речі разом). Точний той самий вихідний код при компіляції на моєму іншому комп'ютері з GTX 1070 в ньому працює без проблем. У мене встановлений пакет mesa, і у wiki йдеться, що це єдиний необхідний пакет. Такі програми, як glxgears, які залежать від старішої версії opengl, відмінно працюють. Навіть небесний тест працює, хоча і з <10 кадрів в секунду. Ця установка на Thinkpad T420.

Як я можу отримати підтримку GLSL 3.3 на моїй Intel HD Graphics 3000?

Glxinfo: https://pastebin.com/C87JqMwV


Ваш glxinfoвисновок стверджує, що у вас є GLSL 3.3: "Рядок версії мови затінення основного профілю OpenGL: 3,30".
Стівен Кітт

@StephenKitt Точне повідомлення, яке дає драйвер opengl моїй програмі: "GLSL 3.30 не підтримується. Підтримувані версії: 1.10, 1.20, 1.30, 1.00 ES та 3.00 ES" Це повідомлення від glGetShaderInfoLog. Це показує, що я чомусь не можу отримати доступ до GLSL 3.3.
john01dav

Єдина думка, яка спадає на думку, - це те, що ви можете зв’язатись із бібліотекою API, яка не підтримує 3.30. Це можливо?
ajeh

Відповіді:


2

Я також опублікував це питання в більш конкретному, але менш популярному subreddit. Я отримав там відповідь, яка працювала:

Запустіть програму з такими змінними середовища: MESA_GL_VERSION_OVERRIDE = 3.3 MESA_GLSL_VERSION_OVERRIDE = 330 Я не знаю, чи буде вона працювати.

Посилання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.