After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 788268 - Windows not scaled on Ubuntu 17.10 using "Ubuntu Xorg" session.
Windows not scaled on Ubuntu 17.10 using "Ubuntu Xorg" session.
Status: RESOLVED FIXED
Product: gnome-settings-daemon
Classification: Core
Component: xsettings
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-settings-daemon-maint
gnome-settings-daemon-maint
Depends on:
Blocks:
 
 
Reported: 2017-09-28 03:56 UTC by Andrea Azzarone
Modified: 2017-10-03 10:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Wait for org.gnome.mutte.DisplayConfig to be available before relying on it to get the correct window scaling. (4.67 KB, patch)
2017-09-28 03:59 UTC, Andrea Azzarone
committed Details | Review

Description Andrea Azzarone 2017-09-28 03:56:59 UTC
On hidpi setups windows are not automatically scaled on Ubuntu 17.10 using "Ubuntu Xorg" session.
Comment 1 Andrea Azzarone 2017-09-28 03:59:02 UTC
Created attachment 360575 [details] [review]
Wait for org.gnome.mutte.DisplayConfig to be available before relying on it to get the correct window scaling.
Comment 2 Rui Matos 2017-10-03 09:40:07 UTC
Review of attachment 360575 [details] [review]:

thank you for the patch, we do indeed have a race with mutter starting up and us calling GetCurrentState from update_xft_settings(). there's a small issue I point out below which I'll fix before pushing as I intend to ship this today for 3.26.1

::: plugins/xsettings/gsd-xsettings-manager.c
@@ +1131,3 @@
+        GnomeXSettingsManager *manager = data;
+
+        g_bus_unwatch_name (manager->priv->display_config_watch_id);

not a big issue in practice, but this means that if gnome-shell/mutter restarts we won't go through update_xft_settings() and pick a possibly different scale value

@@ +1135,3 @@
+
+        manager->priv->monitors_changed_id =
+                g_dbus_connection_signal_subscribe (manager->priv->dbus_connection,

the signal subscription works fine before the well known name appears