Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The system: Dell Latitude E6520

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

Ubuntu 12.04

I installed bumblebee.

I installed PyOpenGL and am following the tutorial (http://pyopengl.sourceforge.net/context/tutorials/shader_1.xhtml)

Result on Python says:


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)


I know NVIDIA Graphics with Optimus can not be supported on Ubuntu. But I think Intel Graphics should support the latest version of OpenGL.

(1) What should I do? Can I update something like drivers to make Intel Graphics support the GLSL 3.30?

(2) If I can not, how can I use lower version of OpenGL in PyOpenGL? On http://pyopengl.sourceforge.net/, it writes: PyOpenGL 3.0.2 includes support for: OpenGL v1.1 through 4.3

So there would be an option to set OpenGL at a lower version. But I failed to find the way to do it.

Help!! Thanks in advance!

[Update] (1)

So there would be an option to set OpenGL at a lower version. But I failed to find the way to do it.

I found the option in the code. Need to specify the version; of course, consequently some code too.

(2) From the wiki/GLSL#Versions, the corresponding GLSL versions are

GLSL version OpenGL version 1.30.10 3.0 1.40.08 3.1 1.50.11 3.2 3.30.6 3.3

So it seems Intel Graphics 3000 support OpenGL Version 3.0.

I went to the Intel official website and Linux driver website, fail to find the answer. (Drivers for Linux* (I am not allowed to post more than 2 links :(

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

But now I almost know I will use OpenGL 3.0 and only follow tutorials for OpenGL 3.0. Who could recommend good ones?

share|improve this question
    
as it seems, Intel is still working on OpenGL 3.1 for Linux , best bet would be to use your Nvidia card with the proprietary driver for the task. – Ganesh Hegde Feb 16 '13 at 9:26

If you have the latest intel linux graphics stack, you need to specify that you want glsl #version 330 core

share|improve this answer

Came across this question accidentally and thought, maybe someone is facing the same today ...

Your NVIDIA NVSTM 4200M graphics is supported by the latest official NVIDIA drivers 355.11 !
Completely remove all NVIDIA software and replace it with the NVIDIA drivers 355 and Optimus.

When the GRUB boot menu appears : Highlight the Ubuntu menu entry and press the E key.
Add the nouveau.modeset=0 parameter to the end of the linux line ... Then press F10 to boot.

When the login screen appears press Ctrl+Alt+F1.

Enter your user name and password. Now uninstall every NVIDIA related software by executing:

sudo apt-get purge nvidia* bumblebee  
sudo reboot

When the GRUB boot menu appears : Highlight the Ubuntu menu entry and press the E key.
Add the nouveau.modeset=0 parameter to the end of the linux line ... Then press F10 to boot.

When the login screen appears press Ctrl+Alt+F1.

Enter your user name and password. Now reinstall the NVIDIA drivers by executing:

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

For further information about the NVIDIA 355 drivers release refer to the NVIDIA release notes.

You can check the OpenGL version with :

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

The output shows something like this :

OpenGL version string: 4.5.0 NVIDIA 355.11
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.