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

Cannot list all the available display modes on Ubuntu linux in case of two screen devices

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8, 9
    • Fix Version/s: 9
    • Component/s: client-libs
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b127
    • CPU:
      generic
    • OS:
      linux

      Description

      Please use the following simple test program to reproduce:

      import java.awt.GraphicsEnvironment;
      import java.awt.GraphicsDevice;
      import java.awt.DisplayMode;

      public class Test {

           public static void main(String[] args) {

               GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();

               GraphicsDevice devices[] = env.getScreenDevices();
               for (int d = 0; d < devices.length; ++d) {
                   GraphicsDevice dev = devices[d];
                   System.out.println("Device: " + dev.toString());
                   DisplayMode modes[] = dev.getDisplayModes();
                   System.out.println("Resolutions:");
                   for (int m = 0; m < modes.length; ++m) {
                       System.out.println(modes[m].getHeight() + "x" + modes[m].getWidth());
                   }
               }
           }
      }


      Compile and run it on a system with two displays. Here is output when both display are switched on (note: only current resolutions are listed):
      Device: X11GraphicsDevice[screen=0]
      Resolutions:
      966x1280
      Device: X11GraphicsDevice[screen=1]
      Resolutions:
      920x1280

      Here is a responding xrandr output:
      Screen 0: minimum 64 x 64, current 2560 x 966, maximum 32000 x 32000
      VBOX0 connected 1280x966+0+0 0mm x 0mm
         1280x966 60.0*+
         1280x960 60.0
         1024x768 60.0
         800x600 60.0
         640x480 60.0
      VBOX1 connected 1280x920+1280+0 0mm x 0mm
         1280x920 60.0*+
         1280x960 60.0
         1024x768 60.0
         800x600 60.0
         640x480 60.0

      Then try to switch one of the displays (e.g., System Settings->Displays etc.) off and run the test again. The test output looks like:
      Device: X11GraphicsDevice[screen=0]
      Resolutions:
      966x1280
      960x1280
      768x1024
      600x800
      480x640

      JDK used: 8 b101
      OS version: Ubuntu 12.04; VirtualBox was used, but on my colleague's non-virtual machine (Ubuntu) the issue is reproducible too.

      On Windows this test works as expected (two full resolution lists obtained).

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ssadetsky Semyon Sadetsky (Inactive)
              Reporter:
              avstepan Alexander Stepanov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: