Dominique Leuenberger
f06d889031
- Add mutter-fix-hidpi-scaling-x11.patch: Fix hidpi scaling regression when using X11 (bgo#788049). - 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). OBS-URL: https://build.opensuse.org/request/show/528705 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=258
72 lines
3.0 KiB
Diff
72 lines
3.0 KiB
Diff
From 1035200f26efaddc8c21194e775f11fedf2ee266 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
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 <hdegoede@redhat.com>
|
|
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
|
|
|