KaOS Review [2019.10 Release]

Nov. 29, 2019, 6 p.m.

KaOS is a KDE Plasma focused, conservatively rolling release distribution primarily built upon Arch tools for packaging and package management. While using Arch tools, it is not the typical Arch based distribution. It builds its own kernel and packages and hosts its own repositories. It also provides a user community package repository -- KaOS Community Packages (KCP) -- with a sophisticated and user friendly online portal. To manage packages from the community repository, it develops a helper program that has a command line interface as well as integration into the default GUI package manager, Octopi.

Some notable features include an online infrastructure for package discovery, displaying package build information, and download of prebuilt packages. It also develops a welcome application that allows users to easily adjust appearance and system settings, access documentation, and access the KCP.

This article reviews the 2019.10 release of KaOS installed on a laptop with an Intel Core i7-6700HQ with hybrid Intel HD Graphics/Nvidia GTX-960M, and on a laptop with an Intel Core i7-8750H with hybrid Intel HD Graphics/Nvidia GTX-1050 Ti Mobile.

Introduction

The KaOS project develops the distribution using the guiding principle of streamlining the distribution by using the best of the available components to assemble an OS. KaOS believes this kind of focus is the way to produce the highest quality distribution possible. It provides only KDE's Plasma Desktop Environment, as the developers believe (as I do) this is the best desktop environment, along with the toolkit it is built upon, Qt. Additionally, the distribution concentrates on providing only KDE applications as they believe these are at least as capable as GTK counterparts, if not more so.

While the distribution is set on Plasma as the default and only desktop environment, the choice of other building blocks that together make a freedom focused OS is always being evaluated and could change at some point, even migrating to the illumos kernel from the Linux kernel.

KaOS 2019.10 in Its Default State

Click on any of the thumbnails to see a slideshow of the screenshots.

After the choice of the Linux kernel, the most important choice the distribution makes is to use the Arch tools for package building and package management. As I describe below, an excellent choice that allows users to easily build their own packages, and the developers build upon along with the use of GitHub to provide an excellent community package sharing and discovery experience, which some might see as an improvement over the Arch User Repository (AUR).

Another important choice is its methods of providing reliability in a rolling release distribution. KaOS achieves this by being conservative in its inclusion of the latest system packages. This conservatism is reflected in that the distribution provides two kernels, one fully rolling named linux-next and another one named plainly, linux which has received at least six weeks of testing as linux-next. Other packages from the Core repository are similarly carefully rolling. Packages in the Main repository are tested for a shorter period, and those in the Apps repository from where packages related to desktop environments and desktop applications that users see are distributed are fully rolling.

Review

I had tried KaOS before in late 2015. At that time I found that it was missing something very important -- although I don't remember what it was -- and immediately installed another distribution over it. When I read the announcement of the 2019.10 release, I decided to try it again, especially since it seemed that in its current release KaOS included recent improvements in Nvidia hybrid graphics switching that other distributions have implemented, most notably Ubuntu and Linux Mint. The announcement stated:

Non-free Nvidia gained a complete new feature, no longer needing Bumblebee for hybrid systems, instead, it now can also use PRIME, just like (free) Nouveau & AMD hybrid systems. For this Nvidia-utils 435 has GLVND support fully enabled but Xorg-Server will need to include 3 needed commits to include Nvidia PRIME, scheduled to be included in Xorg-Server 1.20.6.

While the above statement didn't indicate that Nvidia PRIME would work out-of-the-box, when I booted the live ISO on my Acer V15 Nitro and saw that there was a Non-Free boot option in addition to a Free one, I felt optimistic that it would.

Sadly, this was not the case, with the installation defaulting to the FOSS Nouveau graphics instead of proprietary Nvidia based hybrid graphics that includes a properly working Nvidia settings utility as in Linux Mint. In that distribution, which I recently tried on the Acer, Nvidia hybrid graphics switching, using what I presume is the new PRIME capability, was properly working through both the Nvidia settings utility and a panel applet. I don't know what the difference is between these KaOS and Ubuntu and derivatives that makes it possible on Linux Mint but not on KaOS. I even reinstalled KaOS thinking that I had selected the Free option. Despite the lack of a pre-configured Nvidia hybrid installation, the Nouveau based installation worked properly without any problems on the Acer V15 Nitro Black Edition.

