Public bug reported:

On Ubuntu GNOME 16.04 on my Retina MacBook Pro, chromium-browser, unlike
any other app I've found, gets the wrong DPI, and starts up unscaled.

On investigation, this appears to be because of a bug in
desktop_screen_x11.cc (I checked this only in the sources for the
currently shipped version of Chromium, against which I'm reporting this
bug).

The hardware is *correctly* queried via the GTK2 back-end in gtk2_ui.cc,
and device_scale_factor is set to 2 in line 328 of
desktop_screen_x11.cc.

However, this is then unconditionally overridden lower down. In line
356, density_indicator is set to 8 (this corresponds to a scale factor
of 1). The next few lines, guarded by #ifdef USE_GLIB, then try to read
a value from the gsettings key /com/ubuntu/user-interface/scale-factor.

Aside: Under Unity, I understand that this setting is populated with
information about the connected displays (I did try to find where this
happens, but I can only find references to the setting in unity-control-
center, while presumably it must also be set whenever a new display is
plugged or unplugged); under GNOME it seems not to be.

The problem is that when the gsettings key /com/ubuntu/user-interface
/scale-factor is empty, or absent, the default value of
density_indicator is still used, overriding the hardware-provided value.
The only circumstances in which the hardware-provided value will be used
are when the key for the relevant display is explicitly set to 0.

This means that scaling won't work on a GNOME system, which is ironic
considering that the correct information has already been obtained from
Gtk!

As far as I can see, the fix is to change the setting of 8 in line 356
to 0, so that if no gsettings value can be obtained, then the hardware-
supplied value, which has already been calculated, is used.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: chromium-browser 51.0.2704.79-0ubuntu0.16.04.1.1242
ProcVersionSignature: Ubuntu 4.4.0-31.50-generic 4.4.13
Uname: Linux 4.4.0-31-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
CurrentDesktop: GNOME
DRM.card0-DP-1:
 edid-base64: 
 dpms: Off
 modes: 
 enabled: disabled
 status: disconnected
DRM.card0-DP-2:
 edid-base64: 
 dpms: Off
 modes: 
 enabled: disabled
 status: disconnected
DRM.card0-HDMI-A-1:
 edid-base64: 
 dpms: Off
 modes: 
 enabled: disabled
 status: disconnected
DRM.card0-HDMI-A-2:
 edid-base64: 
 dpms: Off
 modes: 
 enabled: disabled
 status: disconnected
DRM.card0-eDP-1:
 edid-base64: 
AP///////wAGEBigAAAAADAWAQSlHRJ4Am+xp1VMniUMUFQAAAABAQEBAQEBAQEBAQEBAQEB4mgAoKBALmAwIDYAHrMQAAAaAAAA/ABDb2xvciBMQ0QKICAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAGM=
 dpms: On
 modes: 2560x1600
 enabled: enabled
 status: connected
Date: Wed Jul 27 15:14:57 2016
Desktop-Session:
 'gnome'
 '/etc/xdg/xdg-gnome:/usr/share/upstart/xdg:/etc/xdg'
 '/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop'
Env:
 'None'
 '/home/rrt/.local/lib/x86_64-linux-gnu'
InstallationDate: Installed on 2015-12-28 (212 days ago)
InstallationMedia: Ubuntu 14.04.3 LTS "Trusty Tahr" - Beta amd64 (20150805)
Load-Avg-1min: 0.49
Load-Processes-Running-Percent:   0.1%
MachineType: Apple Inc. MacBookPro11,1
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-31-generic.efi.signed 
root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7
SourcePackage: chromium-browser
UpgradeStatus: Upgraded to xenial on 2016-07-25 (2 days ago)
dmi.bios.date: 09/08/2015
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBP111.88Z.0138.B16.1509081438
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-189A3D4F975D5FFC
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookPro11,1
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-189A3D4F975D5FFC
dmi.modalias: 
dmi:bvnAppleInc.:bvrMBP111.88Z.0138.B16.1509081438:bd09/08/2015:svnAppleInc.:pnMacBookPro11,1:pvr1.0:rvnAppleInc.:rnMac-189A3D4F975D5FFC:rvrMacBookPro11,1:cvnAppleInc.:ct10:cvrMac-189A3D4F975D5FFC:
dmi.product.name: MacBookPro11,1
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.
etcconfigcpepperflashpluginnonfree:
 flashso="/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so"
 flashversion=`strings $flashso 2> /dev/null | grep LNX | cut -d ' ' -f 2 | sed 
-e "s/,/./g"`
 CHROMIUM_FLAGS="$CHROMIUM_FLAGS --ppapi-flash-path=$flashso 
--ppapi-flash-version=$flashversion"
gconf-keys: /desktop/gnome/applications/browser/exec = 
b'/usr/bin/chromium-browser\n'/desktop/gnome/url-handlers/https/command = 
b'/usr/bin/chromium-browser --new-window 
%U\n'/desktop/gnome/url-handlers/https/enabled = 
b'false\n'/desktop/gnome/url-handlers/http/command = b'sensible-browser 
%s\n'/desktop/gnome/url-handlers/http/enabled = 
b'false\n'/desktop/gnome/session/required_components/windowmanager = 
b'compiz\n'/apps/metacity/general/compositing_manager = 
b''/desktop/gnome/interface/icon_theme = 
b'Tangerine\n'/desktop/gnome/interface/gtk_theme = b'Human-Clearlooks\n'
modified.conffile..etc.chromium-browser.default: [modified]
modified.conffile..etc.default.chromium-browser: [deleted]
mtime.conffile..etc.chromium-browser.default: 2016-03-28T15:20:54.598177

** Affects: chromium-browser (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug xenial

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1606959

Title:
  DPI setting is not correctly calculated on Ubuntu GNOME

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1606959/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to