Java windows and fonts are huge running in openjdk-11-jre
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openjdk-lts (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
unity-settings-daemon (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
If I run a Java application with oracle-java-8 in an X session, the windows and fonts are all normal size. When I run the same application with openjdk-11-jre, everything is scaled up to double size (see attached image, which shows an application on the left running in Java 8 and the same application on the right running in Java 10 (from the package openjdk-11, not openjdk-10 for some reason).
My normal screen layout is 1920x1080 with two screens, so the command "xrandr -q | awk -F'current' -F',' 'NR==1 {gsub("( |current)
One of the screens is 4K, so presumably Java *might* be detecting this and deciding it needs to double everything in size, but this is clearly an error since I'm not even using this mode.
If I set the laptop to use a single external 1920x1080 monitor, it makes no difference - the Java applications are still double the size that they should be.
There's no problem if I run in a Wayland session - the app windows run at a normal size whether in java 10 or 8.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: openjdk-11-jre 10.0.1+10-1ubuntu2
Uname: Linux 4.17.0-
ApportVersion: 2.20.9-0ubuntu6
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sat Apr 21 14:12:39 2018
InstallationDate: Installed on 2017-08-16 (247 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
SourcePackage: openjdk-lts
UpgradeStatus: Upgraded to bionic on 2017-11-17 (154 days ago)
I've attached a comparison of xrandr's output for Wayland and X11. In Wayland, it only shows the currently configured resolution, whereas in X11 it lists all available resolutions and flags the current one with an asterisk.
Perhaps Java is using xrandr and misinterpreting the results when trying to determine dpi?