I have traced this to an Ubuntu patch: debian/display-scaling-default-
value

The comment says:

"Set default scaling to be 1:1, instead of using the hardware's
reporting to define scaling by default.  This is because hardware lies.
Lots of it does."

Unfortunately the solution, as far as I can tell, only works for Unity.

Also, the use of com/ubuntu/user-interface/scale-factor poses the
question: how does Unity get the right answer, and why is it worth
trusting? Is it user-set?

If it is user-set (which would explain why I couldn't find an automatic
setting anywhere in the Unity code!), then it would be reasonable to
look up non-Unity user settings too, such as GNOME's HiDPI "Window
scaling" setting /org/gnome/desktop/interface/scaling-factor.

In general, the relevant setting should be read depending on the desktop
(sigh, sounds like another need for an xdg-util, e.g. a new setting for
xdg-settings).

An alternative would be to patch GNOME's control center to set the same
property; then at least the code would also work for GNOME. Ubuntu's
setting is clearly superior to GNOME's in that it is per-screen (or to
be precise, per display adaptor), not a single number.

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

Title:
  DPI setting is not correctly calculated on Ubuntu GNOME

Status in chromium-browser package in Ubuntu:
  New

Bug description:
  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

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to