找不到glXCreateContextAttribsARB

时间:2012-04-27 04:37:08

标签: opengl freeglut mesa

我正在经历Learning Modern 3D Graphics Programming,而我正试图运行“你好,世界!”三角计划。但是,我收到了这个错误:

jason@ubuntu:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ ./Tut\ 01\ Main
freeglut (./Tut 01 Main): glXCreateContextAttribsARB not found

跑'glxinfo'给了我这个:

jason@ubuntu:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ glxinfo | grep OpenGL
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 7.11
OpenGL shading language version string: 1.20
OpenGL extensions:

'lspci'命令给了我这个:

jason@ubuntu:~/Desktop/Tutorial 0.3.8/Tut 01 Hello Triangle$ lspci | grep "VGA"
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)

通过一些谷歌搜索,我猜我正在使用OpenGL 2.1,当我应该使用OpenGL 3.3'glXCreateContextAttribsARB',虽然我真的不知道。我有什么可以做的吗?

1 个答案:

答案 0 :(得分:6)

glXCreateContextAttribsARB API需要GLX 1.4,至少需要OpenGL 3.0(但实际上是3.2)。

您的GPU驱动程序报告它只能使用OpenGL 2.1,这与使用Mesa 7.x一致。最新的Mesa 8.x确实支持OpenGL 3,但您需要检查它是否适用于您的发行版并且还支持您的特定GPU模型。

底线 - 您的硬件和驱动程序可能受旧2.1驱动程序模型的限制,这意味着您无法利用“现代”方法。遗憾!

在此处检查DRI驱动程序状态: