Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1) #18

Open
ctrueden opened this issue Apr 19, 2016 · 54 comments
Open

Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1) #18

ctrueden opened this issue Apr 19, 2016 · 54 comments
Labels

Comments

@ctrueden
Copy link
Member

Several people have now reported the following error:

org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
    at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083)
    at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440)
    at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
    at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
    at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
    at org.scijava.java3d.J3dThread.run(J3dThread.java:271)

These reports indicate new systems with new high-quality graphics cards, so it seems unlikely that the version of OpenGL is actually that old. Need to investigate...

@ctrueden
Copy link
Member Author

For those who stumble across this issue: could you please comment here with your system configuration? In particular, OS version, Java version, and which graphics card you have? Maybe a pattern will emerge which helps us troubleshoot somehow.

@tinevez
Copy link
Member

tinevez commented Apr 20, 2016

Here is the debug info for my windows 10 machine, on which I have this bug (to reproduce, open the flybrain.tif example, run the 3D viewer):

os.arch => amd64
os.name => Windows 10
os.version => 10.0
java.version => 1.8.0_65
java.vendor => Oracle Corporation
java.runtime.name => Java(TM) SE Runtime Environment
java.runtime.version => 1.8.0_65-b17
java.vm.name => Java HotSpot(TM) 64-Bit Server VM
java.vm.version => 25.65-b01
java.vm.vendor => Oracle Corporation
java.vm.info => mixed mode
java.awt.graphicsenv => sun.awt.Win32GraphicsEnvironment
java.specification.name => Java Platform API Specification
java.specification.version => 1.8
sun.cpu.endian => little
sun.desktop => windows
file.separator => \

And for the graphic card:
NVIDIA GeForce GTX 970
Manufacturer NVIDIA
Model GeForce GTX 970
Device ID 10DE-13C2
Revision A2
Subvendor CardExpert Technology (10B0)
Current Performance Level Level 0
Voltage 0.862 V
Technology 28 nm
Bus Interface PCI Express x16
Temperature 35 °C
Driver version 10.18.13.6451
BIOS Version 84.04.31.00.06

@tinevez
Copy link
Member

tinevez commented Apr 20, 2016

A side note: for debugging on of my plugin in Eclipse (MaMuT), I downloaded the jogl and jocl files from the jogl website and have the Eclipse launcher use them. This bug does not happen.

@ctrueden
Copy link
Member Author

for debugging on of my plugin in Eclipse (MaMuT), I downloaded the jogl and jocl files from the jogl website and have the Eclipse launcher use them.

Which version? Same as what ships with Fiji? Or newer?

@tinevez
Copy link
Member

tinevez commented Apr 20, 2016

@ctrueden
Copy link
Member Author

OK, I downloaded it, just to check, and it is 2.3.2. The same version we ship with Fiji. 😕

@tinevez
Copy link
Member

tinevez commented Apr 20, 2016

But:

capture

It works from Eclipse, but not from Fiji.

@ctrueden
Copy link
Member Author

Can you diff the output of the "System Information" command to see what the differences are?

@biovoxxel
Copy link

biovoxxel commented Apr 29, 2016

Same problem with the 3D viewer as soon as I use Fiji with Java 8 (see settings below).
The error message is the same as above (but could it be that the actual problem is the OpenCL not OpenGL???)

Console error output:
org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083)
at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
Exception occurred in RenderingErrorListener:
java.lang.RuntimeException
at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330)
at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198)
at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86)
at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)

Information about my version of Java:

os.arch => amd64
os.name => Windows 7
os.version => 6.1
java.version => 1.8.0_66
java.vendor => Oracle Corporation
java.runtime.name => Java(TM) SE Runtime Environment
java.runtime.version => 1.8.0_66-b18
java.vm.name => Java HotSpot(TM) 64-Bit Server VM
java.vm.version => 25.66-b18
java.vm.vendor => Oracle Corporation
java.vm.info => mixed mode
java.awt.graphicsenv => sun.awt.Win32GraphicsEnvironment
java.specification.name => Java Platform API Specification
java.specification.version => 1.8
sun.cpu.endian => little
sun.desktop => windows
file.separator => \

Graphic Card:

NVIDIA GeForce GT 525M
OpenGL = 4.4
OpenCL = 1.1
Information about the version of each plugin:

