The KDE Plasma Edition of Siduction Linux 2024.1.0 (code named Shine On ...) as reviewed in Siduction Linux 2024.1.0 (Shine On) Review [KDE Plasma Edition] is an excellent distribution. It features a rolling update model of current software and installation on a Btrfs filesystem by default, with Snapper integration for system snapshots and rollbacks, as well as custom scripts to refine the rollback process. In order to provide current software that is continuously updated, it is built from Debain's unstable repositories, code named Sid. As such, it is suited to those who are able and willing to deal with issues that may arise due to the use of the Sid repository.
I found it necessary to put some effort into making it usable for my needs, such as enabling sudo, enabling hibernation, manually installing Kvantum, installing Nvidia proprietary drivers and, manually installing the Nvidia Optimus management utility EnvyControl, among other actions. These fixes and enhancements are described in this article as a supplement to Siduction Linux 2024.1.0 (Shine On) Review [KDE Plasma Edition].
For reasons explained in The Siduction Manual and summarized in the article to which this is a supplement, Siduction Linux, unlike most Linux distributions does not enable sudo by default. However, a sudo group is pre-configured and the sudo configuration file has been set up to allow root privileges to any user in the sudo group. So, adding a user to the sudo group as the actual root user, with the Debian provided alternative to the standard Linux usermod command, adduser, as shown below, will give the user temporary root privileges, when it used to execute a command in a terminal.
100% 23:17:07 USER: brook HOST: Legion-Siduction on exp [✘!?] DataEXT4-16ITH6 ❯$ su Password:
root@Legion-Siduction:/home/brook/DataEXT4-16ITH6# adduser brook sudo info: Adding user `brook' to group `sudo' ... root@Legion-Siduction:/home/brook/DataEXT4-16ITH6#
As described in the main Siduction review article, the firewall management program, firewalld, preinstalled on release 2401.1.0 (Shine On ...) is broken. I decided to replace it with UFW which turned out to have not a single issue, with perfect integration with the Firewall component of Plasma's System Settings. The steps I took to remove firewalld and replace it are described below.
sudo nala purge firewalld
sudo nala install ufw
sudo systemctl start ufw.service
sudo ufw enable
sudo ufw reload
The first image in the following set of images shows the installation of UFW, the starting of its service, and enabling it with UFW's own commnds. The second through fourth images, show the Plasma System Settings Firewall component with controls to perform basic operations on its backend, in this case UFW and some information produced by UFW.
As mentioned in the main article, new installations of Siduction may have package dependency issues immediately after installation. In my case it was not possible to install several packages or upgrade the system due to a package dependency issue involving the system Python version. This particular problem was fixed and could even have been prevented by -- as suggested by apt itself -- executing:
apt --fix-broken install
Shortly after installing Siduction, Debian changed the format of the APT configuration files used to specify repository characteristics, the names (or extensions) of these files, and their location in the APT configuration directory. Filenames changed from having a .list extension to a .sources extension. The main file was moved into the /etc/apt/sources.list.d/ directory where secondary sources files had been and are still located, and the format changed to conform to the deb822 standard, which replaced single lines in the files to a set of key value pairs. It also added a new element to specify the GPG file to be used to verify packages, the "Signed-By key.
The source files, as written by the 2024.1.0 installation ISO, can be converted to the new format and directory structure by simply executing:
apt modernize-sources
The Siduction installations were on computers with existing swap partitions which were detected by the installer. Unfortunately, it was not possible in Calamares to specify that they should be enabled in the installed systems, nor did Calamares enable it automatically. As either a swap partition or a swap file is necessary to save the system state for hibernation, in order to enable hibernation on the systems with exisitng swap partitions, the swap partitions must be added to /etc/fstab, which will cause them to be available when block devices are mounted at boot. In addition, the swap partition must be specified as a resume device in the kernel command line, which can be done by including it in the /etc/default/grub file and updating the grub configuration.
UUID=980ddbbf-9b79-4390-be21-850e62b7ebb2 none swap defaults 0 0
GRUB_CMDLINE_LINUX_DEFAULT='quiet resume=UUID=980ddbbf-9b79-4390-be21-850e62b7ebb2 systemd.show_status=1'
grub-mkconfig -o /boot/grub/grub.cfg
KMail is the preinstalled email client in Siduction 2024.1.0 KDE Plasma Edition. However, it is not entirely usable out-of-the box because the KDE Wallet System is required to store encryption protected email account passwords, however it is not enabled by default. The KDE Wallet System itself requires a GPG key-pair to store passwords with encryption protection. That the KDE Wallet System is not enabled is an understandable trade-off made by the distribution because many Plasma users on various distributions complain of being bugged by the KWallet system to select an encryption method if it is enabled.
Preventing the repeated prompts, and also making Kmail usable is simply a matter of generating a key-pair for use not only by KWallet but for any other purpose for which GPG keys can be used. After the key-pair has been generated, KWallet can be enabled for use by KMail to encrypt passwords, and other uses such as storing WiFi passwords, encrypting local files, etc.
A GPG key-pair for use by the KDE Wallet System or KWallet, or for any other purpose can be created by the
gpg --generate-keycommand. Executing the above command without additional options will produce a 3072-bit RSA key-pair with a three year validity period. The command and its output is shown in the following listing.
100% 11:05:36 USER: brook HOST: Legion-Siduction ~ ❯$ gpg --generate-key gpg (GnuPG) 2.2.46; Copyright (C) 2024 g10 Code GmbH This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Note: Use "gpg --full-generate-key" for a full featured key generation dialog. GnuPG needs to construct a user ID to identify your key. Real name: Brook Kidane Email address: brook@Legion-Siduction.localdomain You selected this USER-ID: "Brook Kidane" Change (N)ame, (E)mail, or (O)kay/(Q)uit? o We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. gpg: directory '/home/brook/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/brook/.gnupg/openpgp-revocs.d/1B94EED0F2790FC442EA528FA385E3879B013985.rev' public and secret key created and signed. pub rsa3072 2025-03-01 [SC] [expires: 2028-02-29] 1B94EED0F2790FC442EA528FA385E3879B013985 uid Brook Kidane sub rsa3072 2025-03-01 [E] [expires: 2028-02-29] 100% 11:07:25 USER: brook HOST: Legion-Siduction PCD: 1m29s ~ ❯$
The KDE Wallet System can be enabled through the KWallet Manager application, the KDE Wallet component of Plasma System Settings, or by responding appropriately to the prompt produced by an application attempting to access the wallet (this type of prompt was shown in the main article).
The following image shows the Wallet Manager application and the Plasma System Settings application open to the KDE Wallet screen. In both of these applications, if the KDE Wallet System is not already enabled, there would be a button to enable the system.
As described in the main review article, Siduction 2024.1.0 KDE Plasma Edition had an issue in which not all GTK applications' menus were not displayed in the Global Menu widget. Of the three GTK applications I use, GIMP, Visual Studio Code, and Inkscape, this only affected GIMP. Correcting the issue only required the installation of appmenu-gtk3-module as in:
apt install appmenu-gtk3-module
As noted in the main article, it was not possible to install this package until
apt --fix-broken install
was executed to resolve package dependency issues.
Kvantum is a Qt widget theme engine that can be used as an alternative to the Breeze Application Style used by default in Plasma. It comes bundled with its own themes, but can use third-party themes available from the Kvantum Category of the Pling KDE Store.
Unfortunately, despite Debian's reputation as a distribution with the most packages in its repositories, it does not package Kvantum or Kvantum Manager in its repositories for the unstable (Sid) branch. So Debian Sid users or Siduction Linux users who run KDE's Plasma Desktop, will have to install it manually. The procedure is described in Installing Kvantum from Source on Siduction (Debian Sid).
Installing the proprietary Nvidia drivers for modern Nvidia GPUs is a simple matter of installing the nvidia-drivers package. The nvidia packages are only available if the non-free components of the Debian repositories have been enabled during installation, otherwise the /etc/apt/sources.list.d/debian.list (in pre deb822 installations) or /etc/apt/sources.list.d/debian.sources must be modified to include the non-free sections, as in:
deb https://deb.debian.org/debian/ unstable main contrib non-free non-free-firmware
for pre deb822, and as in:
Types: deb URIs: https://deb.debian.org/debian/ Suites: unstable Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
for post deb822 formatted source files.
Then the proprietary Nvidia driver can be installed with:
100% 19:15:04 USER: brook HOST: Legion-Siduction PCD: 12s ~ ❯$ sudo apt install nvidia-driver ... truncated ...
The following image shows the installation command, as well as the pages in the Siduction manual covering the topic of Nvidia driver installation. The manual instructs also installing firmware-linux-nonfree, which was already installed.
For laptops with Nvidia Optimus technology, Debian -- as far as I know -- or Siduction do not have any utilities to manage switching GPUs. However, the distribution agnostic EnvyControl utility can be used to manage switching between integrated and discrete modes on Optimus laptops with pre-Turing generation Nvidia GPUs, and switching between discrete and hybrid modes on Optimus laptops with post-Turing generation Optimus laptops, which are capable of runtime power management, i,e, changing the ACPI power state of the GPU.
EnvyControl is not packaged in Debian or Siduction repositories, but a deb package can be downloaded from the project's Github and installed manually as described below.
100% 19:24:22 USER: brook HOST: Legion-Siduction PCD: 12s ~/Downloads ❯$ sudo apt install ./python3-envycontrol_3.5.1-1_all.deb ... truncated ...
The above image shows installation of the downloaded package with apt.
Besides the fixes above -- with varying degrees of necessity -- I took some other actions to enhance the Siduction installation to suit my needs. These included installing VS Code. The setup instructions using Microsoft's instructions
VS Code is an extensible, feature rich IDE supporting many languages. One of its extensions is a very good LaTeX editor. I alternate between it, NeoVim, and KDevelop and other tools for various editing tasks. Installation packages are available for various platforms at its download page. The setup page includes installation instructions and commands for creating an apt sources file -- in the new deb822format -- which defines the remote Microsoft repository and for installing a GPG key for verification of packages from the repository.
Installing Firefox Beta and Firefox Developer Edition is useful for separating browsing activities. Normally I manually install these but, recently Mozilla made .deb repository available which includes packages for these applications, as well as Firefix Nightly, Firefox ESR and Mozilla VPN.
root@Legion-Siduction:/home/brook# wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
root@Legion-Siduction:/home/brook# echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
apt modernize-sources
root@Legion-Siduction:/home/brook# apt update && apt install firefox-beta firefox-nightly Hit:1 https://deb.debian.org/debian unstable InRelease Hit:2 https://packages.microsoft.com/repos/code stable InRelease Hit:3 https://ftp.snt.utwente.nl/pub/linux/siduction/extra unstable InRelease Hit:4 https://ftp.snt.utwente.nl/pub/linux/siduction/fixes unstable InRelease Hit:5 https://packages.mozilla.org/apt mozilla InRelease 995 packages can be upgraded. Run 'apt list --upgradable' to see them. Installing: firefox-beta firefox-nightly Summary: Upgrading: 0, Installing: 2, Removing: 0, Not Upgrading: 995 Download size: 151 MB Space needed: 551 MB / 83.0 GB available Get:1 https://packages.mozilla.org/apt mozilla/main amd64 firefox-beta amd64 135.0b8~build1 [74.5 MB] Get:2 https://packages.mozilla.org/apt mozilla/main amd64 firefox-nightly amd64 136.0a1~20250122165122 [76.3 MB] Fetched 151 MB in 10s (14.8 MB/s) Selecting previously unselected package firefox-beta. (Reading database ... 287869 files and directories currently installed.) Preparing to unpack .../firefox-beta_135.0b8~build1_amd64.deb ... Unpacking firefox-beta (135.0b8~build1) ... Selecting previously unselected package firefox-nightly. Preparing to unpack .../firefox-nightly_136.0a1~20250122165122_amd64.deb ... Unpacking firefox-nightly (136.0a1~20250122165122) ... Setting up firefox-beta (135.0b8~build1) ... update-alternatives: using /usr/bin/firefox-beta to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode update-alternatives: using /usr/bin/firefox-beta to provide /usr/bin/x-www-browser (x-www-browser) in auto mode Setting up firefox-nightly (136.0a1~20250122165122) ... Processing triggers for hicolor-icon-theme (0.18-1) ... Processing triggers for man-db (2.13.0-1) ... Processing triggers for mailcap (3.74) ... Processing triggers for desktop-file-utils (0.28-1) ... Scanning processes... Scanning processor microcode... Scanning linux images... Running kernel seems to be up-to-date. The processor microcode seems to be up-to-date. No services need to be restarted. No containers need to be restarted. No user sessions are running outdated binaries. No VM guests are running outdated hypervisor (qemu) binaries on this host. root@Legion-Siduction:/home/brook#