Comment 5 for bug 154613

Revision history for this message
Dan Munckton (munckfish) wrote : Re: Java cannot change display modes / screen resolution in Gutsy

Right I believe I have found the cause of all this: Xinerama.

Xinerama is enabled on Gutsy but not on Feisty. The JNI native function Java_sun_awt_X11GraphicsDevice_initXrandrExtension() is careful not to use Xrandr if Xinerama is enabled. In sun/awt/X11GraphicsDevice.java the overridden method getDisplayModes() calls its parent implementation (which returns just the current display mode) if isFullScreenSupported() returns false. isFullScreenSupported() returns false because Java_sun_awt_X11GraphicsDevice_initXrandrExtension() skips using Xrandr because of Xinerama.

So to get full screen mode working again we need to

  * See if Xrandr and Xinerama will work together safely and get the AWT code updated to support this in OpenJDK. I would presume any work of this size is unlikely to be back-ported to Java 6, so I guess it will be at least Java 7 final before we could see this all working well again. I wonder if this work is already underway? I will send a mail to the awt-dev mailing list at OpenJDK to see if anything is happening.
  * In the meantime Xinerama could be disabled on machines which need to use full screen mode applications. I need to find out how this is done.