On Linux, we are currently use XRRSetScreenConfigAndRate to change the display mode. This works in most cases, except for some VNC-configured hosts, where the display change may not occur. One of the conformance tests fails on these hosts.
It was discovered, that the xrandr utility app works fine on these hosts and uses the Crtc and Output Randr APIs, which provide more fine-grained control over display settings. This changeset utilizes the Crtc and Output Randr APIs to change the display mode. Currently, changing the display mode is only [available when running a single screen](https://github.com/openjdk/jdk/blob/a86dd56de34f730b42593236f17118ef5ce4985a/src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java#L365). This limitation remains, but we may remove it in the future. A separate issue [has been filed](https://bugs.openjdk.org/browse/JDK-8361968) for this purpose. The `awt.x11useOldConfigDisplayMode` system property enables the old behavior. Perhaps there's a better name for it. Testing looks good on VNC and local machines. ------------- Commit messages: - initial Changes: https://git.openjdk.org/jdk/pull/26268/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26268&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8354415 Stats: 354 lines in 3 files changed: 346 ins; 1 del; 7 mod Patch: https://git.openjdk.org/jdk/pull/26268.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/26268/head:pull/26268 PR: https://git.openjdk.org/jdk/pull/26268