Hi, Please review my fix for "JDK-8007386 On physical machine (video card is Intel Q45)the case of text is blank." at: http://cr.openjdk.java.net/~ceisserer/8007386/webrev.01/
Problem description: There has been a number of bug reports by users enabling the xrender pipeline on outdated systems (old but still supported RHEL and SLES releases). Sympthoms are hangs (old libXrender version from ~2007) and rendering corruptions caused by driver bugs. There have been attempts like parsing the version of libXrender from package-info files, however (as distributions don't tend to agree sometimes) this approach fails e.g. on older SLES releases. Unfortunately a very widespread driver bug was shipped in the intel video driver with Ubuntu 2012.04 LTS (fixed in 2012.04.02), which means also not-that-outdated systems are affected - and driver versions can only be detected by parsing Xorg.log. ( https://bugs.freedesktop.org/show_bug.cgi?id=48045 ) Fix description: As discussed with Phil, I propose a drastic measure: Defaults to X11 on systems running Linux < 3.5 (Ubuntu <= 12.04.01). When -Dsun.java2d.xrender=true/True is explicitly specified on the command line, the pipeline will be enabled regardless of the kernel-version detected. I know it is not elegant to base this descision on the kernel-version, however: - We don't have to parse e.g. /var/log/Xorg and guess arround which versions of which libraries/drivers/xorg/... are installed - Change-sensitive RHEL and SLES users will stay at X11 until they upgrade Also related are bugs: JDK-8016113 Swing components rendered incorrectly with Nimbus Look and Feel on SLES 7032904(XRender: Java2Demo : Infinite loop in Java_sun_java2d_loops_MaskBlit_MaskBlit on OEL 5.6 x64) Thanks, Clemens
