JOGL cannot run on Intel HD Graphics 3000

classic Classic list List threaded Threaded
30 messages Options
12
Reply | Threaded
Open this post in threaded view
|

JOGL cannot run on Intel HD Graphics 3000

runiter
Hi,
I have a user who cannot run my app on Intel HD Graphics 3000.

The platform is:
Windows 10
Java 1.8.0_51

The exception is this:

Java3D - GDI Generic Driver use detected.
This may be caused by any of the following issues.
If this software has been supplied to you and you are unable to modify it's configuration
please contact the suppler of this software with this entire message.
org.jogamp.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
        at org.jogamp.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8145)
        at org.jogamp.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6451)
        at org.jogamp.java3d.Canvas3D.createNewContext(Canvas3D.java:4643)
        at org.jogamp.java3d.Canvas3D.createNewContext(Canvas3D.java:2389)
        at org.jogamp.java3d.Renderer.doWork(Renderer.java:938)
        at org.jogamp.java3d.J3dThread.run(J3dThread.java:271)

But he downloaded the latest drivers from manufacturer website.
And according to GPU-Z program, his graphics card does support OpenGL 1.3:



Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby
https://downloadcenter.intel.com/product/81500/Intel-HD-Graphics-3000

Intel have EOL the HD Graphics 3000 and not created a proper Windows 10 OpenGL driver. Windows 8 is the last windows version with driver support from Intel.

There is one user who claim you can add a compatibility layer to get OpenGL 3.1 working with HD Graphics 3000.

HD Graphics 3000 using Linux is supported by the operating system and Intel's openspurce drivers. With Linux I think you get OpenGL 3.3 support.

Den tors 10 sep. 2020 03:03runiter [via jogamp] <[hidden email]> skrev:
Hi,
I have a user who cannot run my app on Intel HD Graphics 3000.

The platform is:
Windows 10
Java 1.8.0_51

The exception is this:

Java3D - GDI Generic Driver use detected.
This may be caused by any of the following issues.
If this software has been supplied to you and you are unable to modify it's configuration
please contact the suppler of this software with this entire message.
org.jogamp.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
        at org.jogamp.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8145)
        at org.jogamp.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6451)
        at org.jogamp.java3d.Canvas3D.createNewContext(Canvas3D.java:4643)
        at org.jogamp.java3d.Canvas3D.createNewContext(Canvas3D.java:2389)
        at org.jogamp.java3d.Renderer.doWork(Renderer.java:938)
        at org.jogamp.java3d.J3dThread.run(J3dThread.java:271)

But he downloaded the latest drivers from manufacturer website.
And according to GPU-Z program, his graphics card does support OpenGL 1.3:



Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D



If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/JOGL-cannot-run-on-Intel-HD-Graphics-3000-tp4040802.html
To start a new topic under jogl, email [hidden email]
To unsubscribe from jogamp, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Solo Cubos
Hi, i am this user, as you wrote, i tried this solution, but it did not work, at first Runiter recommended me to install Oem´s (in my case is Dell) driver for this gpu (intel hd 3000), and i did it, the driver´s version was 8.17.10.2843 from Aug 21, 2012, but this driver acoording to Dell, this driver works fine in windows 7 and windows 8, but i am using windows 10, and this older driver works, but no for Graphing Calculator 3D. In intel support page for intel hd 3000, the most recently version is 9.17.10.4229 from May 26, 2015, for windows 7, 8  and 8.1, not 10, but i installed it and work, but program stills failing with the same error, finally i tried the last version from microsoft update catalog, 9.17.10.4459 from Jun 18, 2016 disegned for windows 10 according to microsoft update catalog, but the program still not work, always show me the same error, finally i tested the solution for opengl on intel hd 3000, Runiter sent me the an article in intel support page with a solution for my problem with Opengl, in this page i found the same link tha you posted here, and i followed steps, but i had 2 problems, the first one is that i did not know where windows save the store downloaded apps, searching in google, i found that this apps save in C:\Program Files\WindowsApps, but there are forders, not executables, i was searching in each folder up to i found the .exe from Graphing Calculator 3D in this path C:\Program Files\WindowsApps\Runiter.GraphingCalculator3D_8.0.2.0_x64__21zcfq4a1a71p, i selected .exe and continued steps from article. When i finished all, i tried to execute program from start menu, but what was my surpise?, program stills failing with same error, in this point i read the error log to find manually a solution and here said that program requires Opengl1.2, and my gpu suppot up to Opengl1.1, but my gpu support opengl 3.1 according to gpu-z program and another internet pages like notebook check and techpowerup, Finally i tested modified drivers for this gpu, but program stills failing, i downloaded Java3D from oracle´s page, and i got same error. I don´t know what to do, i can say that i tested all, my last solution could be install windows 8 and test program, but is a program donwloaded from microsoft store and it is no available for windows 8, another option is buy a new graphics card, but i have a laptop
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby
Hello Solo

