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
|
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. Instructions here: https://gist.github.com/rb-dahlb/26f316c5b6089807a139fc44ee69f0d1 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, |
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
|
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. |
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/ |
Xerxes,
It is Java3D 1.7.1 Although I'm not sure what build it is.
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
|
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
|
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
|
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. |
Administrator
|
In reply to this post by runiter
https://jogamp.org/bugzilla/show_bug.cgi?id=1278
http://forum.jogamp.org/Java3D-crash-intel-4000-td4029426.html Good luck. Xerxes is right.
Julien Gouesse | Personal blog | Website
|
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. |
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. |
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. |
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
|
I need someone to produce the jogl debug log. Den lör 19 sep. 2020 kl 18:17 skrev runiter [via jogamp] <[hidden email]>: Hi Xerxes, |
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
|
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
|
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
|
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
|
In reply to this post by gouessej
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
|
Free forum by Nabble | Edit this page |