Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4661156

Full screen exclusive mode and display change are not supported under Linux

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 6
    • client-libs
    • 2d
    • beta
    • x86
    • linux, solaris_2.5.1



      Name: gm110360 Date: 04/01/2002


      FULL PRODUCT VERSION :
      java version "1.4.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
      Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)


      FULL OPERATING SYSTEM VERSION :
      Linux 2.4.18
      glibc-2.2.4-13
      Red Hat Linux release 7.2 (Enigma)

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      KDE 2.2
      XFree86 4.1.0
      ATI Rage LT Pro video card (8M VRAM, using 'Mach64' driver)


      A DESCRIPTION OF THE PROBLEM :
      Full screen exclusive mode and display change don't work in
      Linux. The attached program, using to GraphicsDevice methods
      isDisplayChangeSupported() and isFullScreenSupported(),
      reports that neither is supported.

      Display change isn't supported by the JDK, in spite of the
      fact that I have four video modes set up in X, which I can
      switch any time by pressing Ctrl-Alt-KeypadMinus/KeypadPlus.
      GraphicsDevice reports one GraphicsConfiguration, for the
      current mode only. But it does get that right, it correctly
      reports what mode I am in.


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Execute the attached code. See that fullscreen exclusive
      mode and display change are not supported.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      When I run the example program attached, I get this output:

      Device 0: ID string=:0.0
        Available accelerated memory: -1
        Fullscreen supported: false
        Display change supported: false

      The expected output would indicate that fullscreen and
      display change are supported (=true).


      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.awt.*;

      public class FSETest {
          public static void main(String[] args) {
              GraphicsDevice[] devices =
      GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
              for (int i = 0; i < devices.length; i++) {
                  GraphicsDevice device = devices[i];
                  System.out.println("Device " + i + ": ID string=" +
      device.getIDstring());
                  System.out.println(" Available accelerated memory: " +
      device.getAvailableAcceleratedMemory());
                  System.out.println(" Fullscreen supported: " +
      device.isFullScreenSupported());
                  System.out.println(" Display change supported: " +
      device.isDisplayChangeSupported());
                  System.out.println();
              }
          }
      }

      ---------- END SOURCE ----------
      (Review ID: 143928)
      ======================================================================

            campbell Christopher Campbell (Inactive)
            gmanwanisunw Girish Manwani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: