Index of /ktown/current/5
KDE5
====
# ------------------------------------------------------------------------- #
# BIG FAT NOTICE: #
# Alien's ktown is changing your Slackware-current system and replaces #
# ConsoleKit2 with elogind. Read the instructions carefully! In short: #
# - UPGRADE TO THE LATEST slackware-current first. #
# - Then, REMOVE the ConsoleKit2 package (if it is still installed). #
# - Finally, install or upgrade the KDE5 package set. #
# - Ensure you put any *.new files into their correct locations #
# (a 'slackpkg new-config' will help). #
# - Do not forget *.new files in /usr/share/sddm/scripts/ ! #
# - Reboot. #
# ------------------------------------------------------------------------- #
This is KDE 5_20.08 for Slackware, consisting of:
KDE Frameworks 5.72.0, Plasma 5.19.4 and Applications 20.04.3;
on top of Slackware's Qt 5.15.0.
Upgrading from the previous 5_20.06 should be done with care, but since you
should already have migrated to elogind, I do not expect anything will break.
KDE-5_20.08 is meant to be installed on top of Slackware -current.
It will *replace* any version of KDE 4 you might have installed!
The Plasma 5 Desktop has gotten rid of its Qt4 legacy. Since the release of
Applications 17.12 there's nothing left which is based on kdelibs4.
Slackware-current has begun its slow adoptation of the Plasma5 dependencies.
Most importantly, QT5 and its dependencies are already part of Slackware.
What is the NEWS in this batch of updates:
- In May we had the first release on Plasma5 on a PAM-ified Slackware, and
in June I went along and replaced ConsoleKit2 with elogind - a requirement
to make a KDE Plasma Wayland graphical session work.
* *
* Note that only one of the two (ConsoleKit2 or elogind) must be installed! *
* If you install ktown KDE-5_20.08 you need to remove ConsoleKit2! *
* *
- The 'deps' section got a bit smaller again this month:
* pcaudiolib, espeak-ng, hack-fonts-ttf, noto-fonts-ttf, and
noto-cjk-fonts-ttf were moved into the actual Slackware distro;
* flite has been removed since Pat decided we will go with just espeak-ng;
* a new package 'pipewire' was added as a dependency for krfb and
xdg-desktop-portal-kde.
* The elogind-aware dbus package was upgraded to match the Slackware version.
* Finally, qca-qt5 was upgraded and I recompiled mlt (to fix the broken
kdenlive) and speech-dispatcher.
- Frameworks 5.72.0 is an incremental stability release, see also:
https://kde.org/announcements/kde-frameworks-5.72.0
A new 'kdav' source tarball got added but that is actually the same package
you'll find in KDEPIM. Next batch, the actual kdav package will be built
from Frameworks sources.
- Plasma 5.19.4 is an increment of the 5.19 cycle to add stability & fix bugs.
See https://kde.org/announcements/plasma-5.19.4 and if you want to
read more about the goals for 5.19 you should check out:
https://kde.org/announcements/plasma-5.19.0
- In plasma-extra I rebuilt sddm-qt5 to install man pages correctly, and
upgraded plasma-wayland-protocols and wacomtablet.
- Applications 20.04.3 is an incremental bug fix release, see also
https://kde.org/announcements/releases/2020-07-apps-update/
- For applications-extra I updated digikam, krita, libktorrent and ktorrent,
and skanlite. Note that the size of the digikam source tarball 'blew up'
due to the addition of new neural network facial recognition data files,
but the actual package 'only' grew from 97 to 108 MB.
Further points of interest:
- There are a couple of *runtime* dependencies that I did not add to the
ktown repository, but you may want to consider installing them yourself:
* vlc - will give phonon another backend to select from.
* freerdp: access RDP servers through krdc.
* openconnect: support for Cisco's SSL VPN.
All of these can be found in my regular package repository.
- There's no more need to install any KDE4 package from Slackware.
- Lots of packages in the "deps" department are completely new to Slackware.
Since KDE 5 aka Plasma 5 is built on Qt5 (KDE 4 uses Qt4 as its base)
you'll find many Qt5 related packages. Also, in order for Qt4 and GTK based
applications to dock into the Plasma 5 system tray, more dependencies were
needed. Apart from updates to regular Slackware packages the new ones are:
accountsservice, autoconf-archive, cfitsio, cryptopp, cryfs, ddcutil,
dotconf, drumstick, dvdauthor, elogind , freecell-solver, frei0r-plugins,
grantlee-qt4, lensfun, libappindicator, libburn, libdbusmenu-gtk,
libdbusmenu-qt5, libdmtx, libindicator, libsass, md4c, mlt, opencv,
perl-path-tiny, perl-template-toolkit, polkit-qt5-1, python3-random2,
quazip, qca-qt5, qrencode, qtav, rttr, sassc, sni-qt, speech-dispatcher,
and vid.stab .
The phonon and poppler packages were extended so that they now support
Qt5 as well as Qt4. The gpgme package picked up Qt5 support.
Note that the SBo version of 'frei0r-plugins' package is called 'frei0r'.
If you have that SBo package installed, remove it.
Several 'deps' packages which used to be listed here, have already been
absorbed into Slackware. Let's hope the rest takes the same road soon.
- KDEI is gone. The localizations are now embedded in each package and
no longer available as separate 'kdei' packages. This is a by design.
You will get all languages installed by default.
NOTE:
Also explained in more detail below, upgrading to this KDE 5 is non-trivial.
You will have to remove old KDE 4 packages manually.
NOTE:
If this time you removed ConsoleKit2 and installed elogind, be sure to
reboot your computer before attempting to login. Also be very sure that
you moved all the *.new files into place before you reboot (the command
'slackpkg new-config' can help you do that).
NOTE:
If you had installed KDE 4 as your default desktop previously, the removal
of KDE 4 packages will break the symbolic link '/etc/X11/xinit/xinitrc'.
An attempt to run 'startx' in a console will fail with a black screen.
After installing Plasma 5 for the first time, you need to run 'xwmconfig'
and select 'xinitrc.plasma' as your desktop session.
NOTE:
If you install a 32bit program on a 64bit Slackware computer with multilib
and that program needs legacy system tray support (think of Steam for
instance), you will have to grab the 32-bit version of Slackware's
'libdbusmenu-qt' and my ktown-deps package 'sni-qt', and run the
'convertpkg-compat32 -i' command on them to create 'compat32' versions
of these packages. Then install both 'libdbusmenu-qt-compat32' and
'sni-qt-compat32'. Those two are mandatory addons for displaying
system tray icons of 32bit binaries in 64bit multilib Plasma5.
NOTE:
You can start a Plasma Wayland session via SDDM (runlevel 4) by selecting it
in the session drop-down menu.
You can start a Plasma Wayland session at the console (runlevel 3) by
executing the "startkwayland" command.
NOTE:
Running a Wayland session using the proprietary NVIDIA driver is possible,
see https://community.kde.org/Plasma/Wayland/Nvidia .
There are still some quirks & glitches but no showstoppers.
* Qt5 >= 5.15 is a requirement, luckily we already have that in Slackware.
* You need to enable modesetting:
The output of "cat /sys/module/nvidia_drm/parameters/modeset" should be "Y".
If you get a "N", then you need to add the string "nvidia-drm.modeset=1"
to the kernel's boot commandline e.g. via the 'append' parameter in
(e)lilo.conf or syslinux.cfg, or via the 'linux' parameter of grub.cfg.
* KWin needs to use EGLStreams for accelerated graphics support:
Create a profile script (e.g. /etc/profile.d/kwin.sh), make that script
executable and let it contain the single line:
export KWIN_DRM_USE_EGL_STREAMS=1
(or set this environment variable through any other means that you prefer).
-------------------------------------------------------------------------------
Install pre-compiled packages:
-------------------------------------------------------------------------------
In order to install or upgrade KDE 5, follow these steps:
Make sure you are not running KDE or even X !
If you are running an X session, log out first to return to the console.
If your computer boots to runlevel 4 (graphical login) you first have to go
back to runlevel 3 (console) after logging out. Press to
switch to a console, logon there, and execute the command "init 3" to
switch from runlevel 4 to 3, thereby effectively stopping X.
If you still have a KDE 4 installed, it must be removed first. No clean
upgrade path can be provided! Do as follows:
If you have Slackware 14.2 or -current's default KDE 4.14.3 installed:
# removepkg /var/log/packages/*-4.14.3-*
# removepkg amarok
# removepkg kscreen
# removepkg kactivities
# removepkg kde-workspace
# removepkg kdeconnect-kde
# removepkg kdepim
# removepkg kdepimlibs
# removepkg kdev-python
# removepkg kdevelop-php
# removepkg kdevelop-php-docs
# removepkg libkscreen
# removepkg libmm-qt
# removepkg libnm-qt
# removepkg plasma-nm
# removepkg polkit-kde-agent-1
# removepkg polkit-kde-kcmodules-1
# removepkg wicd-kde
... or instead of the above, simply run 'slackpkg remove kde'.
Alternatively, in case you are already using an older release of my KDE 5
packages, you need to look up that particular release in the list right below
(for instance: KDE 5_20.02) and then apply the actions shown for that KDE 5
release *and* all more recent releases, i.e. work your way back up to this
paragraph. Note that some of the old KDE package names were obsoleted along
the way, they were split up, renamed or integrated and that is the reason
for some of the 'removepkg' lines you'll see below.
Here we go:
If you have my 'ktown' set of KDE 5_20.06 installed:
- Upgrade to KDE 5_20.08
Remove the packages that no longer exist in KDE 5_20.08:
# removepkg flite
If you do need flite, consider building it from slackbuilds.org.
If you have my 'ktown' set of KDE 5_20.05 installed:
- UPGRADE TO THE LATEST slackware-current first.
- Then, REMOVE ConsoleKit2:
# removepkg consoleKit2
- Upgrade to KDE 5_20.06
- Move the new X session files into place which SDDM uses to start your
login-session, but first check that you won't accidentally overwrite
any of your customizations:
# mv /usr/share/sddm/scripts/Xsession.new /usr/share/sddm/scripts/Xsession
# mv /usr/share/sddm/scripts/Xsetup.new /usr/share/sddm/scripts/Xsetup
If you have my 'ktown' set of KDE 5_20.04 installed:
- Upgrade to KDE 5_20.05
Remove the packages that no longer exist in KDE 5_20.05:
# removepkg python-enum34
If you have my 'ktown' set of KDE 5_20.03 installed:
- Upgrade to KDE 5_20.04
Remove the packages that no longer exist in KDE 5_20.04:
# removepkg kdeconnect-framework
If you have my 'ktown' set of KDE 5_20.02 installed:
- Upgrade to KDE 5_20.03
Remove the packages that no longer exist in KDE 5_20.03:
# removepkg OpenAL
# removepkg SDL_sound
If you have my 'ktown' set of KDE 5_20.01 installed:
- Upgrade to KDE 5_20.02
Remove the packages that no longer exist in KDE 5_20.02:
# removepkg polkit-kde-kcmodules-framework
If you have my 'ktown' set of KDE 5_19.12 installed:
- Really? A full re-install may be wiser.
Proceed with installing/upgrading KDE 5 as outlined below.
NOTE:
Instead of using the mirror host http://slackware.nl/alien-kde/ (its rsync URI
is rsync://slackware.nl/mirrors/alien-kde/), you could choose the alternative
mirror http://slackware.uk/people/alien-kde/ (its rsync URI is
rsync://slackware.uk/people/alien-kde/) which is faster for some people.
NOTE:
If you use 'slackpkg' to automate your upgrades, be sure to blacklist my
custom packages or else slackpkg will always try to replace my packages
with the stock Slackware versions if the package names are identical.
As an example, you can add the following lines to the file
"/etc/slackpkg/blacklist" to prevent this unintentional downgrading to KDE4:
# These three lines will blacklist all SBo, alien and multilib packages:
[0-9]+_SBo
[0-9]+alien
[0-9]+compat32
If on the other hand you are using the 'slackpkg+' extension for slackpkg
then your "/etc/slackpkg/blacklist" file should *not* contain the above
lines! The slackpkg+ extension enables the use of 3rd-party repositories
with slackpkg and then Plasma5 package upgrades will be handled properly.
To make it easy for you, here is a one-line command that downloads the whole
'5' directory (excluding the sources), with 32-bit and 64-bit packages.
# rsync -Hav rsync://slackware.nl/mirrors/alien-kde/current/latest/ latest/
Or else, if you want to download packages for just one of the two supported
architectures, you would run one of the following commands instead.
If you want only the 64-bit packages:
# rsync -Hav --exclude=x86 rsync://slackware.nl/mirrors/alien-kde/current/latest/ latest/
If you want only the 32-bit packages:
# rsync -Hav --exclude=x86_64 rsync://slackware.nl/mirrors/alien-kde/current/latest/ latest/
Assuming you just downloaded the bits you want from the directory tree "latest"
you must now change your current directory to where you found this README
(which is the directory called 'latest'). If you used one of the above "rsync"
commands then you can simply do:
# cd latest
From within this directory, you run the following commands as root:
On Slackware 32-bit:
# upgradepkg --reinstall --install-new x86/deps/*.t?z
# upgradepkg --reinstall --install-new x86/kde/*/*.t?z
On Slackware 64-bit:
# upgradepkg --reinstall --install-new x86_64/deps/*.t?z
# upgradepkg --reinstall --install-new x86_64/kde/*/*.t?z
NOTE:
If you installed the slackpkg+ extension and configured a 'ktown' repository
with the label 'ktown' then the commands to upgrade would become:
# slackpkg update
# slackpkg install ktown
# slackpkg upgrade-all
The first command fetches the repository metadata from the remote server(s);
The second command installs any new package that was added to the repository;
And the third command will upgrade all installed packages, including the
'ktown' packages, to their latest versions in the repositories.
Finally:
Check if any ".new" configuration files have been left behind by
the upgradepkg commands. Compare them to their originals and decide
if you need to use them.
# find /etc/ -name "*.new"
A graphical (ncurses) tool for processing these "*.new" files is slackpkg:
# slackpkg new-config
Then reboot your system.
If this is the first time you run Plasma5, and you enable Baloo file indexing,
be aware that Baloo will tax your CPU fairly heavily for a while as it indexes
the content of the files on your hard disk.
After this initial indexing operation finishes (could take several hours),
Baloo will get out of your way and stay there.
This is why indexing is disabled by default.
If all you want is to install the packages I created, then you can skip the
remainder of the README which details how to (re)compile the packages from
their sources; it is not required reading material.
-------------------------------------------------------------------------------
Building it all from source:
-------------------------------------------------------------------------------
Sources and scripts are separated from the packages in my 'ktown' repository.
If you want the sources for KDE 5, run the following command to download them
(downloading from a mirror will usually be much faster):
# rsync -Hav rsync://slackware.nl/mirrors/alien-kde/source/latest/ sources/
There are a lot of 'dependencies' for KDE 5 which you'll have to compile and
install before attempting to compile KDE 5. Compiling and installing these
dependencies on Slackware-current is hopefully (have not tested the script
'alldeps.SlackBuild' in a long time) as easy as this:
# cd sources/deps
# ./alldeps.SlackBuild
# cd -
The finished packages will be stored in /tmp and will already have been
installed/upgraded automatically.
Then if you want to compile the KDE packages on your computer, run:
# cd sources/kde
# ./kde.SlackBuild
Wait a long time, and you will find the new packages in /tmp/kde_build .
Note that these packages will already have been installed by kde.SlackBuild !
Reboot your computer and login to a Plasma session.
==============================================================================
Eric Hameleers / alien at slackware dot com / 01-aug-2020