systemd/mutter-mobile: upgrade to 48.0
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6361
This commit is contained in:
parent
9aa018e762
commit
2c0fa10988
4 changed files with 146 additions and 27 deletions
|
|
@ -1,9 +1,9 @@
|
|||
# Forked from Alpine to apply mobile adaptivity patches
|
||||
|
||||
pkgname=mutter-mobile
|
||||
pkgver=99946.1
|
||||
_pkgver=46.1
|
||||
pkgrel=1
|
||||
pkgver=99948.0
|
||||
_pkgver=48.0
|
||||
pkgrel=0
|
||||
pkgdesc="clutter-based window manager and compositor"
|
||||
url="https://wiki.gnome.org/Projects/Mutter/"
|
||||
# ricsv64: doesn't build currently:
|
||||
|
|
@ -32,9 +32,10 @@ makedepends="
|
|||
graphene-dev
|
||||
gtk+3.0-dev
|
||||
json-glib-dev
|
||||
libei-dev
|
||||
libcanberra-dev
|
||||
libdisplay-info-dev
|
||||
libdrm-dev
|
||||
libei-dev
|
||||
libgudev-dev
|
||||
libice-dev
|
||||
libinput-dev
|
||||
|
|
@ -59,25 +60,31 @@ makedepends="
|
|||
meson
|
||||
pango-dev
|
||||
pipewire-dev
|
||||
py3-argcomplete
|
||||
py3-docutils
|
||||
startup-notification-dev
|
||||
wayland-dev
|
||||
wayland-protocols
|
||||
xorg-server
|
||||
xwayland-dev
|
||||
"
|
||||
options="!check" # Can't be run with release builds
|
||||
provides="mutter=$pkgver-r$pkgrel"
|
||||
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
|
||||
_commit="46-mobile.1"
|
||||
_commit="48.mobile.0"
|
||||
_gvdb_commit="b54bc5da25127ef416858a3ad92e57159ff565b3"
|
||||
source="mutter-mobile-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mutter-mobile/-/archive/$_commit/mutter-mobile-$_commit.tar.gz
|
||||
pcversion.patch
|
||||
https://gitlab.gnome.org/GNOME/gvdb/-/archive/$_gvdb_commit/gvdb-$_gvdb_commit.tar.gz
|
||||
pcver.patch
|
||||
fix-freeze.patch
|
||||
"
|
||||
builddir="$srcdir/mutter-mobile-$_commit"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
|
||||
sed -i "s/libmutter_api_version = '.*'/libmutter_api_version = '99'/g" meson.build
|
||||
sed -i "s/version: '$_commit'/version: '$_pkgver'/g" meson.build
|
||||
mkdir -p subprojects/gvdb
|
||||
mv "$srcdir"/gvdb*/* subprojects/gvdb
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
@ -89,7 +96,7 @@ build() {
|
|||
-Dxwayland_path=/usr/bin/Xwayland \
|
||||
-Dremote_desktop=true \
|
||||
-Dprofiler=false \
|
||||
-Dtests=false \
|
||||
-Dtests=disabled \
|
||||
-Dinstalled_tests=false \
|
||||
. output
|
||||
meson compile ${JOBS:+-j ${JOBS}} -C output
|
||||
|
|
@ -121,6 +128,8 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
210266238a9cf56b77e195559a2f99574de4a52b973bad7143a88f112730dd61ebf807e6644519998f39fe5ddbcb1bfd589d0d5167c92718953d5ad22eba2ae7 mutter-mobile-46-mobile.1.tar.gz
|
||||
2f2379d1f6676c69ba182d008d44c3d216ba5044af56352c785f4c34d17aeb0ac98a539827371d06ade7c2b42b06f916753c736167d2d89c0053b0a0e738c5d5 pcversion.patch
|
||||
c1aef60e14662b373ddeab88d7b49f153165ab2bfb63906aeb64f6de9d224ed3d4c9c5b3cd8a7b12ba29b8de8a5b9fa738dfa681e83cd51e7a33d0695b6410f2 mutter-mobile-48.mobile.0.tar.gz
|
||||
1cd8d689758cda662737e5ec78d55e4f4c6934b0f429d8cadcec4a423bafd8765040f8d62c51d8797b101fff89df75a7b85e37006ea133ab81e600f205c2ef1e gvdb-b54bc5da25127ef416858a3ad92e57159ff565b3.tar.gz
|
||||
5b4851ba1728f9d539cebdf5feb8e49dffc61c5b8f992e84145b654b0c3cadb4e585a4c1d53a4992132e4472771c97bbad2c261525fb17f91c4715da7eea799d pcver.patch
|
||||
b7d0bea395c47558a089f75c2c30ac04da2ffc60d044364653098dcb30302aeeb839631fc51c5b5673d11f07fe85af645ea6fe9b2ebe107f8fc67541d5a8e3eb fix-freeze.patch
|
||||
"
|
||||
|
|
|
|||
99
extra-repos/systemd/mutter-mobile/fix-freeze.patch
Normal file
99
extra-repos/systemd/mutter-mobile/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
|
||||
|
||||
27
extra-repos/systemd/mutter-mobile/pcver.patch
Normal file
27
extra-repos/systemd/mutter-mobile/pcver.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1,5 +1,5 @@
|
||||
project('mutter', 'c',
|
||||
- version: '48.mobile.0',
|
||||
+ version: '48.0',
|
||||
meson_version: '>= 1.3.0',
|
||||
license: 'GPL-2.0-or-later',
|
||||
)
|
||||
@@ -26,7 +26,7 @@ pango_req = '>= 1.46.0'
|
||||
cairo_req = '>= 1.10.0'
|
||||
pangocairo_req = '>= 1.20'
|
||||
pixman_req = '>= 0.42'
|
||||
-gsettings_desktop_schemas_req = '>= 47.beta'
|
||||
+gsettings_desktop_schemas_req = '>= 47'
|
||||
x11_req = '>= 1.7.0'
|
||||
xcomposite_req = '>= 0.4'
|
||||
xkbcommon_req = '>= 0.4.3'
|
||||
@@ -122,7 +122,7 @@ gio_unix_dep = dependency('gio-unix-2.0', version: glib_req)
|
||||
gobject_dep = dependency('gobject-2.0', version: glib_req)
|
||||
gthread_dep = dependency('gobject-2.0', version: glib_req)
|
||||
gmodule_no_export_dep = dependency('gmodule-no-export-2.0', version: glib_req)
|
||||
-gnome_settings_daemon_dep = dependency('gnome-settings-daemon', version: '= 48.mobile.0', required: true)
|
||||
+gnome_settings_daemon_dep = dependency('gnome-settings-daemon', version: '= 48.0', required: true)
|
||||
xkbcommon_dep = dependency('xkbcommon', version: xkbcommon_req)
|
||||
atk_dep = dependency('atk', version: atk_req)
|
||||
colord_dep = dependency('colord', version: colord_req)
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
apk-tools 2.12.10 fails with this in a .pc depends file
|
||||
diff --git a/meson.build b/meson.build
|
||||
index e29c5001bcad..3f21f10cf49a 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -25,9 +25,9 @@ gdk_pixbuf_req = '>= 2.0'
|
||||
pango_req = '>= 1.46.0'
|
||||
cairo_req = '>= 1.10.0'
|
||||
pangocairo_req = '>= 1.20'
|
||||
pixman_req = '>= 0.42'
|
||||
-gsettings_desktop_schemas_req = '>= 40.alpha'
|
||||
+gsettings_desktop_schemas_req = '>= 40_alpha'
|
||||
x11_req = '>= 1.7.0'
|
||||
xcomposite_req = '>= 0.4'
|
||||
xkbcommon_req = '>= 0.4.3'
|
||||
xfixes_req = '>= 6'
|
||||
Loading…
Add table
Add a link
Reference in a new issue