Login  Register

Enabling OpenGL GL2 compatible profile on a certain machine - problem!

Posted by Mabula Haverkamp on Sep 12, 2018; 10:29am
URL: https://forum.jogamp.org/Enabling-OpenGL-GL2-compatible-profile-on-a-certain-machine-problem-tp4039189.html

Dear support,

I am developing an advanced image processing application (astrophotography) which works identical on Windows, Linux & MacOS.

Recently I have built in suport for OpenGL for the image viewer window using JOGL.

I am using only GL2 instructions.

I am initializing OpenGL with the following command to verify if a suitable OpenGL profile is available:

------------------------------------------------

glProfile = GLProfile.getMaxFixedFunc(true);
                               
if (glProfile != null) {
               
        // check compatible profile for FIXED Function GL2 interface
        if (glProfile.isGL2()) {
                               
                //System.out.println("GLG2 compatible");
                //System.out.println("Fixed Function glProfile " + glProfile.getName());
               
                openGL2Enabled = true;
                createGLImageViewer();
               
        } else {
                       
                openGL2Enabled = false;
                createNonGLImageViewer();
                               
        }
                       
} else {
                       
        openGL2Enabled = false;
        createNonGLImageViewer();
                       
}

----------------------------------------

Previously, I simply used GLProfile.getDefault(). I switched to GLProfile.getMaxFixedFunc(true) to be sure to select a Fixed Function Pipeline profile using a GPU if available on the system.

On most systems this works. But not on all. One of my customers has a windows 10 Pro machine with a Nvidia gtx 780 graphics card. For some odd reason, OpenGL won't be enabled on this machine and we have tried both

- GLProfile.getDefault()
- GLProfile.getMaxFixedFunc(true)

To be sure that there is no problem with the nvidia control panel software, I asked the customer to set the right funtions, like using by default the advanced 3D-screen configuration and we also tried to force OpenGL rendering GPU for the specific application. Unfortunately, for some reason, OpenGL won't be enabled on his machine in my application.

To further investigate, I send the customer a test version, which will output details on the OpenGL initialization, this is the output from his machine:

https://www.astropixelprocessor.com/wp-content/uploads/2018/09/OpenGL-NvidiaGTX780-profiles.jpg

Based on this, I have no clue why OpenGL is not enabled with a OpenGL2 compatible profile.

I suspect, a possible reason might be that there is other GPU/APU enabled hardware in the machine, perhaps on the motherboard. Is that suspicion valid?

EDIT: i just got confirmation of my customer that his motherboard is a ASUS Z87-EXPERT, which has iGPU capabilities, so that strenghtens my suspicion that this might have to do with my problem.

Can you tell me how I can change the OpenGL initialization so OpenGL will be used properly on this particular machine?

Kind regards,
Mabula