Activated update sites:
ImageJ: http://update.imagej.net/ (last check:20160423005140)
Fiji: http://update.fiji.sc/ (last check:20160418172001)
Java-8: http://sites.imagej.net/Java-8/ (last check:20160428180103)
3D ImageJ Suite: http://sites.imagej.net/Tboudier/ (last check:20160401080854)
Bio-Formats: http://sites.imagej.net/Bio-Formats/ (last check:20160429032649)
Biomedgroup: http://sites.imagej.net/Biomedgroup/ (last check:20160318103608)
BioVoxxel: http://sites.imagej.net/BioVoxxel/ (last check:20160407183326)
HDF5: http://sites.imagej.net/Ronneber/ (last check:20150214134119)
IBMP-CNRS: http://sites.imagej.net/Mutterer/ (last check:20160209132947)
IJPB-plugins: http://sites.imagej.net/IJPB-plugins/ (last check:20160112122924)
Morphology: http://sites.imagej.net/Landini/ (last check:20160416124441)
ScientiFig: http://sites.imagej.net/Aigouy/ (last check:20160428095410)

@GravityWinz
Copy link

I am seeing the same error but on Windows 7 64 bit:

os.arch = amd64
os.name = Windows 7
os.version = 6.1

java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.8.0_66-b18
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 1.8
java.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
java.version = 1.8.0_66
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.8
java.vm.vendor = Oracle Corporation
java.vm.version = 25.66-b18

Graphics card id the
GeForce GT720:
Driver version 364.72

@ctrueden
Copy link
Member Author

@ctrueden
Copy link
Member Author

For those affected by this bug: a developer on the JogAmp Java 3D forum posted the following suggestion:

Please run this program and post the result here.

You may have to add jogamp.org to the exception list to run it.

I did not run it (I do not have an affected system), but if anyone else has a few spare minutes to try, it might be helpful!

@ctrueden
Copy link
Member Author

ctrueden commented Jun 3, 2016

There is a hack you can now try, to see whether it fixes the issue on your system:

  • Download it here.
  • Rename your old jars/j3dcore-1.6.0-scijava-2.jar to jars/j3dcore-1.6.0-scijava-2.jar.bak.
  • Drop the newly downloaded JAR into the jars folder.
  • Restart ImageJ and try the 3D Viewer.

I tested this on a Windows 10 VM which suffers from this problem, and received the following (slightly different than before!) error:

org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
    at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8086)
    at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6443)
    at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
    at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
    at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
    at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
J3dI18N: Error looking up: Renderer7

ctrueden added a commit to scijava/java3d-core that referenced this issue Jun 3, 2016
Thanks to Philip Jordan; see discussion at:
http://forum.jogamp.org/Java-3D-crash-or-flickering-tp4035074p4036787.html

This temporary workaround may avoid certain problems in the 3D_Viewer:
* fiji/3D_Viewer#17
* fiji/3D_Viewer#18
@biovoxxel
Copy link

Hi Curtis,

same thing here. Attached the two error messages in comparison as info on Win7 (system is stated upstream in my last post):

3D [dev] 1.6.0-scijava-3-SNAPSHOT-pre11-daily-experimental daily

org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8086)
at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6443)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
J3dI18N: Error looking up: Renderer7
Exception occurred in RenderingErrorListener:
java.lang.RuntimeException
at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330)
at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198)
at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86)
at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)

3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily

org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083)
at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
Exception occurred in RenderingErrorListener:
java.lang.RuntimeException
at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330)
at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198)
at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86)
at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)

@bpavie
Copy link

bpavie commented Jun 23, 2016

Hi Curtis,

I also encounter this error (see message below) making me enable to use the 3d viewer.

Configuration:
-Windows 7 64bits
-ImageJ version: 1.51d
-Fiji is up-to-date from the 23/06/2016
-JDK 1.8.0_66
-Java-8 repository in manager is selected
-Graphic Card: NVIDIA NVS 5200M with driver version 353.90 with CUDA installed

After having following your trick to replace jars/j3dcore-1.6.0-scijava-2.jar the Test Java3D is working(Plugins>Utilities>Debugging>Test Java3D) but not the 3d viewer

Using the version Fiji Life-Line version, 2015 December 22, the problem does not occur even after having run the update so it seems to be due to the Java version (1.6 instead of 1.8).
But then off course some plugins are not working anymore (e.g. MorphoLibJ )

org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1) at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083) at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440) at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602) at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376) at org.scijava.java3d.Renderer.doWork(Renderer.java:881) at org.scijava.java3d.J3dThread.run(J3dThread.java:271) Exception occurred in RenderingErrorListener: java.lang.RuntimeException at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330) at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198) at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86) at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104) org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1) at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083) at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440) at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602) at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376) at org.scijava.java3d.Renderer.doWork(Renderer.java:881) at org.scijava.java3d.J3dThread.run(J3dThread.java:271) Exception occurred in RenderingErrorListener: java.lang.RuntimeException at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330) at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198) at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86) at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)

@habi
Copy link

habi commented Jun 24, 2016

Hello all.
I'm also running into this problem.

Configuration

  • Windows 7 Enterprise, Service Pack 1, 64 Bit
  • ImageJ version: 1.51d, (The status bar shows (Fiji is Just) ImageJ 2.0.0-rc-49/1.15d; Java 1.8.0_66 [64bit])
  • Ran the updater just now.
  • The Java-8 repository is selected in the update manager
  • Graphic Card: NVIDIA GeForce GTX TITAN X (Driver version 10.18.13.5330)

The Test Java3D plugin works, the 3D Viewer plugin not.

@bpavie
Copy link

bpavie commented Jun 30, 2016

A quick update, because it works now on the same computer, but with windows 10 instead of windows 7 (I just upgraded Windows and reinstall Fiji).

Configuration:
-Windows 10 64bits
-ImageJ version: 1.51d
-Fiji is up-to-date from the 30/06/2016
-JDK 1.8.0_66
-Java-8 repository in manager is selected
-Graphic Card: NVIDIA NVS 5200M with driver version 353.90 with CUDA installed

-3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily
-3D_Viewer-4.0.1.jar

@kmshort
Copy link

kmshort commented Jul 11, 2016

Same issue (Exception occurred in RenderingErrorListener: java.lang.RuntimeException ).

os.arch = amd64
os.name = Windows 7
os.version = 6.1

Fiji build = 2.0.0-rc-49/1.51d)
Build-Jdk = 1.8.0_72-internal
java.runtime.version = 1.8.0_66-b18
Implementation-Date = 2016-05-06
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.8
java.vm.vendor = Oracle Corporation
java.vm.version = 25.66-b18

Graphics card: Geforce 770 with Geforce 368 WHQL drivers.

If I change the j3dcore to the snapshot posted above, just produces a different error (J3dI18N: Error looking up: Renderer7).

JOGL data:
GL Profile GLProfile[GL4bc/GL4bc.hw]
GL Version 4.5 (Compat profile, arb, compat[ES2, ES3, ES31, ES32], FBO, hardware) - 4.5.0 NVIDIA 368.69 [GL 4.5.0, vendor 368.69.0 (NVIDIA 368.69)]
Quirks [NoDoubleBufferedBitmap, NoSurfacelessCtx]
Impl. class jogamp.opengl.gl4.GL4bcImpl
GL_VENDOR NVIDIA Corporation
GL_RENDERER GeForce GTX 770/PCIe/SSE2
GL_VERSION 4.5.0 NVIDIA 368.69
GLSL true, has-compiler-func: true, version: 4.50 NVIDIA / 4.50.0
GL FBO: basic true, full true
GL_EXTENSIONS 324
GLX_EXTENSIONS 29

@the-yrr
Copy link

the-yrr commented Jul 28, 2016

same problem here, but only when the nvidia graphics card is used

win 10 pro 64bit laptop
760m with geforce 368 WHQL
i7-4702MQ with intel HD 4600
JDK1.8_0-66 (64 bit), ImageJ 1.51d (newest Version from 28.7.2016)

starting Fiji with integrated graphics works fine
starting Fiji with Nvidia graphics and opening 3D viewer:

D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)

hope this might help someone, seems like java 3D doesn't like my Nvidia card

jogamp only recognizes the Intel graphics card, cant get it to work with nvidia
the fix posted by @ctrueden doesnt help

@kleinhansda
Copy link

I also get this error. With me the problem seems to be the second monitor, which I figured out today. If I unplug it from the HDMI port, it works. The problem kind of remains, but at least I know the source now.

@dnmason
Copy link

