You are not logged in.
NOTE: This thread is not open to opinions regarding X11 or Wayland. Please refrain from such.
I'm curious if any fellow forum folk have yet built a pure Wayland Gnome DE without support for an X11 session nor Xwayland? This is now possible as of Gnome 47.
I don't see anything in the AUR, hence this thread topic. That's understandable tho given it could be a burden to maintain due to user issues.
Not to be outdone by our friends over at Fedora, I'm thinking of giving it a go (locally, not for the AUR).
I'm in no way advocating for this to be the de facto standard for Arch. Xwayland is under active development.
With Gnome 46 and 47 I've been building mutter with meson_options: xwayland=false. Dead simple and mostly functionally equivalent. But, it leaves all the X11-related dependency bits laying around.
Seems the goal of the thread title could be achieved by modifying just 4 packages (gdm, gnome-session, gnome-shell, mutter)?
Last edited by tekstryder (2024-11-25 17:14:34)
Offline
I'll edit this post with the various PKGBUILD diffs and a couple other changes required, but I've removed the dependency on Xwayland after logging into my rebuilt Gnome 47.1 environment:
$ sudo pacman -Rns xorg-xwayland
checking dependencies...
Package (8) Old Version Net Change
libfontenc 1.1.8-1 -0.03 MiB
libxcvt 0.1.2-2 -0.04 MiB
libxfont2 2.0.7-1 -0.23 MiB
xorg-fonts-encodings 1.1.0-1 -0.61 MiB
xorg-server-common 21.1.14-1 -0.12 MiB
xorg-setxkbmap 1.3.4-2 -0.03 MiB
xorg-xkbcomp 1.4.7-1 -0.21 MiB
xorg-xwayland 24.1.4-1 -2.19 MiB
Total Removed Size: 3.47 MiB
:: Do you want to remove these packages? [Y/n]
:: Processing package changes...
(1/8) removing xorg-xwayland [########################################################################################################################] 100%
(2/8) removing xorg-server-common [########################################################################################################################] 100%
(3/8) removing xorg-xkbcomp [########################################################################################################################] 100%
(4/8) removing xorg-setxkbmap [########################################################################################################################] 100%
(5/8) removing libxfont2 [########################################################################################################################] 100%
(6/8) removing libfontenc [########################################################################################################################] 100%
(7/8) removing xorg-fonts-encodings [########################################################################################################################] 100%
(8/8) removing libxcvt [########################################################################################################################] 100%
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating fontconfig cache...
(3/3) Updating the desktop file MIME type cache...
EDIT #1: gdm
NOTE: I added a required patch that has since landed after gdm 47.0 was tagged
--- PKGBUILD-GDM-ARCH 2024-11-02 14:47:37.106557798 -0400
+++ PKGBUILD-GDM-MFM 2024-11-02 12:06:58.392470129 -0400
@@ -8,7 +8,7 @@
libgdm
)
pkgver=47.0
-pkgrel=1
+pkgrel=1.1
pkgdesc="Display manager and login screen"
url="https://gitlab.gnome.org/GNOME/gdm"
arch=(x86_64)
@@ -28,10 +28,6 @@
keyutils
libcanberra
libgudev
- libx11
- libxau
- libxcb
- libxdmcp
pam
systemd
systemd-libs
@@ -46,28 +42,22 @@
meson
plymouth
yelp-tools
- xorg-server
- xorg-xhost
- xorg-xrdb
-)
-optdepends=(
- 'xorg-server: X session support'
- 'xorg-xhost: X session support'
- 'xorg-xrdb: X session support'
)
+
checkdepends=(check)
source=(
"git+https://gitlab.gnome.org/GNOME/gdm.git#tag=${pkgver/[a-z]/.&}"
- 0001-Xsession-Don-t-start-ssh-agent-by-default.patch
+ 088a2af5ffe8c817d64cea020698a58d1059e4ae.patch
)
b2sums=('68e4833abdeb0c1f6bf64ddf35b725b06d379e26e7c4f757e5a958786803605bc072e1a224d7249f00bdf752e7db91bb95f81ca792f5a71f428a906a09457d12'
- 'f7e868fdd7cc121433de1572583eb728f4d186cd4f52c6d6c8f2ccf4a3cf781144ff71f704f13571ddb97a1ff4ec55cfa3df25d38737ad19da21e84ddc2d3ee4')
+ 'SKIP')
prepare() {
cd gdm
- # Don't start ssh-agent by default
- git apply -3 ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
+ # daemon: Don't check for installed XWayland if Wayland-only
+ # https://gitlab.gnome.org/GNOME/gdm/-/commit/088a2af5ffe8c817d64cea020698a58d1059e4ae
+ git apply -3 ../088a2af5ffe8c817d64cea020698a58d1059e4ae.patch
}
build() {
@@ -75,7 +65,8 @@
-D dbus-sys="/usr/share/dbus-1/system.d"
-D default-pam-config=arch
-D default-path="/usr/local/bin:/usr/local/sbin:/usr/bin"
- -D gdm-xsession=true
+ -D gdm-xsession=false
+ -D x11-support=false
-D ipv6=true
-D run-dir=/run/gdm
-D selinux=disabled
@@ -105,7 +96,6 @@
backup=(
etc/gdm/PostSession/Default
etc/gdm/PreSession/Default
- etc/gdm/Xsession
etc/gdm/custom.conf
etc/pam.d/gdm-autologin
etc/pam.d/gdm-fingerprint
EDIT #2: gnome-session
NOTE: I pulled in a patch that has since landed after gnome-session 47.0.1 was tagged. Not required.
--- PKGBUILD-GNOME-SESSION-ARCH 2024-11-02 14:56:58.590490409 -0400
+++ PKGBUILD-GNOME-SESSION-MFM 2024-11-02 12:14:58.718977371 -0400
@@ -3,7 +3,7 @@
pkgname=gnome-session
pkgver=47.0.1
-pkgrel=1
+pkgrel=1.1
pkgdesc="The GNOME Session Handler"
url="https://gitlab.gnome.org/GNOME/gnome-session"
arch=(x86_64)
@@ -23,9 +23,6 @@
libgl
libice
libsm
- libx11
- libxcomposite
- libxtst
systemd
systemd-libs
xdg-desktop-portal-gnome
@@ -42,14 +39,25 @@
xtrans
)
groups=(gnome)
-source=("git+https://gitlab.gnome.org/GNOME/gnome-session.git#tag=${pkgver/[a-z]/.&}")
-b2sums=('66034808c7c395c6c8fd9285dd6cc8602c0f1a65b4b0fd980b3bd4192420b25dc076d69e71a1be79247670504132734bc71e8b05ef5419294e4913d42bb1ff9e')
+source=(
+ "git+https://gitlab.gnome.org/GNOME/gnome-session.git#tag=${pkgver/[a-z]/.&}"
+ 6452b8b4f8bb674726ffc547b018be5a4998c7f3.patch
+)
+b2sums=('66034808c7c395c6c8fd9285dd6cc8602c0f1a65b4b0fd980b3bd4192420b25dc076d69e71a1be79247670504132734bc71e8b05ef5419294e4913d42bb1ff9e'
+ 'SKIP')
prepare() {
cd $pkgname
+
+ # gnome-session wrapper: Avoid running as a subprocess
+ # https://gitlab.gnome.org/GNOME/gnome-session/-/commit/6452b8b4f8bb674726ffc547b018be5a4998c7f3
+ git apply -3 ../6452b8b4f8bb674726ffc547b018be5a4998c7f3.patch
}
build() {
+ local meson_options=(
+ -D x11=false
+ )
arch-meson $pkgname build
meson compile -C build
}
EDIT #3: mutter
NOTE: Added build-time dependency on (libxcvt). The cvt binary is used by src/backends/native/gen-default-modes.py at build time to generate a header file containing a list of display modes (drmModeModeInfo).
--- PKGBUILD-MUTTER-ARCH 2024-11-02 15:05:39.720280547 -0400
+++ PKGBUILD-MUTTER-MFM 2024-11-02 15:10:00.338501516 -0400
@@ -9,7 +9,7 @@
mutter-docs
)
pkgver=47.1
-pkgrel=1
+pkgrel=1.1
pkgdesc="Window manager and compositor for GNOME"
url="https://gitlab.gnome.org/GNOME/mutter"
arch=(x86_64)
@@ -46,21 +46,6 @@
libsm
libsysprof-capture
libwacom
- libx11
- libxau
- libxcb
- libxcomposite
- libxcursor
- libxdamage
- libxext
- libxfixes
- libxi
- libxinerama
- libxkbcommon
- libxkbcommon-x11
- libxkbfile
- libxrandr
- libxtst
mesa
pango
pipewire
@@ -69,7 +54,6 @@
startup-notification
systemd-libs
wayland
- xorg-xwayland
)
makedepends=(
egl-wayland
@@ -77,6 +61,7 @@
git
glib2-devel
gobject-introspection
+ libxcvt
meson
sysprof
wayland-protocols
@@ -101,6 +86,8 @@
-D libdisplay_info=enabled
-D tests=disabled
-D wayland_eglstream=true
+ -D xwayland=false
+ -D x11=false
)
CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
EDIT #4: gnome-shell
--- PKGBUILD-GNOME-SHELL-ARCH 2024-11-02 15:16:36.307269156 -0400
+++ PKGBUILD-GNOME-SHELL-MFM 2024-11-02 14:45:04.389595871 -0400
@@ -9,7 +9,7 @@
gnome-shell-docs
)
pkgver=47.1
-pkgrel=1
+pkgrel=1.1
epoch=1
pkgdesc="Next generation desktop shell"
url="https://gitlab.gnome.org/GNOME/gnome-shell"
@@ -50,8 +50,6 @@
libpulse
libsecret
libsoup3
- libx11
- libxfixes
mutter
pango
polkit
Please let me know if you spot any issues, or have suggestions for improvement!
I'll give it a few days for feedback before marking as solved.
Last edited by tekstryder (2024-11-02 22:24:55)
Offline
$ pactree --sync --reverse --depth 1 libx11 | grep gnome
├─gnome-applets
├─gnome-control-center
├─gnome-flashback
├─gnome-mplayer
├─gnome-panel
├─gnome-session
├─gnome-settings-daemon
├─gnome-shell
├─gnome-terminal
├─xdg-desktop-portal-gnome
$
you covered gnome-shell, but not the other packages. Maybe settle for gnome without xwayland for now ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
you covered gnome-shell, but not the other packages. Maybe settle for gnome without xwayland for now ?
Remove that | grep gnome and you'll see why I did not pursue libx11 as a whole.
I'll adjust the phrasing of my OP/goal slightly. There is no longer an X11 session available with the packages I built. This is in parity with the current Fedora 41 release.
The other packages you listed I've either not got installed and/or have no requirement of an X11 or Xwayland session.
$ pactree --reverse --depth 1 libx11 | grep gnome
├─gnome-control-center
├─gnome-settings-daemon
├─xdg-desktop-portal-gnome
They're all happy in native Wayland. As mentioned in the OP I've been running an Xwayland-less native Wayland session for a couple years now (during Gnome 44 and 45 I used the --no-X11 startup option to block Xwayland in the session... then began building mutter myself for 46 and 47 with meson option).
Also note no more xorg-server*:
$ pacman -Qs xorg
local/xorg-xmessage 1.0.7-1
Display a message or query in a window
local/xorg-xprop 1.2.7-1 (xorg-apps xorg)
Property displayer for X
local/xorg-xrdb 1.2.2-2 (xorg-apps xorg)
X server resource database utility
local/xorg-xset 1.2.5-2 (xorg-apps xorg)
User preference utility for X
local/xorgproto 2024.1-2
combined X.Org X11 Protocol headers
EDIT1: Clarified thread title and OP to better reflect goal. Thanks!
EDIT2: A few more snippets regarding package/dependency changes (kinda the whole point of the thread).
Last edited by tekstryder (2024-11-03 01:55:26)
Offline
As expected, using the pure Wayland packages for Gnome's session has been entirely uneventful.
I'll continue building these packages locally in perpetuity unless/until Arch ever defaults to dropping X11/Xwayland from Gnome packaging officially.
warning: gdm: local (47.0-99) is newer than extra (47.0-2)*
warning: gnome-session: local (47.0.1-1.1) is newer than extra (47.0.1-1)
warning: gnome-shell: local (1:47.2-1.1) is newer than extra (1:47.1-1)
warning: libgdm: local (47.0-99) is newer than extra (47.0-2)
warning: mutter: local (47.2-1.1) is newer than extra (47.1-1)
Now running Gnome 47.2.
* Note GDM has a few new X11-less-related MRs recently merged, so just building from git head for now until next 47 tag or if 47 is branched.
Marking this as [SOLVED].
Offline
Gnome 48.0 is now in [Extra].
For anyone interested in running Gnome 48 without X11/Xwayland, here are diffs for the required core packages.
Upstream didn't feel the need to tag a 48 release for gnome-session as there's been no affecting changes since the previous release.
I'll provide the changes required for a pure Wayland Gnome session environment each major release.
gdm:
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@
libgdm
)
pkgver=48.0
-pkgrel=1
+pkgrel=1.1
pkgdesc="Display manager and login screen"
url="https://gitlab.gnome.org/GNOME/gdm"
arch=(x86_64)
@@ -28,10 +28,6 @@
keyutils
libcanberra
libgudev
- libx11
- libxau
- libxcb
- libxdmcp
pam
systemd
systemd-libs
@@ -46,28 +42,16 @@
meson
plymouth
yelp-tools
- xorg-server
- xorg-xhost
- xorg-xrdb
-)
-optdepends=(
- 'xorg-server: X session support'
- 'xorg-xhost: X session support'
- 'xorg-xrdb: X session support'
)
checkdepends=(check)
source=(
"git+https://gitlab.gnome.org/GNOME/gdm.git#tag=${pkgver/[a-z]/.&}"
- 0001-Xsession-Don-t-start-ssh-agent-by-default.patch
)
-b2sums=('d08d2137f630999b2f36bd8b798805e145fd7350fc4a092056cfdddd2170ae57b3b17a3a8f44f4c08a7e527a165fdce0dfa7a934188bc487d2a6d5bd848497b0'
- 'f7e868fdd7cc121433de1572583eb728f4d186cd4f52c6d6c8f2ccf4a3cf781144ff71f704f13571ddb97a1ff4ec55cfa3df25d38737ad19da21e84ddc2d3ee4')
+b2sums=('d08d2137f630999b2f36bd8b798805e145fd7350fc4a092056cfdddd2170ae57b3b17a3a8f44f4c08a7e527a165fdce0dfa7a934188bc487d2a6d5bd848497b0')
prepare() {
cd gdm
- # Don't start ssh-agent by default
- git apply -3 ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
}
build() {
@@ -75,7 +59,8 @@
-D dbus-sys="/usr/share/dbus-1/system.d"
-D default-pam-config=arch
-D default-path="/usr/local/bin:/usr/local/sbin:/usr/bin"
- -D gdm-xsession=true
+ -D gdm-xsession=false
+ -D x11-support=false
-D ipv6=true
-D run-dir=/run/gdm
-D selinux=disabled
@@ -105,7 +90,6 @@
backup=(
etc/gdm/PostSession/Default
etc/gdm/PreSession/Default
- etc/gdm/Xsession
etc/gdm/custom.conf
etc/pam.d/gdm-autologin
etc/pam.d/gdm-fingerprint
gnome-session:
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=gnome-session
pkgver=47.0.1
-pkgrel=1
+pkgrel=1.1
pkgdesc="The GNOME Session Handler"
url="https://gitlab.gnome.org/GNOME/gnome-session"
arch=(x86_64)
@@ -23,9 +23,6 @@
libgl
libice
libsm
- libx11
- libxcomposite
- libxtst
systemd
systemd-libs
xdg-desktop-portal-gnome
@@ -50,6 +47,9 @@
}
build() {
+ local meson_options=(
+ -D x11=false
+ )
arch-meson $pkgname build
meson compile -C build
}
gnome-shell:
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,7 +9,7 @@
gnome-shell-docs
)
pkgver=48.0
-pkgrel=1
+pkgrel=1.1
epoch=1
pkgdesc="Next generation desktop shell"
url="https://gitlab.gnome.org/GNOME/gnome-shell"
@@ -50,8 +50,6 @@
libpulse
libsecret
libsoup3
- libx11
- libxfixes
mutter
pango
polkit
mutter:
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,7 +9,7 @@
mutter-docs
)
pkgver=48.0
-pkgrel=3
+pkgrel=3.1
pkgdesc="Window manager and compositor for GNOME"
url="https://gitlab.gnome.org/GNOME/mutter"
arch=(x86_64)
@@ -49,21 +49,6 @@
libsm
libsysprof-capture
libwacom
- libx11
- libxau
- libxcb
- libxcomposite
- libxcursor
- libxdamage
- libxext
- libxfixes
- libxi
- libxinerama
- libxkbcommon
- libxkbcommon-x11
- libxkbfile
- libxrandr
- libxtst
mesa
pango
pipewire
@@ -74,13 +59,13 @@
startup-notification
systemd-libs
wayland
- xorg-xwayland
)
makedepends=(
gi-docgen
git
glib2-devel
gobject-introspection
+ libxcvt
meson
python-docutils
sysprof
@@ -122,6 +107,8 @@
-D installed_tests=false
-D tests=disabled
-D wayland_eglstream=true
+ -D x11=false
+ -D xwayland=false
)
CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
OCD EDIT: Removed blank extra newline from the GDM diff.
Last edited by tekstryder (2025-03-24 15:36:41)
Offline
A side-quest to this x11-less journey and lifestyle choice, I went on a rampage rebuilding most everything GTK-related.
Curious to see what apps would choke on x11-less gtk3/4 toolkits, and bored with the stability of mid-release-cycle Gnome, I got to building.
Mostly a smooth process, only needing to modify code in a couple apps and libraries.
My C skills be dusty (I'm an old K&R guy), so g-s-d, and its aged dep libcanberra, took some doing. wxwidgets-gtk3 was relatively easy to patch up.
Otherwise this proof-of-concept went swimmingly, tho I feel a bit like a gentooee and Greta messaged me, "How dare you?!".
Some notes:
*** GTK3-no-X11 rebuilds required ***
• gtk3
• gjs (rebuild not required)
• geany
• gimp
• xdg-desktop-portal-gtk
• webkit2gtk-4.1 (dep of evolution)
• gtk-vnc (dep of virt-manager (rebuild not required))
• spice-gtk (dep of virt-manager)
• libreoffice-fresh (required code changes)
• gtkmm3 (dep of gparted)
• gparted (requires rebuild against rebuilt gtkmm3)
• wxwidgets-gtk3 (dep of veracrypt) (required code changes)
• veracrypt (requires rebuild against patched/rebuilt wxwidgets-gtk3)
• libcanberra (dep of gnome-settings-daemon) (required code changes)
• gnome-settings-daemon (required code changes + rebuild against patched/rebuilt libcanberra)
*** GTK4-no-X11 rebuilds required ***
• gtk4
• papers
• xdg-desktop-portal-gnome
• loupe (-Dx11=disabled)
• gst-plugin-gtk4 (dep of showtime (requires upstream patch or PKGBUILD mod))
• libreoffice-fresh (required code changes)
• libportal-gtk4 (dep of nautilus)
• nautilus (requires rebuild against rebuilt libportal-gtk4)
• libnma-gtk4 (dep of g-c-c)
• gnome-control-center (requires MR 3107 + git main + rebuilt libnma-gtk4)
warning: gdm: local (48.0-1.1) is newer than extra (48.0-1)
warning: gimp: local (3.0.4-1.1) is newer than extra (3.0.4-1)
warning: gjs: local (2:1.84.2-1.1) is newer than extra (2:1.84.2-1)
warning: gnome-control-center: local (48.1-2.1) is newer than extra (48.1-2)
warning: gnome-session: local (48.0-1.2) is newer than extra (48.0-1)
warning: gnome-settings-daemon: local (48.1-1.1) is newer than extra (48.1-1)
warning: gnome-shell: local (1:48.1-1.1) is newer than extra (1:48.1-1)
warning: gparted: local (1.7.0-1.1) is newer than extra (1.7.0-1)
warning: gst-plugin-gtk4: local (0.13.6-1.1) is newer than extra (0.13.6-1)
warning: gtk-update-icon-cache: local (1:4.18.5-2.1) is newer than extra (1:4.18.5-2)
warning: gtk-vnc: local (1.5.0-1.1) is newer than extra (1.5.0-1)
warning: gtk3: local (1:3.24.49-2.1) is newer than extra (1:3.24.49-2)
warning: gtk4: local (1:4.18.5-2.1) is newer than extra (1:4.18.5-2)
warning: gtk4-demos: local (1:4.18.5-2.1) is newer than extra (1:4.18.5-2)
warning: gtkmm3: local (3.24.10-1.1) is newer than extra (3.24.10-1)
warning: libcanberra: local (1:0.30+r2+gc0620e4-4.1) is newer than extra (1:0.30+r2+gc0620e4-4)
warning: libgdm: local (48.0-1.1) is newer than extra (48.0-1)
warning: libnautilus-extension: local (48.1-1.2) is newer than extra (48.1-1)
warning: libnma-common: local (1.10.6-3.1) is newer than extra (1.10.6-3)
warning: libnma-gtk4: local (1.10.6-3.1) is newer than extra (1.10.6-3)
warning: libportal: local (0.9.1-2.1) is newer than extra (0.9.1-2)
warning: libportal-gtk4: local (0.9.1-2.1) is newer than extra (0.9.1-2)
warning: libportal-qt6: local (0.9.1-2.1) is newer than extra (0.9.1-2)
warning: libreoffice-fresh: local (25.2.3-3.3) is newer than extra (25.2.3-3)
warning: loupe: local (48.1-1.1) is newer than extra (48.1-1)
warning: mutter: local (48.2-1.1) is newer than extra (48.2-1)
warning: nautilus: local (48.1-1.2) is newer than extra (48.1-1)
warning: papers: local (48.2-1.1) is newer than extra (48.2-1)
warning: spice-gtk: local (0.42-4.1) is newer than extra (0.42-4)
warning: veracrypt: local (1.26.20-1.1) is newer than extra (1.26.20-1)
warning: webkit2gtk-4.1: local (2.48.2-1.1) is newer than extra (2.48.2-1)
warning: webkitgtk-6.0: local (2.48.2-1.1) is newer than extra (2.48.2-1)
warning: wxwidgets-common: local (3.2.8-2.1) is newer than extra (3.2.8-2)
warning: wxwidgets-gtk3: local (3.2.8-2.1) is newer than extra (3.2.8-2)
warning: xdg-desktop-portal-gnome: local (48.0-2.1) is newer than extra (48.0-2)
warning: xdg-desktop-portal-gtk: local (1.15.3-1.1) is newer than extra (1.15.3-1)
EDIT: Installed packages dependent on GTK3/4:
gtk3
├─appstream-glib
├─bleachbit
├─brave-bin
├─chromium
├─dconf-editor
├─drawing
├─evolution
├─evolution-data-server
├─gcr
├─gdm
├─geany-git
├─gimp
├─gnome-autoar
├─gnome-color-manager
├─gnome-desktop
├─gnome-disk-utility
├─gnome-session
├─gnome-settings-daemon
├─gspell
├─gtk-vnc
├─gtkmm3
├─gtksourceview4
├─libhandy
├─meld
├─qemu-ui-gtk
├─quodlibet
├─spice-gtk
├─vte3
├─webkit2gtk-4.1
├─wxwidgets-gtk3
├─xdg-desktop-portal-gtk
└─xdg-user-dirs-gtk
gtk4
├─baobab
├─colord-gtk4
├─czkawka-gui
├─file-roller
├─foliate
├─glycin
├─gnome-bluetooth-3.0
├─gnome-calculator
├─gnome-characters
├─gnome-console
├─gnome-control-center
├─gnome-desktop-4
├─gnome-font-viewer
├─gnome-logs
├─gnome-online-accounts
├─gnome-shell
├─gnome-system-monitor
├─gnome-text-editor
├─gnome-weather
├─gnote
├─gst-plugin-gtk4
├─gtk4-demos
├─gtkmm-4.0
├─gtksourceview5
├─libadwaita
├─libadwaita-demos
├─libnma-gtk4
├─libportal-gtk4
├─libspelling
├─loupe
├─mutter
├─nautilus
├─papers
├─pavucontrol
├─resources
├─showtime
├─tecla
├─vte4
├─webkitgtk-6.0
└─xdg-desktop-portal-gnome
$ pactree --sync --reverse --depth 1 libx11 | grep gnome
you covered gnome-shell, but not the other packages.
Maybe settle for gnome without xwayland for now ?
Never settle.
Ever-decreasing count!
$ pactree -r -d1 libx11 | wc -l
45
libx11
├─aalib
├─at-spi2-core
├─cairo
├─egl-x11
├─ffmpeg
├─freeglut
├─ghostscript
├─gst-plugins-bad-libs
├─gst-plugins-base-libs
├─gst-plugins-good
├─libcaca
├─libepoxy
├─libva
├─libxaw
├─libxcomposite
├─libxcursor
├─libxdamage
├─libxext
├─libxfixes
├─libxft
├─libxi
├─libxinerama
├─libxmu
├─libxpm
├─libxrandr
├─libxrender
├─libxss
├─libxt
├─libxtst
├─libxv
├─libxxf86vm
├─mame
├─mesa
├─mesa-utils
├─pango
├─qemu-ui-gtk
├─qemu-ui-sdl
├─qt6-base
├─sdl3
├─startup-notification
├─strawberry
├─vulkan-tools
├─xorg-xmessage
└─xorg-xprop
• Kernel 6.14.6
• gnome-shell 48.1 (Wayland)
• mutter 48.2 (-Dxwayland=false -Dx11=false)
• gtk3 3.24.49 (-Dx11-backend=false)
• gtk4 4.18.5 (-Dx11-backend=false)
Unlikely I'll maintain all these rebuilds (now carrying 36 local packages) moving forward, as it provides no functional benefit.
However...
1) Was able to get a couple gcc-15-compilation-related Arch packaging issues filed and addressed along the way, so not pointless.
2) Found a few areas for upstream improvement/deprecation and have/will files issues in any relevant projects.
EDIT 2025-03-14:
Added gst-plugin-gtk4 and libreoffice-fresh.
Had to whip up a pretty extensive patch for LO.
And those compile times...oof. But, I patched it against both GTK3 and GTK4, each compiled sans X11.
Last edited by tekstryder (Yesterday 15:31:34)
Offline