For more on the installation experience with KaOS see KaOS Review [2019.10 Release] Review Supplement: Installation.

Later, when I installed KaOS 2019.10 on my Dell G5, I had the same problems I experienced to various extents with all other distributions installed on the G5 -- except Manjaro, which properly configured Bumblebee based Nvidia hybrid graphics out of the box. In this case, installing KaOS on the G5, even selecting the Non-Free option, a Nouveau based system was installed. The problem, unlike with the Acer was that the system always froze at the log in screen after entering the login credentials and pressing enter. I was only able to fix this by uninstalling Nouveau related packages and installing Bumblebee and the related Nvidia packages mentioned on the page Hybrid Graphic Systems of the KaOS documentation via a chroot from the Arch installation, resulting in a system with Bumblebee based switching and not the newer PRIME based switching for Nvidia drivers.

Now that the Xorg-Server 1.20.6 is available in the KaOS repositories, I am hoping that the developers will update the Hybrid Graphics documentation soon to provide guidance on using Nvidia hybrid graphics with PRIME. Currently the documentation only provides instructions on using PRIME with Nouveau and, alternatively, on using Nvidia hybrid graphics with Bumblebee. In any case, after making the fix the KaOS installation on the G5 is usable.

After this initial disappointment, I was very pleased with and impressed by KaOS.

First, the KaOS developed Croeso -- Welsh for welcome -- application that greets users on login is very good. It is similar to the welcome application in the live environment, discussed in KaOS Review [2019.10 Release] Review Supplement: Installation. Croeso allows users to easily find and modify the appearance settings of the desktop environment according to their taste. This application solves the complaints that many Linux users that don't appreciate Plasma have regarding the ease of finding settings. In addition to appearance settings, Croeso provides a central location to launch Plasma System Settings based system level settings tools such as user management and service management.

Croeso: The KaOS Welome Application

This tool is well executed, not only in allowing users to easily find and manage settings, but it is well integrated into Plasma in terms of both functionality and appearance. It takes the opposite approach of distributions that integrate in-house developed tools into the environment. Instead of adding the distribution's utilities into Plasma System Settings, Croeso launches individual modules of the Plasma System Settings from a simplified interface.

Although the developers explicitly state that developing new tools is not a goal of the distribution, Croeso could be the beginning of a central system control utility because not only is it an alternative method of launching the components available in Plasma System Settings, but other tools that are not a part of Plasma System Settings, such as the wallpaper repository component, Octopi tools, and KaOS online resources.

Second, the packaging and package management tools are very simple yet very flexible. A large portion of its excellence is due to the Arch foundation, and its tools Pacman, makepkg, and the PKGBUILD packaging recipe, as well as a wise reliance on Git and GitHub.

The default package management infrastructure is user friendly and mature for a distribution that can not be considered mainstream. For example, the distribution has an online package browser that allows users to view and download the PKGBUILD a prebuilt package.

KaOS Online Resources for Default Packages

Click on any of the thumbnails to see a slideshow of the screenshots.

As far as I know only openSUSE and Fedora have a similar online resource where users can download a prebuilt binary package. This capability on KaOS, while very simple, compared to openSUSE's, the distribution with the most robust online infrastructure, is indicative of the distribution's focus on overall quality, beyond the system actually installed but to other aspects of the distribution that contributes to a good user experience.

KaOS also makes available a community repository, and as impressive as the online resource for official packages, KaOS has created an online portal for discovering the community packages. The portal, while less technical than the online resources of the AUR, is very user friendly and visually appealing. Each package's detail page provides a copy-able package specific KCP helper program command to run in a terminal to install the package, as well as links to the package's KaOS github page and the downloadable PKGBUILD. The KCP helper is also integrated into the Octopi GUI package manager.

The KaOS Community Packages Portal and KCP Helper Applciation

Click on any of the thumbnails to see a slideshow of the screenshots.

For more on the package management experience in KaOS see KaOS Review [2019.10 Release] Review Supplement: Package Management.

I also appreciated the attention to the appearance of the distribution, although I didn't like all of the aesthetic choices made by KaOS. (So, I customized the appearance of my installation, most significantly by changing to the Nordic theme, and creating a top panel with Active Window Control, Global Menu and, the NavDexie full screen menu. My customizations are illustrated in the screenshots in one of the supplements to this article, KaOS Review [2019.10 Release] Review Supplement: Package Management)

Some Elements of KaOS Appearance

Click on any of the thumbnails to see a slideshow of the screenshots.

The first thing one notices with regard to the looks is the use of a customized Sugar based SDDM display-manager greeter theme, then an atypical configuration of the Plasma shell with a panel on the right side that includes the icon only taskbar applet and an unfortunately rendered digital clock applet in that it is too small to be legible on my screens. The theme used is the light variant of what I think is a custom developed Plasma theme called Midna which includes all components necessary to completely theme Plasma (shell theme, application style, colors, titlebars, splash screen, etc.) in both light and dark variants.

Other aspects of the appearance:

  • there are numerous striking KaOS wallpapers available to be selected by default, to which others can be added to from the Wallpapers component of Croeso.
  • PowerLine command prompt. Unfortunately, although it looks pretty, some of the more useful features such as git statistics at the prompt are not enabled. Liquidprompt would have been a better option that is much easier to configure.
  • a custom Plasma animated splash screen for the Midna theme, (the version originally available on the ISO has been replaced with one I like much better)

Most notable, and possibly controversial, in terms of appearance is the use of the QtCurve themeing engine instead of the Plasma default Breeze. QtCurve is a very advanced and highly customizable themeing engine which does not seem to be actively developed. A better choice than QtCurve may be Kvantum because it is actively developed, and although not to the extent of QtCurve, is also highly customizable, and offers many advanced options. Another advantage of Kvantum is that the Kvantum Manager program includes out-of-the-box KDE analogues to popular GTK themes, which helps to have a cohesive look when using those few GTK apps all Plasma users launch.

For users who prefer Kvantum, an older version is available from the KCP, but not the official repositories, which I find unusual for a KDE-centric distribution since Kvantum is created for Qt based desktop environments such as Plasma. That Kvantum is not available in the official repositories is related to one of the three problems -- the others being the hybrid graphics problem and a problem related to language, discussed below -- in that some important packages are lacking, even in the KCP. Some missing packages are GTK applications that are clearly superior to available KDE analogues. One such program is Bleachbit, for which the only KDE alternative is Sweeper which is clearly inferior, unmaintained, and buggy. Other missing packages are common command line programs that are typically found in major distributions such as neofetch (available in the KCP) and glacnes.

Some other packages that are important to me, TexMaker and TexStudio are missing, though Kile, an advanced LaTeX editor, is available. But most problematic in terms of package management is that, in addition to these TeX related applications, which are Qt based is that other Qt based applications -- the focus on which is a stated goal of the distribution -- that may be useful to many users are not available. One such package is Shotcut the lack of which, even in the KCP caused me to switch to openSUSE when writing the set of articles on KaOS of which this one is a part.

However, for users with some experience with Arch and minimal knowledge of bash scripting can easily modify an Arch PKGBUILD and easily build a package using the Arch tool makepkg. I did this to build a more recent version of Kvantum than that available in the KCP. (I was however unwilling to do this with Shotcut while in the middle of this review.)

Installing a Custom Kvantum
I used makepkg to build and install a newer version of Kvantum than one available in the KCP using a modified Arch PKGBUILD.

The third problem with KaOS involved language and spell check where spell checking in Kate was not working and despite some improvement after some attempts to fix it, described below in Fixes and Enhancements it is still not as it should be. This issue was also recently apparent in Sabayon's KDE but not in openSUSE's.

Other problems I encountered were minor. One such issue that I initially found annoying is that two finger tap on the touchpad is mapped to middle button click, while a three finger tap is mapped to middle click, the opposite of what is typical in many distributions and other OSes.

Some other details users should be aware of include:

  • The package signature checking and key system built into pacman is not used by KaOS. Instead packages are verified using a SHA256 checksum. As far as I know this is not the best way to insure package integrity.
  • KaOS uses systemd-boot instead of GRUB to manage booting. This is usually not a problem as long as it is the only installation using this boot manager. If there is more than one distribution using systemd-boot, the one with the last updated kernel will overwrite the configuration of the other. A problem I faced when I had both Clear Linux and Solus installed on the Acer V15.

Recommendation

