如何通过 Intel HD Graphics 3000 iGPU 上的 mesa 获得 Opengl 3.3(带 GLSL 3.3)支持?

joh*_*dav 2 linux opengl x11 x

我最近买了一台带有 i5-2520M CPU 的笔记本电脑,它使用了集成显卡。Intel方舟说这个cpu有Intel HD Graphics 3000。维基百科的相关页面说这个iGPU在Linux上支持OpenGl 3.3。维基百科引用的这一说法的来源是一篇 Phoronix 文章,内容如下:

周五晚上发布了一个补丁,用于为带有 Mesa 的英特尔“Gen6”Sandy Bridge 硬件启用 OpenGL 3.3 和 OpenGL 着色语言 (GLSL) 3.30

这一切让我认为任何使用 OpenGl 3.3 和 GLSL 3.3 核心配置文件的 OpenGl 程序都应该可以工作。然而,当我尝试在 Arch Linux 上运行我编写的这样一个程序时,opengl 驱动程序告诉该程序不支持 GLSL 3.3(即使 OpenGl 3.3 是,这是一个奇怪的组合,因为通常这些东西来一起)。在我的另一台装有 GTX 1070 的计算机上编译时,完全相同的源代码运行没有问题。我安装了 mesa 包,维基说这是唯一必要的包。诸如 glxgears 之类的程序依赖于旧版本的 opengl 工作正常。即使是天堂基准测试也能正常工作,尽管 <10 fps。此安装位于 Thinkpad T420 上。

如何在我的 Intel HD Graphics 3000 上获得 GLSL 3.3 支持?

Glxinfo:https ://pastebin.com/C87JqMwV

joh*_*dav 5

我还将这个问题发布到了一个更具体但不太受欢迎的 subreddit。我在那里得到了一个有效的回应:

用以下环境变量启动程序: MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 不知道能不能用。

关联