diff --git a/extra-repos/systemd/gdm/0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch b/extra-repos/systemd/gdm/0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch index 4e900e28fe914dd504807492fac08abc2484ef87..64a895b462e4c6dfffda7774c2e4608242568433 100644 --- a/extra-repos/systemd/gdm/0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch +++ b/extra-repos/systemd/gdm/0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch @@ -14,7 +14,7 @@ diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in index a4f841bdf..481c5b4dd 100644 --- a/data/61-gdm.rules.in +++ b/data/61-gdm.rules.in -@@ -2,13 +2,13 @@ SUBSYSTEM!="pci", GOTO="gdm_pci_device_end" +@@ -2,13 +2,13 @@ ACTION!="bind", ACTION!="add", GOTO="gdm_pci_device_end" # cirrus @@ -32,25 +32,26 @@ index a4f841bdf..481c5b4dd 100644 # disable Wayland on Hi1710 chipsets ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland" -@@ -36,7 +36,7 @@ SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end" - # but keep it enabled for simple framebuffer drivers - DRIVERS=="simple-framebuffer", GOTO="gdm_nomodeset_end" +@@ -21,7 +21,7 @@ + SUBSYSTEM!="drm", GOTO="gdm_hardware_gpu_end" + DRIVERS=="simple-framebuffer", GOTO="gdm_hardware_gpu_end" IMPORT{parent}="GDM_MACHINE_HAS_VIRTUAL_GPU" -ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hardware-gpu" +ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hardware-gpu" - IMPORT{cmdline}="nomodeset", GOTO="gdm_disable_wayland" - LABEL="gdm_nomodeset_end" + LABEL="gdm_hardware_gpu_end" -@@ -46,7 +46,7 @@ LABEL="gdm_nomodeset_end" + # The vendor nvidia driver has multiple modules that need to be loaded before GDM can make an +@@ -30,7 +30,7 @@ KERNEL!="nvidia", GOTO="gdm_nvidia_end" SUBSYSTEM!="module", GOTO="gdm_nvidia_end" ACTION!="add", GOTO="gdm_nvidia_end" -RUN+="/usr/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver" +RUN+="/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver" - # Check if suspend/resume services necessary for working wayland support is available - TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland" -@@ -79,7 +79,7 @@ SUBSYSTEM!="drm", GOTO="gdm_hybrid_graphics_check_end" + # Import nvidia kernel parameters + IMPORT{program}="/bin/sh -c \"sed -e 's/: /=/g' -e 's/\([^[:upper:]]\)\([[:upper:]]\)/\1_\2/g' -e 's/[[:lower:]]/\U&/g' -e 's/^/NVIDIA_/' /proc/driver/nvidia/params\"" +@@ -59,8 +59,8 @@ + SUBSYSTEM!="drm", GOTO="gdm_hybrid_graphics_check_end" ACTION!="add", GOTO="gdm_hybrid_graphics_check_end" IMPORT{program}="/bin/sh -c \"echo GDM_NUMBER_OF_GRAPHICS_CARDS=`ls -1d /sys/class/drm/card[0-9] | wc -l`\"" -ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machine-has-hybrid-graphics" @@ -59,7 +60,4 @@ index a4f841bdf..481c5b4dd 100644 +ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hybrid-graphics" LABEL="gdm_hybrid_graphics_check_end" - # If this is a hybrid graphics laptop with vendor nvidia driver, disable wayland --- -2.39.2 - + # Disable wayland in situation where we're in a guest with a virtual gpu and host passthrough gpu diff --git a/extra-repos/systemd/gdm/APKBUILD b/extra-repos/systemd/gdm/APKBUILD index 32691420938e85fdcebc504c17b59bd1aa697b53..b5cdd23d90dcb4570b68677464279e4e9bcd6955 100644 --- a/extra-repos/systemd/gdm/APKBUILD +++ b/extra-repos/systemd/gdm/APKBUILD @@ -1,8 +1,8 @@ # Forked from Alpine for systemd support pkgname=gdm -pkgver=99947.0 -_pkgver=47.0 +pkgver=99948.0 +_pkgver=48.0 pkgrel=0 pkgdesc="GNOME display manager" url="https://wiki.gnome.org/Projects/GDM" @@ -82,8 +82,8 @@ systemd() { } sha512sums=" -5578b2839ec78ef0b155a6ef6b82384495ef0f3ceb49f4bc7c656bf9dafa95b260148c7fc9b8295b71d4a2d33f6fe6c4a47485cd9eba5c0929f0492ba06e0893 gdm-47.0.tar.xz -c5c57ee93f5a33db154632f0f81fa2e62a48635cfa5e51ada9cc969478df0ce15878446c639c8647c53d439f2eb4173e7fca0069eae31fbdcec541cc5f28cd28 0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch +3e4a320cc6a0b43d65122bacd2b99531695f20ec809a767b957d63a511e00da017a9a4abe815596c6ad1398c5d427418d5c51bf6162216f60fdae5e8095bd305 gdm-48.0.tar.xz +aa302c33c9b31e823ab98ca80c330c3f7eaa10d05c402cf111d78a35fbec82ce90bff34c19b713b6e352428c31df91f04bd01b58cae8968e130a991c73382020 0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch 66611d49fc4c9578415a7e554834edcb9de99396bd0ca511dcfd4fb256e8a1cd1fd5f10464f4668ffe04799d919bc22ddb58e8bf272017edba69a7951522e63d 0003-DOWNSTREAM-pam-rename-common-to-base.patch f836cf0acdf148f2ae09ac28251b5126ce597f08254c43b1ec77596f75e1a3229926116c13f98554625be763e8d28415b27bd679b0a5de9f86bdca7857054c82 Xsession " diff --git a/extra-repos/systemd/gnome-settings-daemon/APKBUILD b/extra-repos/systemd/gnome-settings-daemon/APKBUILD index b4ce7e155c323b9f15de5c8965a4fb7a3436b228..354babdf23deeb6a8105c1d8ed38c6ccc0292771 100644 --- a/extra-repos/systemd/gnome-settings-daemon/APKBUILD +++ b/extra-repos/systemd/gnome-settings-daemon/APKBUILD @@ -1,9 +1,9 @@ # Forked from Alpine for systemd support pkgname=gnome-settings-daemon -pkgver=99947.2 -_pkgver=47.2 -pkgrel=1 +pkgver=99948.0 +_pkgver=48.0 +pkgrel=0 pkgdesc="GNOME settings daemon" url="https://gitlab.gnome.org/GNOME/gnome-settings-daemon" arch="all" @@ -73,5 +73,5 @@ package() { } sha512sums=" -fd3e358aa1f6a317dc49436965135dde204bd55fee9c96127d1208aafb60af3667fcc344a1667be1596892987f67ebab3fc7eefaeeefce82e1c65635e36c126f gnome-settings-daemon-47.2.tar.xz +0f79f6f690f86e37b2209012c45d2d4a97a0b01954b9f457af5c6b82d906f22e48eaa9c26a49f91cc20fec507f371d397820ab4c8505167ff290cb20c2c7f0c8 gnome-settings-daemon-48.0.tar.xz " diff --git a/extra-repos/systemd/gnome-shell/APKBUILD b/extra-repos/systemd/gnome-shell/APKBUILD index cbb6fa4fd7ae5d937675e74344bb513d9e5883d6..370eab185670bc6d9fc773084a60f97688088f9c 100644 --- a/extra-repos/systemd/gnome-shell/APKBUILD +++ b/extra-repos/systemd/gnome-shell/APKBUILD @@ -1,8 +1,8 @@ # Forked from Alpine to add systemd! pkgname=gnome-shell -pkgver=99947.5 -_pkgver=47.5 +pkgver=99948.0 +_pkgver=48.0 pkgrel=0 pkgdesc="GNOME shell" url="https://gitlab.gnome.org/GNOME/gnome-shell" @@ -73,7 +73,6 @@ subpackages=" " source="https://download.gnome.org/sources/gnome-shell/${_pkgver%.*}/gnome-shell-$_pkgver.tar.xz gsh.patch - schemas_req.patch " # TODO: crossdirect disabled due to armv7 crosscompile failure on x86_64, see # https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5115#note_1899890119 @@ -122,7 +121,6 @@ schemas() { } sha512sums=" -5c34d16350fc92d96ed87981eea0abb9fbd9bf793085eece286b2e7bd01b94bfeb123f801e875cecadfda20abd30294e6d46aed0e1ffbbbec57bb7e0aaaea90d gnome-shell-47.5.tar.xz +13fce232753223495fbf2d5e9623423efe75c2c5bdd093df6e7cfa2a25fe6f1e8cb7b7e8697d7afc42e55ce628364ec694b316a9d9794e088ac3dfe484cfaec1 gnome-shell-48.0.tar.xz ae4ac679bacd35948b44068e5a70407f473bd96986ee126abb1bdf066db5cbc2087a3ffae0b390286689cacbe8325870fd43663ba39f4f7543216e02bf083934 gsh.patch -3fab1a0e141ae7c972e827935c6e4c52d927faf69dd25a5c72bbcdaa1b763d1bb58ea5cb074686145b29c3391f557b01920a8d3613bb83d15f073d661a447426 schemas_req.patch " diff --git a/extra-repos/systemd/gnome-shell/schemas_req.patch b/extra-repos/systemd/gnome-shell/schemas_req.patch deleted file mode 100644 index 42c974f85dea0159ade14c225a58261ca69663c9..0000000000000000000000000000000000000000 --- a/extra-repos/systemd/gnome-shell/schemas_req.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index ec385b1..e0addb3 100644 ---- a/meson.build -+++ b/meson.build -@@ -28,7 +28,7 @@ gjs_req = '>= 1.73.1' - gtk_req = '>= 4.0' - mutter_req = '>= 47.0' - polkit_req = '>= 0.100' --schemas_req = '>= 47.alpha' -+schemas_req = '>= 47' - systemd_req = '>= 246' - ibus_req = '>= 1.5.19' - gnome_desktop_req = '>= 40' diff --git a/extra-repos/systemd/mutter/APKBUILD b/extra-repos/systemd/mutter/APKBUILD index 2f31ad3c9afc536aa8c9b40e01140ecdfacaa7d7..ed348ed95b2cb22dc74ec116cf8ddb1db2f282a8 100644 --- a/extra-repos/systemd/mutter/APKBUILD +++ b/extra-repos/systemd/mutter/APKBUILD @@ -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 " diff --git a/extra-repos/systemd/mutter/fix-freeze.patch b/extra-repos/systemd/mutter/fix-freeze.patch new file mode 100644 index 0000000000000000000000000000000000000000..ae911463e3da20488f3a7b69f1d93203c7eb5d28 --- /dev/null +++ b/extra-repos/systemd/mutter/fix-freeze.patch @@ -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 + diff --git a/extra-repos/systemd/mutter/fixudev-req.patch b/extra-repos/systemd/mutter/fixudev-req.patch index 33553cf98aa1c651f2538dc2a26b12bce0b375e3..d5ffd7b2ed2b50a55c1091911cdae4e23c51eb14 100644 --- a/extra-repos/systemd/mutter/fixudev-req.patch +++ b/extra-repos/systemd/mutter/fixudev-req.patch @@ -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)