systemd/mutter: upgrade to 48.0
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6337 [ci:skip-build]: already built successfully in CI
This commit is contained in:
parent
0cfd91bb1a
commit
25c8c04b44
3 changed files with 110 additions and 7 deletions
|
|
@ -1,8 +1,8 @@
|
|||
# Forked from Alpine to add systemd!
|
||||
|
||||
pkgname=mutter
|
||||
pkgver=99947.6
|
||||
_pkgver=47.6
|
||||
pkgver=99948.0
|
||||
_pkgver=48.0
|
||||
pkgrel=0
|
||||
pkgdesc="clutter-based window manager and compositor"
|
||||
url="https://wiki.gnome.org/Projects/Mutter/"
|
||||
|
|
@ -56,6 +56,8 @@ makedepends="
|
|||
meson
|
||||
pango-dev
|
||||
pipewire-dev
|
||||
py3-argcomplete
|
||||
py3-docutils
|
||||
startup-notification-dev
|
||||
wayland-dev
|
||||
wayland-protocols
|
||||
|
|
@ -71,6 +73,7 @@ subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schem
|
|||
source="https://download.gnome.org/sources/mutter/${_pkgver%.*}/mutter-$_pkgver.tar.xz
|
||||
fixudev-req.patch
|
||||
pcversion.patch
|
||||
fix-freeze.patch
|
||||
"
|
||||
builddir="$srcdir/$pkgname-$_pkgver"
|
||||
|
||||
|
|
@ -101,7 +104,8 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
8997096b3dab1e98532fd238b921fa7820621c0f0ac1701f4abfa37b1cc29095bb60ecee1135a6be147d06fcede86276b8a02d5dbca7d1dcba2d51c43821bfc9 mutter-47.6.tar.xz
|
||||
3e5dd59f2f2fd80edde13f64d70d52a023dec303fd8dbfa3ded0d77faf7643179f2ad74d4acd3450decb67deaf6ac85a7af5146fa96f33917b4363f884413af9 fixudev-req.patch
|
||||
48abd37a7b622835ccc9a5ca5aaa007744bd0a91764752ae64fc8385b0df700f58bdba11b7145d6bbc15649c84356c5f6107974c696c619cc272a939cb9743e3 mutter-48.0.tar.xz
|
||||
60eb075a88ca301470130d17371c1410220be0c7d5a929f6b528ec838a1133ebccf46d29f448060043e94c2edf4615ae431927911bede1972ac37f04ff9f29b4 fixudev-req.patch
|
||||
ec94fdecb7a3213903d013c1e6f48e02f8a1972ded16c3604627984cfce0936a0276d284c20e746eb91bf97249785bcf827f6fa55f1629e5290e19423d554e4d pcversion.patch
|
||||
b7d0bea395c47558a089f75c2c30ac04da2ffc60d044364653098dcb30302aeeb839631fc51c5b5673d11f07fe85af645ea6fe9b2ebe107f8fc67541d5a8e3eb fix-freeze.patch
|
||||
"
|
||||
|
|
|
|||
99
extra-repos/systemd/mutter/fix-freeze.patch
Normal file
99
extra-repos/systemd/mutter/fix-freeze.patch
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
Patch-Source: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4338
|
||||
---
|
||||
From d6005b539ca42905dfaf1c3854540a559332b78e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com>
|
||||
Date: Mon, 17 Mar 2025 11:00:11 +0100
|
||||
Subject: [PATCH 1/2] kms/impl-device: Always catch pending KMS update in
|
||||
_schedule_process
|
||||
|
||||
Not only if the deadline timer is enabled. With the next commit, it'll
|
||||
be semi-expected to happen even if the deadline timer is disabled.
|
||||
|
||||
Still leave the warning though, as a reminder that we'd rather prevent
|
||||
this outside of the KMS thread.
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4338>
|
||||
---
|
||||
src/backends/native/meta-kms-impl-device.c | 19 +++++++++----------
|
||||
1 file changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/backends/native/meta-kms-impl-device.c b/src/backends/native/meta-kms-impl-device.c
|
||||
index 0135f22033..25cb1cbd5e 100644
|
||||
--- a/src/backends/native/meta-kms-impl-device.c
|
||||
+++ b/src/backends/native/meta-kms-impl-device.c
|
||||
@@ -2081,17 +2081,8 @@ meta_kms_impl_device_schedule_process (MetaKmsImplDevice *impl_device,
|
||||
|
||||
if (ensure_deadline_timer_armed (impl_device, crtc_frame))
|
||||
return;
|
||||
-
|
||||
- if (crtc_frame->pending_update)
|
||||
- {
|
||||
- meta_kms_impl_device_do_process_update (impl_device, crtc_frame,
|
||||
- crtc_frame->crtc,
|
||||
- crtc_frame->pending_update,
|
||||
- META_KMS_UPDATE_FLAG_NONE);
|
||||
- }
|
||||
}
|
||||
-
|
||||
- if (crtc_frame->pending_update)
|
||||
+ else if (crtc_frame->pending_update)
|
||||
{
|
||||
MetaKmsImplDevicePrivate *priv =
|
||||
meta_kms_impl_device_get_instance_private (impl_device);
|
||||
@@ -2100,6 +2091,14 @@ meta_kms_impl_device_schedule_process (MetaKmsImplDevice *impl_device,
|
||||
crtc_frame->pending_update, priv->deadline_timer_state);
|
||||
}
|
||||
|
||||
+ if (crtc_frame->pending_update)
|
||||
+ {
|
||||
+ meta_kms_impl_device_do_process_update (impl_device, crtc_frame,
|
||||
+ crtc_frame->crtc,
|
||||
+ crtc_frame->pending_update,
|
||||
+ META_KMS_UPDATE_FLAG_NONE);
|
||||
+ }
|
||||
+
|
||||
meta_kms_device_set_needs_flush (meta_kms_crtc_get_device (crtc), crtc);
|
||||
}
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From a355f68d347830ab1dc8fba0bf409dd0aaf2804d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com>
|
||||
Date: Mon, 17 Mar 2025 10:50:13 +0100
|
||||
Subject: [PATCH 2/2] Revert "onscreen/native: Account for all posted frames"
|
||||
|
||||
This reverts commit 9fc5fdc953f96cd91ad54fce6c50964e7ce57815.
|
||||
|
||||
It caused freezes for some users.
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3974
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4338>
|
||||
---
|
||||
src/backends/native/meta-onscreen-native.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/src/backends/native/meta-onscreen-native.c b/src/backends/native/meta-onscreen-native.c
|
||||
index bb7a2c4bd5..a8d7d7aa26 100644
|
||||
--- a/src/backends/native/meta-onscreen-native.c
|
||||
+++ b/src/backends/native/meta-onscreen-native.c
|
||||
@@ -1672,7 +1672,6 @@ maybe_post_next_frame (CoglOnscreen *onscreen)
|
||||
{
|
||||
kms_update = meta_frame_native_steal_kms_update (frame_native);
|
||||
post_nonprimary_plane_update (onscreen_native, frame, kms_update);
|
||||
- onscreen_native->posted_frame = clutter_frame_ref (frame);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2127,7 +2126,6 @@ meta_onscreen_native_finish_frame (CoglOnscreen *onscreen,
|
||||
}
|
||||
|
||||
post_nonprimary_plane_update (onscreen_native, frame, kms_update);
|
||||
- onscreen_native->posted_frame = clutter_frame_ref (frame);
|
||||
|
||||
clutter_frame_set_result (frame, CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
|
@ -5,10 +5,10 @@ diff --git a/meson.build b/meson.build
|
|||
index 2605a65..3550496 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -218,7 +218,7 @@ endif
|
||||
@@ -259,7 +259,7 @@
|
||||
error('The udev support requires logind')
|
||||
endif
|
||||
|
||||
have_libgudev = get_option('udev')
|
||||
if have_libgudev
|
||||
- libudev_dep = dependency('libudev', version: udev_req)
|
||||
+ libudev_dep = dependency('libudev')
|
||||
gudev_dep = dependency('gudev-1.0', version: gudev_req)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue