Over the last few months I've been picking away at putting together slackbuilds for various GNOME Desktop components and submitting them to slackbuilds.org, with the support of a few other Slacker's from here on the forums. Most of the work has gone "under the radar" so far, so I wanted to make a post here to bring some awareness that there is a functional GNOME desktop available for Slackware 15.0 on slackbuilds.org.
The tricky part of building the GNOME desktop is of course is the build order, so I have also prepared some queue files to be handled by programs like 'sbopkg' to make life easier.
You can find these queuefiles and more information on my github page here:
https://github.com/0xBOBF/gnome-slackware-15.0
For the rest of this post I'll just re-iterate how to build/install the GNOME desktop, which is also found in the README.
Building and Installing:
There are two queue files that I have put together:
1.
gnome-basic.sqf - A minimal GNOME desktop without any additional GNOME applications. This provides the basic GNOME Shell, GNOME Session Manager, GDM display manager, and ability to tweak the system and extensions.
2.
gnome-all.sqf - This builds most of the available GNOME software from slackbuilds.org, some of which integrate into the GNOME desktop to provide more features. See the queuefile for details of what is included.
I recommend the 'gnome-all' queue, as the basic version is very "barebones".
Before starting either build you will need to create a 'colord' group and user, which is needed by the colord dependency for the GNOME desktop. Use the following commands as root to set this up:
Code:
groupadd -g 303 colord
useradd -d /var/lib/colord -u 303 -g colord -s /bin/false colord
If using the gnome-all.sqf queuefile then you will also need to set up an 'avahi' group and user, which is an optional dependency that is used in the full build. The following commands will set up an avahi group and user:
Code:
groupadd -g 214 avahi
useradd -u 214 -g 214 -c Avahi -d /dev/null -s /bin/false avahi
If you fail to set these users and groups up before starting, then the queue will fail when it reaches colord and/or avahi.
Here is example steps for using 'sbopkg' to install the 'gnome-all' build. Note that this is done after setting up the above groups/users, and sbopkg is synced:
Code:
wget -P /var/lib/sbopkg/queues https://raw.githubusercontent.com/0xBOBF/gnome-slackware-15.0/main/gnome-all.sqf
sbopkg -i gnome-all
Or, the 'gnome-basic' queue could be built with the following:
Code:
wget -P /var/lib/sbopkg/queues https://raw.githubusercontent.com/0xBOBF/gnome-slackware-15.0/main/gnome-basic.sqf
sbopkg -i gnome-basic
Post Install Setup:
Slackware 15.0 comes with support for GDM already in its /etc/rc.d/rc.4 init script. However, GDM is started in this script with an invalid option, which will cause GDM to fail to start by default. You will need to edit the script and remove the '-nodaemon' option before attempting to use GDM from runlevel 4. After correcting, the gdm stanza should be:
Code:
if [ -x /usr/sbin/gdm ]; then
exec /usr/sbin/gdm
fi
If you use the gnome-all.sqf queuefile, then you will also install avahi which is an optional dependency. Avahi has a couple daemons that should be started at boot and stopped at shutdown. This can be done using rc.local and rc.local_shutdown scripts (this information is also in the Avahi README).
Start the daemons with the following in /etc/rc.d/rc.local:
Code:
# Start avahidaemon
if [ -x /etc/rc.d/rc.avahidaemon ]; then
/etc/rc.d/rc.avahidaemon start
fi
# Start avahidnsconfd
if [ -x /etc/rc.d/rc.avahidnsconfd ]; then
/etc/rc.d/rc.avahidnsconfd start
fi
Stop the daemons with the following in /etc/rc.d/rc.local_shutdown:
Code:
# Stop avahidnsconfd
if [ -x /etc/rc.d/rc.avahidnsconfd ]; then
/etc/rc.d/rc.avahidnsconfd stop
fi
# Stop avahidaemon
if [ -x /etc/rc.d/rc.avahidaemon ]; then
/etc/rc.d/rc.avahidaemon stop
fi
At this point the GNOME desktop will be installed and ready to use. You can select it with 'xwmconfig' in runlevel 3, or use a display manager in runlevel 4 (gdm is recommended).
Other Thoughts:
I recommend also installing the appindicator extension, since applications like hplip will time out and complain about no system tray without this extension.
https://extensions.gnome.org/extensi...cator-support/
Enabling Pipewire is also beneficial, since it allows the screen recording functionality to work properly, although everything else works fine with pulseaudio.
The full build takes around 80 minutes for my 8 Core, 16GB RAM machine to build and install. Expect longer times for slower machines.
I'll keep an eye on this thread and answer any questions I can if anyone wants to try this GNOME build.
Also I should mention that version wise this is mostly GNOME 40 and 41 software. Slackware 15.0's libraries are mostly too old to properly build most GNOME 42 software (i.e. gtk4, gjs, upower, and a couple others are too old). This is also not the *complete* GNOME suite of applications, I'm not that crazy
Cheers, and good luck if you try it out!
-Bob