-
Bug
-
Resolution: Incomplete
-
P4
-
None
-
jfx24
-
generic
-
generic
ADDITIONAL SYSTEM INFORMATION :
System details
Machine: Dell Precision 5680
OS: Windows 11 Enterprise 64-bit (10.0, Build 22631)
CPU: 13th Gen Intel Core i9-13900H
Memory: 64 GB RAM
GPU: Intel(R) Iris(R) Xe Graphics (integrated)
Driver versions tested: 32.0.101.6078, 32.0.101.6556, 32.0.101.6881
Discrete GPU: NVIDIA RTX 2000 Ada Generation Laptop GPU (JavaFX defaults to Intel GPU)
A DESCRIPTION OF THE PROBLEM :
I have a JavaFX desktop application that started having rendering issues after updating the Intel Iris Xe graphics driver.
On Java 11 + JavaFX (Zulu distribution):
openjdk version "11.0.25" 2024-10-15 LTS OpenJDK Runtime Environment Zulu11.76+21-CA (build 11.0.25+9-LTS) OpenJDK 64-Bit Server VM Zulu11.76+21-CA (build 11.0.25+9-LTS, mixed mode)
The screen flickers and then the application completely freezes.
On Java 24 + JavaFX (Zulu distribution):
openjdk version "24.0.2" 2025-07-15 OpenJDK Runtime Environment Zulu24.32+13-CA (build 24.0.2+12) OpenJDK 64-Bit Server VM Zulu24.32+13-CA (build 24.0.2+12, mixed mode, sharing)
The screen still flickers, and the following error is printed to the console, but the app eventually recovers and continues running:
D3D hresult failed :D3DERR_DEVICEHUNG
java.lang.Exception: Stack trace
at javafx.graphics/com.sun.prism.d3d.D3DContext.validate(D3DContext.java:136)
at javafx.graphics/com.sun.prism.d3d.D3DContext.validatePresent(D3DContext.java:226)
at javafx.graphics/com.sun.prism.d3d.D3DSwapChain.present(D3DSwapChain.java:88)
at javafx.graphics/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:107)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:369)
at javafx.graphics/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:122)
at java.base/java.lang.Thread.run(Thread.java:1447)
D3DContext::testLostStateAndReset : D3DERR_DEVICEHUNG
D3DPipeline: reinitialize after device was removed
D3DPipelineManager: Created D3D9Ex device
Maximum supported texture size: 16384
Maximum texture size clamped to 4096
OS Information:
Windows version 10.0 build 22631
D3D Driver Information:
Intel(R) Iris(R) Xe Graphics
\\.\DISPLAY1
Driver igdumdim64.dll, version 32.0.101.6881
Pixel Shader version 3.0
Device : ven_8086, dev_46A6, subsys_0B1A1028
Max Multisamples supported: 4
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_16
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_12
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_8
Tested on multiple machines with Intel Iris Xe → same problem.
Updated Java and JavaFX to latest releases.
If I force software rendering with Prism (-Dprism.order=sw), the problem does not occur, but application performance becomes significantly worse.
If I force the app to run on the NVIDIA GPU, the problem does not occur either. However, most of my clients use laptops that only have Intel Iris Xe, so this is not a viable solution for all environments.
Is this a known compatibility issue between JavaFX and the Intel Iris Xe graphics drivers (versions 32.0.101.6078 / 6556 / 6881)?
Is there a workaround (e.g., JVM flags, forcing different pipeline options) to avoid the freeze/flicker without resorting to software rendering or requiring a discrete GPU?
System details
Machine: Dell Precision 5680
OS: Windows 11 Enterprise 64-bit (10.0, Build 22631)
CPU: 13th Gen Intel Core i9-13900H
Memory: 64 GB RAM
GPU: Intel(R) Iris(R) Xe Graphics (integrated)
Driver versions tested: 32.0.101.6078, 32.0.101.6556, 32.0.101.6881
Discrete GPU: NVIDIA RTX 2000 Ada Generation Laptop GPU (JavaFX defaults to Intel GPU)
A DESCRIPTION OF THE PROBLEM :
I have a JavaFX desktop application that started having rendering issues after updating the Intel Iris Xe graphics driver.
On Java 11 + JavaFX (Zulu distribution):
openjdk version "11.0.25" 2024-10-15 LTS OpenJDK Runtime Environment Zulu11.76+21-CA (build 11.0.25+9-LTS) OpenJDK 64-Bit Server VM Zulu11.76+21-CA (build 11.0.25+9-LTS, mixed mode)
The screen flickers and then the application completely freezes.
On Java 24 + JavaFX (Zulu distribution):
openjdk version "24.0.2" 2025-07-15 OpenJDK Runtime Environment Zulu24.32+13-CA (build 24.0.2+12) OpenJDK 64-Bit Server VM Zulu24.32+13-CA (build 24.0.2+12, mixed mode, sharing)
The screen still flickers, and the following error is printed to the console, but the app eventually recovers and continues running:
D3D hresult failed :D3DERR_DEVICEHUNG
java.lang.Exception: Stack trace
at javafx.graphics/com.sun.prism.d3d.D3DContext.validate(D3DContext.java:136)
at javafx.graphics/com.sun.prism.d3d.D3DContext.validatePresent(D3DContext.java:226)
at javafx.graphics/com.sun.prism.d3d.D3DSwapChain.present(D3DSwapChain.java:88)
at javafx.graphics/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:107)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:369)
at javafx.graphics/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:122)
at java.base/java.lang.Thread.run(Thread.java:1447)
D3DContext::testLostStateAndReset : D3DERR_DEVICEHUNG
D3DPipeline: reinitialize after device was removed
D3DPipelineManager: Created D3D9Ex device
Maximum supported texture size: 16384
Maximum texture size clamped to 4096
OS Information:
Windows version 10.0 build 22631
D3D Driver Information:
Intel(R) Iris(R) Xe Graphics
\\.\DISPLAY1
Driver igdumdim64.dll, version 32.0.101.6881
Pixel Shader version 3.0
Device : ven_8086, dev_46A6, subsys_0B1A1028
Max Multisamples supported: 4
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_16
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_12
PPSRenderer: scenario.effect - createShader: LinearConvolveShadow_8
Tested on multiple machines with Intel Iris Xe → same problem.
Updated Java and JavaFX to latest releases.
If I force software rendering with Prism (-Dprism.order=sw), the problem does not occur, but application performance becomes significantly worse.
If I force the app to run on the NVIDIA GPU, the problem does not occur either. However, most of my clients use laptops that only have Intel Iris Xe, so this is not a viable solution for all environments.
Is this a known compatibility issue between JavaFX and the Intel Iris Xe graphics drivers (versions 32.0.101.6078 / 6556 / 6881)?
Is there a workaround (e.g., JVM flags, forcing different pipeline options) to avoid the freeze/flicker without resorting to software rendering or requiring a discrete GPU?