我最近购买了一台配备 i5-2520M CPU、使用集成显卡的笔记本电脑。英特尔方舟说该 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 软件包,维基百科说这是唯一必需的软件包。依赖于旧版本 opengl 的程序(例如 glxgears)可以正常工作。即使是天堂基准测试也能工作,尽管帧速率< 10 fps。此安装在 Thinkpad T420 上。
如何在我的英特尔核芯显卡 3000 上获得 GLSL 3.3 支持?
答案1
我还将这个问题发布到了一个更具体但不太受欢迎的 Reddit 子版块。我在那里得到了有效的回复:
使用以下环境变量启动程序: MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 我不知道它是否会起作用。