dnmason commented Oct 6, 2016

I just came across this, so in case this is helpful, same thing. Java 3D test works but 3D viewer does not.

Latest updated version of Fiji (2.0.0-rc-54/1.51g;Java 1.8.0_66 [64-bit])
Windows 7 Enterprise 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_ldr.160902-0600)
AMD Radeon HD 7520G running dual monitor (VGA/HDMI). Problem still present in single monitor mode.

Java 3D properties
JOGL
j3d.specification.vendor
1.6
1.6.0-scijava-2-pre11-daily-experimental daily
j3d.vendor
OpenGL

3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily

com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ctx !ARB but ARB is used, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL4bc/GL4bc.hw], current: 1.1 (Compat profile, compat[], hardware) - 1.1.0
    at jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(WindowsWGLContext.java:404)
    at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
    at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
    at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
    at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6412)
    at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
    at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
    at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
    at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
Exception occurred in RenderingErrorListener:
java.lang.RuntimeException
    at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330)
    at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198)
    at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86)
    at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)

@paultallard
Copy link

I see the following line in 2 of the above listings.
java.awt.graphicsenv => sun.awt.Win32GraphicsEnvironment
I am getting this rendering error on a Lenovo with an Intel G41 chipset. The error output includes the above line. QUESTION 1: So which of the following is the problem:
(1) In my code, am I inadvertently defaulting the graphics environment to Windows 32 on my AMD 64 bit machine?
(2) Alternatively, is this generated by my graphics card, making it a 32 bit card on a 64 bit machine?
I am using JDK 1.8.0_102 (64 bit) and Java3D 1.5.1 (64 bit). When I drop back to JDK 1.7.0_79 I get rid of the rendering error but I still cannot generate and run a runnable JAR on this machine.
Intel has never released an OpenGL 1.2 driver for the G41 chipset so I may have to go back to 32 bit when I generate a runnable Jar for this machine. QUESTION 2: Does that make sense?

@tlskillman
Copy link

Same problem: Start Fiji, click on 3D Viewer, get this message. (Am I crazy or was this all working 2 days ago. I created a nice 3D .obj file from an image stack, one time, and since then I have not been able to get the code to run...???)

3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily

org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083)
at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
Exception occurred in RenderingErrorListener:
java.lang.RuntimeException
at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330)
at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198)
at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86)
at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)


OS Name Microsoft Windows 10 Home
Version 10.0.14393 Build 14393
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name *************
System Manufacturer System manufacturer
System Model System Product Name
System Type x64-based PC
System SKU SKU
Processor Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz, 3201 Mhz, 4 Core(s), 4 Logical Processor(s)
BIOS Version/Date American Megatrends Inc. 0803, 1/13/2016
SMBIOS Version 3.0
Embedded Controller Version 255.255
BIOS Mode UEFI
BaseBoard Manufacturer ASUSTeK COMPUTER INC.
BaseBoard Model Not Available
BaseBoard Name Base Board
Platform Role Desktop
Secure Boot State On
PCR7 Configuration Binding Not Possible
Windows Directory C:\WINDOWS
System Directory C:\WINDOWS\system32
Boot Device \Device\HarddiskVolume2
Locale United States
Hardware Abstraction Layer Version = "10.0.14393.0"
User Name *********************
Time Zone Pacific Daylight Time
Installed Physical Memory (RAM) 16.0 GB
Total Physical Memory 15.9 GB
Available Physical Memory 9.36 GB
Total Virtual Memory 18.8 GB
Available Virtual Memory 11.1 GB
Page File Space 2.88 GB
Page File C:\pagefile.sys
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualization Enabled in Firmware No
Hyper-V - Data Execution Protection Yes

@LWollatz
Copy link

I have this problem on
Windows 7, 64bit, NVIDIA GeForce GTX 650 Ti, Fiji (ImageJ 1.51g) with JDK 1.8 and
Windows 10, 64bit, NVIDIA GeForce GT430, Fiji with JRE 1.8
but it works just fine on
Windows 8.1, 64bit, NVIDIA GeForce GT 630, Fiji (ImageJ 1.51h) with JRE 1.6 and
Windows 7, 64bit, NVIDIA GeForce GTX 650 Ti, Fiji (ImageJ 1.51g) with JRE 1.6

I suspected it to be an issue with Java 8...

@ctrueden
Copy link
Member Author

There has been some progress on issue #17, which might be relevant here too.

In short, @aschain compiled a new version of the ImageJ Launcher for Windows which behaves better with the new Java 3D. You can download it here. If you are a Windows user suffering from a non-working 3D Viewer with the latest Fiji, feel free to give that launcher a try and report your experiences here!

@tinevez
Copy link
Member

tinevez commented Nov 29, 2016

I confirm that this fix works on Windows for at least:

  • the TrackMate 3D viewer (3D over time)
  • the MaMuT 3D viewer (the same)
    Launched from vanilla Fiji.
    Great!!!

@biovoxxel
Copy link

Works like a charm on Win 7, 64-bit, Java Fiji 2.0.0-rc54/1.51h Java 1.8.0_91 [64bit]

Thanks a lot @aschain and @ctrueden

@habi
Copy link

habi commented Nov 30, 2016

The provided launcher fixes the 3D Viewer on my system, with details as reported earlier.
Thank you very much!

@tlskillman
Copy link

tlskillman commented Nov 30, 2016 via email

@kmshort
Copy link

kmshort commented Dec 6, 2016 via email

@bpavie
Copy link

bpavie commented Dec 7, 2016

Thanks, this new version of the ImageJ Launcher fixed also the problem for me on a fresh new installed Fiji running with a NVIDIA GTX 980Ti !

@dnmason
Copy link

dnmason commented Dec 7, 2016

I concur, new launcher (fiji-win64-20161102105633) works for me on Win7-64, ImageJ 2.0.0-rc54/1.51h; Java 1.8.0_66 (64) on a laptop AMD Radeon HD 7520G.

Thanks!

@matham
Copy link

matham commented Dec 24, 2016

This also fixed it for me on win10, Nvidia Quadro M4000.

@LWollatz
Copy link

The launcher works fine for the 3D Viewer on
Windows 7, 64bit, NVIDIA GeForce GTX 650 Ti, Fiji (ImageJ 1.51g) with JDK 1.8
with the existing install (just replacing the launcher)
Thanks! :-)

@CharlesMod
Copy link

Win10 x64, GTX 970, was having the OpenGl < 1.2 error but ctrueden's fix worked.

@ctrueden
Copy link
Member Author

The new launcher was uploaded to the Java-8 update site. This issue should no longer happen with an up-to-date Fiji.

@kmshort
Copy link

kmshort commented Mar 15, 2017 via email

@ctrueden
Copy link
Member Author

@kmshort By "it still crashes out" do you mean the 3D Viewer plugin specifically? Or Fiji does not start up at all?

@tinevez
Copy link
Member

tinevez commented Mar 15, 2017

I have to recant what I said:
I realized that I had a custom ImageJ-win64.exe. By downloading the proper one through the ImageJ updater, the errors re-appeared.
Sorry.

@tinevez tinevez reopened this Mar 15, 2017
@kmshort
Copy link

kmshort commented Mar 16, 2017 via email

@ctrueden
Copy link
Member Author

ctrueden commented Mar 16, 2017

I have to admit that I am confused now. A bunch of people above said that the new launcher fixed the issue for them. But now, people are saying that the latest launcher they get from the core ImageJ update site does not fix the problem.

The two new launcher builds are:

Are you saying that the former fiji-win64.exe build does fix the issue, but that the latter ImageJ-win64.exe build does not?

Or is it simply the case that the above launcher builds fix the problem for some people, but not others?

P.S. The 32-bit version is not currently fixed; we did not upload a new build for that.

@tinevez
Copy link
Member

tinevez commented Mar 16, 2017

@ctrueden Good catch. So, on my local Fiji install, I have two .exe:

  • with fiji-win64.exe, touched the 15/03/2017, it DOES NOT WORK,
  • with ImageJ-win64.exe touched the 14/03/2017, EVERYTHING WORKS

I got confused, because the icon I have on the desktop launched the fiji exe, which I changed manually a long time ago, and which was overwritten after an update yesterday.

@biovoxxel
Copy link

biovoxxel commented Mar 16, 2017 via email

@tlskillman
Copy link

tlskillman commented Mar 16, 2017 via email

@kmshort
Copy link

kmshort commented Mar 16, 2017 via email

@ghost
Copy link

ghost commented May 6, 2017

Hi,

I get the following error while using the launcher (at http://sites.imagej.net/Aschain/fiji-win64.exe-20161102105633) on a virtual machine (Windows Server 2012 R2 Standard, Intel(R) Xeon(R) CPU E5 2690 - 4 processors):

3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily
org.scijava.java3d.IllegalRenderingStateException: Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
at org.scijava.java3d.JoglPipeline.setupCanvasProperties(JoglPipeline.java:8083)
at org.scijava.java3d.JoglPipeline.createNewContext(JoglPipeline.java:6440)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:4602)
at org.scijava.java3d.Canvas3D.createNewContext(Canvas3D.java:2376)
at org.scijava.java3d.Renderer.doWork(Renderer.java:881)
at org.scijava.java3d.J3dThread.run(J3dThread.java:271)
Exception occurred in RenderingErrorListener:
java.lang.RuntimeException
at ij3d.ImageWindow3D$ErrorListener.errorOccurred(ImageWindow3D.java:330)
at org.scijava.java3d.VirtualUniverse.notifyRenderingErrorListeners(VirtualUniverse.java:1198)
at org.scijava.java3d.NotificationThread.processNotifications(NotificationThread.java:86)
at org.scijava.java3d.NotificationThread.run(NotificationThread.java:104)

Is there a way to fix this error ?

Thank you.
Cheers,
Shreya

@ctrueden
Copy link
Member Author

ctrueden commented May 7, 2017

@skanakiya Getting OpenGL support working in a VM can be tricky. Which virtual machine software do you use? Have you Googled the "OpenGL 1.2 or better is required" message together with the name of that software?

@ghost
Copy link

ghost commented May 21, 2017 via email

@ctrueden
Copy link
Member Author

@skanakiya It seems that only some cards support OpenGL over Remote Desktop. I learned this from this SO post. Maybe your drivers are too old. Or maybe your card does not support OpenGL over Remote Desktop. Running Fiji 3D plugins over remote desktop is IMHO a highly uncommon thing to do, so you are probably on your own with this one.

@ghost
Copy link

ghost commented Jun 9, 2017 via email

@ctrueden
Copy link
Member Author

ctrueden commented Jun 9, 2017

Please use ImageJ-win64.exe, not fiji-win64.exe, and not ImageJ-win32.exe.

Reasons:

  1. I am not 100% certain, but if I recall correctly, we only updated ImageJ-win64.exe, not ImageJ-win32.exe.

  2. I have learned that the current fiji-win64.exe launcher—which has not been updated either—still passes the wrong setting for OpenGL. But if you use Aschain's fiji-win64.exe above, it will work. Perhaps we should update the official fiji-win64.exe to that one as well. It's just the same thing with the Fiji icon instead of the ImageJ2 one.

@aschain
Copy link

aschain commented Jul 14, 2017

Keep in mind my fiji-win64.exe is simply the ImageJ-win64.exe with the Fiji icon and renamed. I'm not sure how to properly compile the Fiji launcher but I would be happy to do it.

@howff
Copy link

howff commented Jun 25, 2021

This is still a problem for people who have to use a remote desktop.

I've tried installing a software implementation of OpenGL from here https://github.com/pal1000/mesa-dist-win/releases

That works for all other applications but still doesn't work for ImageJ. I've tried installing it globally and also I've put all the opengl DLLs into folders inside ImageJ with no success.

@tatsunidas
Copy link

Hi, @ctrueden

This is not an issue comment, just a question.
I am glad about this ImageJ-win64.exe file.
But I still don't understand the important points.

I have tested two scenarios on two Windows PCs(win10, 64bit).
PC1: CPU with built-in HD 3000 graphics (does not have an OpenGL driver)
PC2: CPU with built-in Iris family graphics
Scenario 1: Can run by Fiji's ImageJ-win64.exe?
Scenario 2: Can run from eclipse code?

Results on PC1
Scenario 1 works fine.
Scenario 2 shows grayed-out 3d viewer and output unusable with this GL_VERSION error.

Results on PC2
Both scenarios 1 and 2 work fine.

Why does PC1 can boot the 3D Viewer well when booted from exe?
(I also tried -Dsun.awt.nopixfmt=true VM options, but failed( result was same as PC1 scenario2).)

I am glad if you could tell me.

tatsuaki

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests