Graphical Glitches in Swing

Under some combination of hardware and drivers, the Swing interface may render uncorrectly. This is due to Alchemist using OpenGL as rendering backend for Swing, in order to increase performance.

Examples of graphical glitches, on a VirtualBox instance with Ubuntu

Graphical glitch example Graphical glitch example Graphical glitch example Graphical glitch example Graphical glitch example Graphical glitch example

Solution

Disable the OpenGL acceleration explicitly by setting the sun.java2d.opengl property to false.

Gradle

With Gradle, edit the Alchemist launch task (which should be a JavaExec) by adding: jvmArgs("-Dsun.java2d.opengl=false")

Stand-alone

Add the appropriate JVM option:

java -Dsun.java2d.opengl=false -jar alchemist-full.jar