Swing applications show a blank window when launched on a VNC desktop with Java 8. I don't have this problem with JRE 7
and non-swing applications (eg. Eclipse) runs properly with the same settings.
Are there some sort of default settings like 3D acceleration or something that have been enabled by default on JRE 8
? How does i disable it ?
TL;DR
Details:
I had blank Java windows in VNC too, but with Java 7 and Java 8, so it wasn't much of a surprise that disabling xrender
didn't help me. That probably makes it a gross violation of StackOverflow protocol to post this here, but I found my way here, so surely others will too. -Dsun.java2d.opengl=true
made the text visible, though the anti-aliasing was like something out of the 1980s with a messed up palette, but then I got spuriously transparent parts of windows, always the same parts, cleanly composited, so not like a driver bug. Noticing that glxgears was also displaying with a neat transparent background, when it's opaque black on other systems, I found a thoughtful and informative bug report against "compton", RGBA windows are always transparent #179. Inspired to look at xdpyinfo
, I found my VNC server was offering "visuals" of depth 32 only, ie visuals with 8 bits each of red, green and blue and eight bits of alpha. It seems Java, and glxgears, want an opaque visual, so one of depth 24. My normal :0 X server has that as its default. For the -depth switch, man Xtigervnc
says "Default is 24, other possible values are 8, 15, and 16 - anything else is likely to cause strange behaviour by applications", yet Debian's provisional packaging for TigerVNC, specifically in /etc/vnc.conf
and /usr/bin/tigervncserver
, sets it to a default of 32. -depth 24
and suddenly everything was beautiful again, with translucency only where it was requested. xdpyinfo
revealed many "visuals" on offer, including depth 32.
On a Linux system, I've found that using the -Dsun.java2d.xrender=false
option solved the issue. I think that xrender is now enabled by default on Java 8.
System Properties for Java 2D can be found here : http://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With