安装 Nvidia 331 和 Bumblebee 后,OpenGL 恢复为旧版本

安装 Nvidia 331 和 Bumblebee 后,OpenGL 恢复为旧版本

我最近安装了 Bumblebee 和 Nvidia 331 驱动程序,因为显然这是让我的 Geforce 860m 正常工作的唯一方法。现在,当我尝试编译 OpenGL 程序时,它的行为就像我有一个 2.0 之前的 OpenGL 版本一样(对于与着色器相关的函数,如 glUniform1f,出现“错误:glFoo 未在此范围内声明”)。当尝试使用与以前相同的 makefile 编译以前可以编译的程序时,会发生这些错误。

我发现解决这个问题的唯一方法是使用 GLEW,但这很不幸,因为我是 OpenGL 课程的助教,需要能够在我的计算机上运行学生的作业,而他们的作业不会使用 GLEW。

GLxinfo 告诉我我有 OpenGL 3.0 版本,但唯一可以编译的程序是为 2.0 之前版本编写的程序。

Bumblebee/Nvidia 是否用旧版本替换了我的某个 OpenGL 库?我该如何修复此问题?

答案1

我不应该安装 linux-headers-generic。我已编辑了对另一个问题的回答以反映这一点。

相关内容