Can you try the GPU Caps Viewer tool as well
http://www.ozone3d.net/gpu_caps_viewer/
and check that you driver support OpenGL 1.2 as requested by your application. Some new opengl driver only support the programmable OpenGL 3 and have dropped support for backward compatible OpenGL 1 and 2.

Also to fully understand what JogAmp JOGL detect on your machine we need you to
download and unpack the latest jogamp version
https://jogamp.org/deployment/jogamp-next/archive/jogamp-all-platforms.7z
then run the
    etc\test_dbg.bat (Using the Windows command cmd terminal)
which produces the file
test_dbg.log
file and upload it here:


If an OpenGL3.1 implementation really exist on your machine then it must get detected, the debug log may give us clarity why the detection of OpenGL 3.1 fail and if it is backward compatible with OpenGL 1.2. For what we understand only the Windows provided OpenGL 1.1 implementation is detected and used.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby
I notice that the initial report is about java 3d.

Are you using the latest Java 3D 1.7.1-build-20200222?
https://jogamp.org/deployment/java3d/

Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

runiter
Xerxes,
It is Java3D 1.7.1
Although I'm not sure what build it is.
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

gouessej
Administrator
Hello

It's a known concern, neither Java3D nor JOGL are to blame, the OpenGL driver for Intel HD Graphics just crashes with Windows 10-ready softwares. There are several unsatisfying workarounds, one end user reported to fix this problem by updating its driver but the best solution consists in using another GPU. There's nothing we can do.

At first, look for the other solutions we tried, we mentioned them in this forum.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

runiter
Julien,
Do you have a link to the workaround that worked for that one user?
I couldn't find it when searching for it.
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby
This post was updated on .
https://github.com/pal1000/save-legacy-intel-graphics
This repository is intended to be a catalog of fixes to get OpenGL working on Windows 10 in combination with the end of life intel GPUs.
JogAmp has not tested any of these fixes hence we do not know what fix work to enable a working OpenGL driver in combination with various unsupported intel GPU when using windows 10.

The save-legacy-intel-graphics repository mention that the non-windows-10-compatible intel OpenGL driver DLL is unloaded in case the application, java, is marked as windows 10 compatible.
The workarounds is to mark the "java" executable as not-windows-10-compatible in order for the  old OpenGL driver to load.
Citation from the above inked page:
"Programs that advertise compatibility get current OS version when they ask for it, others get the old 6.3 format. When implementing this Microsoft forgot about dynamic link libraries or maybe was unable to do anything about them. There is no similar mechanism(s) for DLLs as far as I know, they always inherit Windows version received by the programs that loads them. As a result of this, things go south when a program advertising Windows 10 compatibility (java) loads a DLL that is not ready for current Windows 10 major version (the intel OpenGL driver). Anything can happen but most likely the DLL just unloads right away (Intel OpenGL driver refuses to load). Intel OpenGL driver for iGPU generations listed above is the perfect example and as a result it unloads immediately."

The reason the GPU-Z test tool work is because it is not marked as Windows 10 compatible.
Hence a solution is to use a java JRE that is not marked as windows 10 compatible. I do not know of any build of OpenJDK that is compiled in such a way that it is NOT marked as Windows 10 compatible.
The workaround is to instruct windows to treat the java executable as not windows 10 compatible by follow the tutorial mentioned earlier, it is important to specify the java executable when following the tutorial: https://gist.github.com/rb-dahlb/26f316c5b6089807a139fc44ee69f0d1

