Can't get OpenGL 3.2 compatibility context Ubuntu Intel card

I can get a 3.3 core profile or a 3.0 profile if I don’t specify which version I need, but I can’t get a 3.2 core or compatibility version, which is the one I require.

glxinfo says

name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel® Ivybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.0-devel (git-96a95f4 saucy-oibaf-ppa)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 10.3.0-devel (git-96a95f4 saucy-oibaf-ppa)
OpenGL shading language version string: 1.30

So is the 3.2 version not supported by my driver? I have an integrated Intel videocard on my laptop in addition to a high-performance NVidia Quadro. Is there any way to programmatically switch to the high-performance card using SDL2? Has this been encountered before?

OpenGL 3.3 is a pure superset of OpenGL 3.2. Drivers are allowed by the spec to give you versions higher than what you request if the version is a superset of what you requested, since all your code will work in that version (so if you get a 3.3 context, all code written for OpenGL 3.2 will still work.)

Compatibility Profile isn?t supported in any Mesa or Mac OS X driver, and only exists so that programs can (unfortunately) mix OpenGL concepts that only made sense in the 1990?s with OpenGL concepts that only make sense in 2014 (legacy OpenGL 2.x and below is different from Compatibility Profile.) I would probably avoid it.On Jun 20, 2014, at 8:14 PM, polyfrag wrote:

I can get a 3.3 core profile or a 3.0 profile if I don’t specify which version I need, but I can’t get a 3.2 core or compatibility version, which is the one I require

Alex Szpakowski wrote:

Drivers are allowed by the spec to give you versions higher than what you request if the version is a superset of what you requested, since all your code will work in that version (so if you get a 3.3 context, all code written for OpenGL 3.2 will still work.

I couldn’t get 3.2 core either.

Compatibility Profile isn?t supported in any Mesa or Mac OS X driver
A person who helped port it to linux ran it just fine, though at 1 FPS, though that might’ve been because of a bigger, more complex model being rendered accidentally instead of trees.

and only exists so that programs can (unfortunately) mix OpenGL concepts that only made sense in the 1990?s with OpenGL concepts that only make sense in 2014 (legacy OpenGL 2.x and below is different from Compatibility Profile.) I would probably avoid it.

This is a pain. I either have to rewrite the unsupported shader functions on the CPU side, like reflect, and use 2.1, or make everthing use vertex array objects and use 3.3 core. Mmm.

Since the latest version of Mesa implements Core Profile OpenGL 3.3 (a superset of Core Profile OpenGL 3.2) on most GPUs, that?s what it?ll give you at runtime if you request Core Profile 3.2 - and code written for 3.2 will continue to work.On Jun 20, 2014, at 8:51 PM, polyfrag wrote:

I couldn’t get 3.2 core either

I switched to OpenGL 3.0 now and testing on ubuntu on a ~2007 Dell Inspiron 530 with an Nvidia GeForce 8300GS which supports DIrectX 10. It doesn’t detect the nvidia videocard and I can only get OpenGL 1.4 on the integrated Intel card. What to do?

I tried the bumblebee project http://bumblebee-project.org/ but it can’t start the bumblebee daemon because it says it doesn’t detect a discrete videocard. I searched around and it might mean I need to update my BIOS. Is there any other option? Will every user of my app be required to do this if they have a similar setup?

Check out the arch Linux wiki for bumblebee (
https://wiki.archlinux.org/index.php/bumblebee ) - the only differences
you’ll find is with package names.On 25 Jun 2014 18:48, “polyfrag” wrote:

I tried the bumblebee project http://bumblebee-project.org/ but it can’t
start the bumblebee daemon because it says it doesn’t detect a discrete
videocard. I searched around and it might mean I need to update my BIOS. Is
there any other option? Will every user of my app be required to do this if
they have a similar setup?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Running

Code:
lspci -nn | grep ‘[030[02]]:’

returns

Code:
00:02.0 VGA compatible controller [0300]: Intel Corporation 82G33/G31 Express Integrated Graphics Controller [8086:29c2] (rev 02)

But no nvidia card.

My problem specifically is on line 367 of the bumblebee source code in main():

Code:
/* first load the config to make the logging verbosity level available */
init_config(argc, argv);
pci_bus_id_discrete = pci_find_gfx_by_vendor(PCI_VENDOR_ID_NVIDIA);
if (!pci_bus_id_discrete) {
bb_log(LOG_ERR, “No nVidia graphics card found, quitting.\n”);
return (EXIT_FAILURE);
}

I don’t see this addressed in the arch wiki.
https://wiki.archlinux.org/index.php/bumblebee

Though it says there in the Intel/NVidia install instructions:

Install intel-dri, xf86-video-intel, bumblebee and nvidia. If you have intel-dri and xf86-video-intel installed, you will have to reinstall them together with the rest to avoid a dependency conflict between intel-dri and nvidia.
If you want to run 32-bit applications (like games with wine) on a 64-bit system you need the lib32-nvidia-utils (and lib32-intel-dri if you intend to use primusrun) package too.

https://wiki.archlinux.org/index.php/bumblebee#Installing_Bumblebee_with_Intel.2FNVIDIA

I thought I already set this up in the
https://wiki.ubuntu.com/Bumblebee#Installation
but it turns out I used the instructions for older ubuntu. Will get back after I reboot.

What steps have you done regarding installing bumblebee? In all
likelihood, you’ll have to uninstall every bumblebee/nvidia package you
have, reboot, and start from the beginning. I found bumblebee a little
tedious to install for me in archlinux, but now, it works flawlessly.On Wed, Jun 25, 2014 at 7:43 PM, polyfrag wrote:

Running

Code:

lspci -nn | grep ‘[030[02]]:’

http://askubuntu.com/questions/159767/the-bumblebee-daemon-has-not-been-started-yet-or-the-socket-path-var-run-bumble

returns

Code:

00:02.0 VGA compatible controller [0300]: Intel Corporation 82G33/G31
Express Integrated Graphics Controller [8086:29c2] (rev 02)

But no nvidia card.

My problem specifically is on line 367 of the bumblebee source code in
main():
https://github.com/Samsagax/bumblebeed/blob/master/src/bumblebeed.c

Code:

/* first load the config to make the logging verbosity level available
*/
init_config(argc, argv);
pci_bus_id_discrete = pci_find_gfx_by_vendor(PCI_VENDOR_ID_NVIDIA);
if (!pci_bus_id_discrete) {
bb_log(LOG_ERR, “No nVidia graphics card found, quitting.\n”);
return (EXIT_FAILURE);
}

I don’t see this addressed in the arch wiki.
https://wiki.archlinux.org/index.php/bumblebee

Though it says there in the Intel/NVidia install instructions:

Quote:

Install intel-dri, xf86-video-intel, bumblebee and nvidia. If you have
intel-dri and xf86-video-intel installed, you will have to reinstall them
together with the rest to avoid a dependency conflict between intel-dri and
nvidia.
If you want to run 32-bit applications (like games with wine) on a 64-bit
system you need the lib32-nvidia-utils (and lib32-intel-dri if you intend
to use primusrun) package too.

https://wiki.archlinux.org/index.php/bumblebee#Installing_Bumblebee_with_Intel.2FNVIDIA

I thought I already set this up in the
https://wiki.ubuntu.com/Bumblebee#Installation
but it turns out I used the instructions for older ubuntu. Will get back
after I reboot.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

I ran

sudo apt-get install bumblebee bumblebee-nvidia virtualgl linux-headers-generic
sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic

Will try the arch instructions now. If that doesn’t work, I guess I’ll try uninstalling and reinstalling.

I can’t find those packages like intel-dri and xf86-video-intel for ubuntu.

I tried updating my BIOS but this Inspiron 530 won’t even boot FreeDOS from USB or CD. My laptop boots it fine.

Like I said, the package names are probably different. Did you try the
instructions from https://wiki.ubuntu.com/Bumblebee ? If so, what I
recommend is removing all the bumblebee packages, rebooting, and start
doing those instructions from the beginning. I suspect Ubuntu’s package
manager already deals with the intel dri needing to be installed properly
with nvidia, so that should be alright.

I haven’t used Ubuntu in a number of years, and never with primus, so I’m
not sure if i can help you with apt-get’ing the individual packagtes.
Follow the ubuntu guide for installing, and the arch guide for configuring
(arch’s wiki is really quite robust for most package configurations).

I hope that points you in the right direction!On Thu, Jun 26, 2014 at 4:25 AM, polyfrag wrote:

I tried updating my BIOS but this Inspiron 530 won’t even boot FreeDOS
from USB or CD. My laptop boots it fine.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

I installed windows to upgrade the BIOS, reinstalled ubuntu. Tried following the instructions here in case I have a non-Optimus hybrid https://help.ubuntu.com/community/HybridGraphics and it says

Code:
root at polyf-Inspiron-530:/sys/kernel/debug# grep -i switcheroo /boot/config-*
CONFIG_VGA_SWITCHEROO=y

But /sys/kernel/debug/vgaswitcheroo/switch is missing. /sys/kernel/debug/vgaswitcheroo/ isn’t even there.

It says this method won’t work with Optimus, so I’m going to try bumblebee one more time.

Just wondering, I installed libglu-dev and libsdl2-dev and it installed nouveou and xorg and other libraries. I wonder if that causes a problem.

Code:
No Nvidia card found. If you really have an Optimus system,
try selecting the Optimus setup in BIOS and run:
sudo dpkg-reconfigure bumblebee-nvidia

Well, it installed nvidia-304, “Latest Legacy GPU version”

http://www.nvidia.ca/object/unix.html

And since my discrete card is geforce 8300 gs

That is the correct package

http://www.nvidia.com/Download/driverResults.aspx/73965/en-us

The Inspiron 530 has integrated Intel GMA 3100, and can be customized up to an ATI Radeon HD 4670 discrete graphics card.

I opened up my case and it turns out I don’t have a discrete card. Just an ATI TV tuner. This page says it should have an NVidia.