KaOS uses the excellent tools developed by Arch linux and builds on it providing a completely configured and easy to use Arch like system. Unlike other Arch based distributions, it builds all of its own packages from scratch including the kernel using the Arch packaging tools that includes makepkg and PKGBUILDs and the pacman package manager. It offers an an excellent online package discovery tool for official packages and an excellent online portal for the KCP repository. This isn't even something that the best of the Arch derivatives, Manjaro, does.

Of course, the distribution will only appeal to those that appreciate the power and flexibility of the Plasma desktop environment and KDE applications and the minimalism and transparency of an Arch system, but with more conservatism with respect to the rolling packages. These users may be willing to build a few packages that they need but are missing from KaOS, and possibly contribute to the KCP.

The excellence in its execution is even more impressive considering that, based on a cursory browse through the distributions GitHub repositories, it is developed by one person as a passion project created primarily for the developer's own use but is shared with others, i.e., it is not user focused. Many smaller distributions which may have a team of developers may neglect certain facets of a what makes an overall quality distribution on top of the basics, such as release notes and known issues, documentation relevant to the current state of the distribution (where, for example, Sabyaon fails) or other online resources, such as those related to packages.

Installation

To learn more about the KaOS live environment and the installation experience, see KaOS Review [2019.10 Release] Review Supplement: Installation.

Package Management

To learn more about KaOS package management, see KaOS Review [2019.10 Release] Review Supplement: Package Management.

Software

KaOS includes by default nearly all of the applications users will need to be productive and entertain themselves quickly. The only application that is missing is an email client, maybe because many users will use a web browser to manage email. (I don't, I use Kmail.) The notable choices that KaOS makes in terms of default applications are:

  • Falcon, a Qt based web browser, which I found capable enough, at least for browsing the KaOS documentation but unusually resource internsive.
  • Elisa, a KDE app, for music playback.
  • Nomad Firewall, also called Nitrux Firewall, a program that I believe is part of the NX project which also produces Nitrux linux and the Nomad desktop. This program can be launched from Croeso or from Plasma System Settings if the appropriate KDE Plasma System Settings control module is available, which isn't in KaOS.
  • Skype

All of the applications installed by default are shown in the following video.

Applications Installed by Default in KaOS 2019.10

Fixes and Enhancements

Nvidia Graphics Card

As I mentioned in Review, despite the Non-Free option in the live environment boot menu, the installer configures a Nouveau based system for laptops with hybrid integrated Intel and discrete Nvidia graphics hardware. This was not a problem on a laptop with an older GTX-960M, but resulted in an unusable installation on a laptop with a newer GTX-1050 Ti Mobile, where the system startup would not progress past the display-manager greeter.

A solution that worked for me was to uninstall Nouveau related package(s) (xf86video-nouveau) and to install Bumblebee and the related Nvidia packages ( nvidia-bumblebee, bumblebee, bbswitch) mentioned on the page Hybrid Graphic Systems of the KaOS documentation via a chroot from the Arch installation, resulting in a system with Bumblebee based switching and not the newer PRIME based switching for Nvidia drivers.

I had to do this when installing ArcoLinuxB KDE Community Edition on the Dell G5 and describe the process in the Installation on Dell section of ArcoLinux Review [ArcoLinuxB 19.07.9 Community Plasma Edition] Supplement: Installation.

Language and Spell Check

A problem I haven't been able to fix is that spell check does not work in Kate, and I assume other applications. If memory serves, in Kate, initially, when starting spell check only Hebrew was available in the language selection dialog. I saw that the English plugins for the aspell and hunspell were not installed while the main packages for these plugins were installed. hspell, a Hebrew spell checker was installed and, unusually, is ultimately a dependency of many other applications including, ultimately, the Plasma desktop itself so I couldn't uninstall it.

After the above steps English, in many variants, is available as a language selection in the spell check dialog. While misspelled words are accurately highlighted, the right click menu to select a suggested word includes extraneous quotation characters. Also the language selection in the dialog reverts to the first one with a non Latin alphabet.

Some forum posts suggest setting the global language in Plasma settings to English. I tried this but this didn't solve the problem and openSUSE which does not have this problem doesn't have this set either. I should note that this language problem is not exclusive to KaOS as I have seen it in Sabayon also.