tce-load -i compiletc meson dbus-dev gnome-desktop-dev json-glib-dev upower-dev Xorg-7.7-3d-dev xmlto gettext wget https://download.gnome.org/sources/gnome-session/45/gnome-session-45.0.tar.xz cd gnome-session-45.0 sed 's@/bin/sh@/bin/sh -l@' -i gnome-session/gnome-session.in mkdir build cd build CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" meson --prefix=/usr/local --libexecdir=/usr/local/lib/gnome-session --localstatedir=/var --buildtype=plain -Dsystemd_journal=false -Dman=false -Ddocbook=false -Dsystemduserunitdir=/tmp ninja [0m 14.28s] sudo ninja install sudo rm -v /usr/local/share/xsessions/gnome.desktop sudo rm -v /usr/local/share/wayland-sessions/gnome.desktop sudo rm -rv /tmp/*.d sudo rm -rv /tmp/*.target sudo rm -rv /tmp/*.service The startup sequence of gnome-wayland needs to create a dbus session. On SysV, this has to be added to the shipped gnome-wayland.desktop file, which is written for systemd. As the root user: sudo sed -e 's@^Exec=@&/usr/local/bin/dbus-run-session @' -i /usr/local/share/wayland-sessions/gnome-wayland.desktop To start GNOME using xinit-1.4.2, run the following commands: cat > ~/.xinitrc << "EOF" dbus-run-session gnome-session EOF startx Alternatively, to start GNOME with Wayland support, run the following command: XDG_SESSION_TYPE=wayland dbus-run-session gnome-session gnome-session 45.0 ==================== prefix: /usr/local exec_prefix: /usr/local/lib/gnome-session libdir: /usr/local/lib bindir: /usr/local/bin sbindir: /usr/local/sbin sysconfdir: /usr/local/etc localstatedir: /var datadir: /usr/local/share source code location: /usr/src/gnome-session-45.0 compiler: gcc cflags: Debug mode: false Use *_DISABLE_DEPRECATED: false Session tracking: systemd Build Docbook: false Build manpages: false Build targets in project: 145 NOTICE: Future-deprecated features used: * 0.56.0: {'meson.source_root'} gnome-session 45.0 User defined options buildtype : plain libexecdir : /usr/local/lib/gnome-session localstatedir : /var prefix : /usr/local docbook : false man : false systemd_journal : false systemduserunitdir: /tmp