Symptoms & Diagnosis
Developers transitioning to Java 21 in IntelliJ IDEA often report disruptive visual glitches. These symptoms typically manifest as rapid screen flickering, black rectangular artifacts, or UI elements disappearing during code scrolling.
Diagnosis usually points to a conflict between the Java 21 rendering engine and hardware acceleration. This is particularly prevalent on systems using high-refresh-rate monitors or integrated graphics drivers that struggle with the updated Java 2D pipeline.

Troubleshooting Guide
Resolving the flickering requires adjusting how the IDE interacts with your system hardware. Use the following table to identify the primary configuration changes needed based on your operating system.
| Fix Type | Action Required | Target Environment |
|---|---|---|
| JVM Property | Disable OpenGL hardware acceleration | Windows / Linux |
| Driver Update | Update to latest Game Ready or Studio drivers | NVIDIA / AMD Users |
| IDE Update | Switch to JetBrains Runtime (JBR) 17 or 21 stable | All Platforms |
1. Edit Custom VM Options
The most effective fix involves modifying the IntelliJ VM options. Go to Help > Edit Custom VM Options in your IDE menu. This opens a configuration file where you can override default rendering behaviors.
Add the following line to the bottom of the file to toggle the OpenGL pipeline, which often stabilizes the Java 21 interface:
-Dsun.java2d.opengl=false
If you are on macOS and experiencing similar issues, try forcing the Metal pipeline instead of OpenGL by adding:
-Dsun.java2d.metal=true
2. Disable G-Sync or FreeSync
Variable Refresh Rate (VRR) technologies like G-Sync can conflict with Java’s frame rendering. Navigate to your GPU Control Panel and disable G-Sync specifically for the idea64.exe process. This prevents the monitor from trying to sync with the IDE’s fluctuating frame output.
Prevention
To prevent flickering from returning, always use the bundled JetBrains Runtime (JBR) rather than a standalone System JDK for running the IDE itself. The JBR includes specific patches for UI stability that standard OpenJDK builds lack.
Regularly clear the IDE cache by selecting File > Invalidate Caches. This ensures that old rendering artifacts from previous Java versions do not persist in the local storage, maintaining a smooth visual experience in Java 21.