找不到glXCreateContextAttribsARB

Jas*_* Tu 2 opengl freeglut mesa

我正在学习现代3D图形编程,我正在尝试运行"你好,世界!" 三角计划.但是,我收到此错误:

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

运行'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:
Run Code Online (Sandbox Code Playgroud)

'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)
Run Code Online (Sandbox Code Playgroud)

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

gav*_*inb 6

glXCreateContextAttribsARBAPI需要GLX 1.4,至少OpenGL 3.0的(但实际上3.2).

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

底线 - 您的硬件和驱动程序可能受旧2.1驱动程序模型的限制,这意味着您无法利用"现代"方法.抱歉!

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