If the user have a working OpenGL driver setup then it will work with JogAmp JOGL as well.
This is the reason I asked for the JOGL debug log that is crucial to understand what drivers are detected: http://forum.jogamp.org/JOGL-cannot-run-on-Intel-HD-Graphics-3000-tp4040802p4040807.html



When windows 10 users are testing OpenGL inside a webbrowser such as chrome or edge then the webbrowser contains a compatibility layer called Angle
https://github.com/google/angle
Angle allows the webbroser to use OpenGL ES by emulating it using Direct X

We have discussed inside the JogAmp project to build and ship Angle with JOGL as a fallback when the OpenGL driver is not working on Windows. This would require someone to sponsor the work.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

gouessej
Administrator
In reply to this post by runiter
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby
In reply to this post by Solo Cubos
Hi,
I came think of one more way to make OpenGL work with software emulation in case you are using an Intel HD Graphics 3000

It is possible to compile Mesa3D for Windows, here is recent builds of Mesa3D for windows
https://fdossena.com/?p=mesa/index.frag

You may be able to get Java3D to run by using this driver.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Solo Cubos
I tested with geeks 3D Caps Viewer and it show that

I think that Opengl is Ok, because i play minecraft Java and it requieres Ogl 4.4, and i run it in mu gpu with Ogl 3.1, Pic here:

I´ll test Mesa .dll, may be that program that i need, run.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby
Solo Cubos wrote
I think that Opengl is Ok, because i play minecraft Java and it requieres Ogl 4.4, and i run it in mu gpu with Ogl 3.1
The minecraft image show that Microsoft/Mojang decide to use an old java version 1.8.0 51 from 2015 (before the windows 10 release) that is marked as "not" windows 10 compatible in order for the "not" windows 10 compatible OpenGL driver to load.

You can try use the exact same java version from the minecraft installation to run java 3d and that combination (old java + old opengl driver) should allow the intel opengl driver to work using jogl as well.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

runiter
Hi Xerxes,
As I mentioned above, this app is also bundled with Java 1.8.0_51
But the user continues to see this error anyways.
So it appears that at least in this case, Java version is not the culprit.

Is there any other explanation for why Minecraft works flawlessly in this user computer but not JOGL?
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

Xerxes Rånby

Den lör 19 sep. 2020 kl 18:17 skrev runiter [via jogamp] <[hidden email]>:
Hi Xerxes,
As I mentioned above, this app is also bundled with Java 1.8.0_51
But the user continues to see this error anyways.
So it appears that at least in this case, Java version is not the culprit.

Is there any other explanation for why Minecraft works flawlessly in this user computer but not JOGL?
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D



If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/JOGL-cannot-run-on-Intel-HD-Graphics-3000-tp4040802p4040819.html
To start a new topic under jogl, email [hidden email]
To unsubscribe from jogamp, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

gouessej
Administrator
In reply to this post by runiter
Are you sure that you use the JRE bundled with your software?

Yes, there is another possible explanation. Minecraft isn't an open source game as far as I know, nothing prevents Microsoft from using a mechanism to detect some concerns on specific drivers like we sometimes do in JOGL itself but as we have no access to its source code, there is nothing than we can reuse in JOGL.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

runiter
Yes I'm sure about the java version because I log the java version right before logging the OpenGL exception and the log shows that Java version was Java 1.8.0_51 at the time of exception
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

gouessej
Administrator
Thank you for the feedback but then, we really need the debug logs, Xerxes is right. I have no access to a similar hardware.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

gouessej
Administrator
In reply to this post by runiter
Have you ever tried to run JOGL without Java3D on this machine?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL cannot run on Intel HD Graphics 3000

runiter
In reply to this post by gouessej
gouessej wrote
Thank you for the feedback but then, we really need the debug logs, Xerxes is right. I have no access to a similar hardware.
Problem is, I can't ask my users to install specific version of java and possibly uninstall other versions of java and then download and run your jogl. It's too complicated for my non-techy users.

Do you have an exe that bundles everything in one exe file?
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
12