不支持 GLSL 3.30(Ubuntu 12.04、Intel HD Graphics 3000 和带有 Optimus 的 NVIDIA Graphics)

不支持 GLSL 3.30(Ubuntu 12.04、Intel HD Graphics 3000 和带有 Optimus 的 NVIDIA Graphics)

系统:Dell Latitude E6520

显卡

Intel® HD Graphics 3000
NVIDIA® NVSTM 4200M (DDR3 512MB) Discrete Graphics with Optimus

Ubuntu 12.04

我安装了大黄蜂。

我安装了 PyOpenGL 并按照教程(http://pyopengl.sourceforge.net/context/tutorials/shader_1.xhtml

Python 上的结果是:


RuntimeError: ('Shader compile failure (0): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.00 ES, 1.10, 1.20, and 1.30\n\n', ['#version 330\n        void main() {\n            gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n        }'], GL_VERTEX_SHADER)

我知道 Ubuntu 不支持 NVIDIA Graphics with Optimus。但我认为 Intel Graphics 应该支持最新版本的 OpenGL。

  1. 我该怎么办?我可以更新驱动程序之类的东西以使英特尔显卡支持 GLSL 3.30 吗?

  2. 如果不能,我如何在 PyOpenGL 中使用较低版本的 OpenGL?http://pyopengl.sourceforge.net/,它写道:PyOpenGL 3.0.2 包括对以下版本的支持:OpenGL v1.1 至 4.3

因此可以选择将 OpenGL 设置为较低版本。但我找不到方法。

救命!提前谢谢!

[更新](1)

因此可以选择将 OpenGL 设置为较低版本。但我找不到方法。

我在代码中找到了该选项。需要指定版本;当然,因此也需要一些代码。

(2)从 wiki/GLSL#Versions 来看,对应的 GLSL 版本是

GLSL 版本 OpenGL 版本 1.30.10 3.0 1.40.08 3.1 1.50.11 3.2 3.30.6 3.3

因此看来 Intel Graphics 3000 支持 OpenGL 版本 3.0。

我去了英特尔官方网站和 Linux 驱动程序网站,但找不到答案。(Linux 驱动程序*(我不允许发布超过 2 个链接 :(

Linux 图形 https://01.org/linuxgraphics/search/node/HD%20Graphics%203000

但现在我几乎知道我将使用 OpenGL 3.0,并且只遵循 OpenGL 3.0 的教程。谁能推荐一些好的教程?

答案1

偶然看到了这个问题,并想到,也许今天有人也面临同样的情况......

你的NVIDIA NVSTM 4200M图形由最新的官方支持NVIDIA 驱动程序 355.11
彻底删除所有 NVIDIA 软件并用 NVIDIA 驱动程序 355 和 Optimus 替换。

当。。。的时候GRUB 启动菜单出现 :突出显示Ubuntu 菜单项然后按下E键。将参数
添加nouveau.modeset=0到 linux 行的末尾...然后按F10启动。

当登录屏幕出现时按Ctrl+ Alt+ F1

输入您的用户名和密码。现在通过执行以下命令卸载所有与 NVIDIA 相关的软件:

sudo apt-get purge nvidia* bumblebee  
sudo reboot

当。。。的时候GRUB 启动菜单出现 :突出显示Ubuntu 菜单项然后按下E键。将参数
添加nouveau.modeset=0到 linux 行的末尾...然后按F10启动。

当登录屏幕出现时按Ctrl+ Alt+ F1

输入您的用户名和密码。现在通过执行以下命令重新安装 NVIDIA 驱动程序:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot  

有关 NVIDIA 355 驱动程序版本的更多信息,请参阅NVIDIA 发行说明

您可以使用以下命令检查 OpenGL 版本:

sudo apt-get install mesa-utils
sudo glxinfo | grep "OpenGL version"  

输出内容如下:

OpenGL version string: 4.5.0 NVIDIA 355.11

相关内容