diff --git a/mutter-fix-hidpi-scaling-x11.patch b/mutter-fix-hidpi-scaling-x11.patch new file mode 100644 index 0000000..7909f09 --- /dev/null +++ b/mutter-fix-hidpi-scaling-x11.patch @@ -0,0 +1,25 @@ +From ea214fbe0f85119f7a10244d211a13489a7a44d6 Mon Sep 17 00:00:00 2001 +From: Jeremy Soller +Date: Mon, 25 Sep 2017 20:04:00 +0000 +Subject: Remove unscaled-font-dpi setting from X11 backend + +https://bugzilla.gnome.org/show_bug.cgi?id=788049 +--- + clutter/clutter/x11/clutter-settings-x11.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/clutter/clutter/x11/clutter-settings-x11.h b/clutter/clutter/x11/clutter-settings-x11.h +index 3e08885..b7d1b0e 100644 +--- a/clutter/clutter/x11/clutter-settings-x11.h ++++ b/clutter/clutter/x11/clutter-settings-x11.h +@@ -14,7 +14,6 @@ static const struct { + { "Xft/HintStyle", "font-hint-style" }, + { "Xft/RGBA", "font-subpixel-order" }, + { "Fontconfig/Timestamp", "fontconfig-timestamp" }, +- { "Gdk/UnscaledDPI", "unscaled-font-dpi" }, + }; + + static const gint _n_clutter_settings_map = G_N_ELEMENTS (_clutter_settings_map); +-- +cgit v0.12 + diff --git a/mutter-monitor-config-manager-rotation-fix.patch b/mutter-monitor-config-manager-rotation-fix.patch new file mode 100644 index 0000000..a8a29bf --- /dev/null +++ b/mutter-monitor-config-manager-rotation-fix.patch @@ -0,0 +1,71 @@ +From 1035200f26efaddc8c21194e775f11fedf2ee266 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 17 Sep 2017 12:07:12 +0200 +Subject: monitor-config-manager: Fix 90/270 degree rotation not working + +When rotating 90/270 degrees we need to swap width and height. This fixes +the screen going black and the following errors showing in the journal: + +gnome-shell[1097]: Failed to set CRTC mode 800x1280: No space left on device +gnome-shell[1097]: Failed to flip: Device or resource busy +gnome-shell[1097]: Failed to set CRTC mode 800x1280: No space left on device +gnome-shell[1097]: Failed to set CRTC mode 800x1280: No space left on device + +When rotating a tablet with accelerometer 90/270 degrees. + +https://bugzilla.gnome.org/show_bug.cgi?id=787836 +--- + src/backends/meta-monitor-config-manager.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c +index 265269c..d40c2e0 100644 +--- a/src/backends/meta-monitor-config-manager.c ++++ b/src/backends/meta-monitor-config-manager.c +@@ -764,6 +764,14 @@ create_for_builtin_display_rotation (MetaMonitorConfigManager *config_manager, + logical_monitor_config->monitor_configs = g_list_append (NULL, monitor_config); + logical_monitor_config->transform = transform; + ++ if (meta_monitor_transform_is_rotated (current_logical_monitor_config->transform) != ++ meta_monitor_transform_is_rotated (logical_monitor_config->transform)) ++ { ++ int temp = logical_monitor_config->layout.width; ++ logical_monitor_config->layout.width = logical_monitor_config->layout.height; ++ logical_monitor_config->layout.height = temp; ++ } ++ + return meta_monitors_config_new (g_list_append (NULL, logical_monitor_config), + config_manager->current_config->layout_mode, + META_MONITORS_CONFIG_FLAG_NONE); +-- +cgit v0.12 + +From 7e3a780dcdabaff6ff94fddec7995681029b2f9a Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 17 Sep 2017 16:21:46 +0200 +Subject: monitor-config-manager-kms: Fix is_transform_handled + +meta_monitor_manager_kms_is_transform_handled should checked the +transform passed as function argument, not the current crtc transform. + +https://bugzilla.gnome.org/show_bug.cgi?id=787836 +--- + src/backends/native/meta-monitor-manager-kms.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c +index 6507e51..23a79ae 100644 +--- a/src/backends/native/meta-monitor-manager-kms.c ++++ b/src/backends/native/meta-monitor-manager-kms.c +@@ -1782,7 +1782,7 @@ meta_monitor_manager_kms_is_transform_handled (MetaMonitorManager *manager, + { + MetaCrtcKms *crtc_kms = crtc->driver_private; + +- if ((1 << crtc->transform) & crtc_kms->all_hw_transforms) ++ if ((1 << transform) & crtc_kms->all_hw_transforms) + return TRUE; + else + return FALSE; +-- +cgit v0.12 + diff --git a/mutter.changes b/mutter.changes index c91e974..74c023d 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Sep 25 21:10:56 UTC 2017 - zaitor@opensuse.org + +- Add mutter-fix-hidpi-scaling-x11.patch: Fix hidpi scaling + regression when using X11 (bgo#788049). + +------------------------------------------------------------------- +Mon Sep 25 11:21:03 UTC 2017 - badshah400@gmail.com + +- Add mutter-monitor-config-manager-rotation-fix.patch: Fix + transformation when rotating screen so that rotation by 90/270 + deg don't show a black screen; patch taken from upstream git + (bgo#787836). + ------------------------------------------------------------------- Fri Sep 15 08:50:28 UTC 2017 - zaitor@opensuse.org diff --git a/mutter.spec b/mutter.spec index 838b387..cf3fe54 100644 --- a/mutter.spec +++ b/mutter.spec @@ -34,6 +34,10 @@ Patch2: mutter-wayland-fixes.patch Patch3: mutter-monitor-refresh-rate.patch # PATCH-FIX-UPSTREAM mutter-fix-kinetic-scrolling.patch zaitor@opensuse.org -- Fix kinetic scrolling Patch4: mutter-fix-kinetic-scrolling.patch +# PATCH-FIX-UPSTREAM mutter-monitor-config-manager-rotation-fix.patch bgo#787836 badshah400@gmail.com -- Fix transformation when rotating screen so that rotation by 90/270 deg don't show a black screen; patch taken from upstream git +Patch5: mutter-monitor-config-manager-rotation-fix.patch +# PATCH-FIX-UPSTREAM mutter-fix-hidpi-scaling-x11.patch bgo#788049 zaitor@opensuse.org -- Fix hidpi scaling regression when using X11 +Patch6: mutter-fix-hidpi-scaling-x11.patch # SLE only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box. @@ -147,6 +151,8 @@ applications that want to make use of the mutter library. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 # SLE only patches and translations. %if !0%{?is_opensuse}