Kubuntu is an official flavor of the Canonical, Ltd. backed Ubuntu distribution that, along with other official flavors, offers alternative desktop environments to the GNOME desktop environment used in the default Ubuntu flavor. Kubuntu provides KDE's Plasma desktop environment with the same Debian based, Ubuntu core provided in the default distribution flavor and the other flavors.
This article reviews Kubuntu 20.04 LTS released on April 23, 2020.
Even before a new complication concerning how I set up graphics on my Dell G5 became recently apparent, I had been waiting for Kubuntu 20.04 to see if something similar to the NVIDIA PRIME applet for switching between graphics cards which I had seen in default Ubuntu 19.10 would be available in Kubuntu 20.04. Although a similar applet does not seem to be available, I was happy to find that switching between graphics cards is built into the NVIDIA X Server Settings program installed along with the proprietary NVIDIA driver meta package.
The complication I mention with regard to graphics is a new addition to the long standing problems with the FLOSS (Free Libre and Open Source) Nouveau driver which has always required me to replace it with the proprietary NVIDIA driver and install and perform a minimal configuration of Bumblebee and bbswitch. These two utilities allow the Intel graphics card to be used by default upon boot and prevent the NVIDIA driver modules from being loaded and keep the NVIDIA card powered off in order to save battery life. (I care more about overall performance and not gaming video performance.)
Visitors who have read the distribution reviews on this site over the course of the past year are familiar with the problems with Nouveau. The new complication is that, as I recently discovered when trying to use an external monitor, the HDMI port is internally wired to the NVIDIA card only -- requiring a working driver for the NVIDIA card, whether FOSS Nouveau or proprietary NVIDIA, and the NVIDIA card to be powered on. Bumblebee is no longer an option if I want to use the HDMI port without painful manual configuration of related elements ranging from kernel module loading and unloading, graphics card power management, and X as described in this Bumblebee project page.
To learn more about the use case that caused me to find the complication and why I was happy, or relieved, to find this NVIDIA PRIME capability works well in Kubuntu 20.04 LTS, read Using a TV As a Second Monitor with Plasma Desktop. To learn more about the alternative hybrid graphics solutions to Bumblebee I recently started to use on various distributions installed on the Dell G5 read The Best Distributions for Problematic Nvidia Optimus Hybrid Graphics.
From my perspective, the graphics card switching capability in NVIDIA X Server Settings is by far the best feature of Kubuntu 20.04 LTS and the aspect of the release that impressed me the most. It solves the difficulties I describe in The Best Distributions for Problematic Nvidia Optimus Hybrid Graphics. Unfortunately, the proper drivers were not installed automatically and did require installing the NVIDIA driver meta package in a terminal using the apt command. This could have been a consequence of some instability caused by use of the Nouveau driver in the default GRUB option and my attempt to correct this behavior with a GRUB kernel command line option that conflicted with the GRUB menu choice I used to start the live environment of the installation medium.
The following screenshots show the NVIDIA card in use and the switching capability of the NVIDIA X Server Settings program. In the first screenshot, the primary screen (the smaller laptop screen) shows the output of the nvidia-smi program; on the secondary screen (the external monitor) NVIDIA X Server Settings is running, showing some details of the configuration. The switching capability is in the PRIME Profiles section of the program which has three radio buttons allowing users to choose between NVIDIA and Intel cards, or to choose a hybrid mode. The second screenshot, taken while in Intel mode, has only one program section selector PRIME Profiles in the left pane. The first screenshot, taken in NVIDIA mode, has many other selectors in the left pane in addition to PRIME Profiles.
The PRIME Profiles section of NVIDIA X Server Settings seems to be a contribution of the Ubuntu desktop team as it does not appear in the NVIDIA X Server Settings implementations provided by Arch, Solus, or openSUSE. It is an excellent solution to Optimus graphics switching that is officially supported by the distribution. Unfortunately, this same team that has done great work with NVIDIA PRIME, is aggressively pushing Ubuntu and Kubuntu desktop users into using the Snap package format. I don't believe Snaps or Flatpaks help desktop users in the long run, help Linux adoption on the desktop, or solve Linux fragmentation problems. Some view them as more appropriate for servers and IOT devices.
And despite what some Canonical employees espouse is a benefit of Snaps, reducing the burden for app developers in packaging and increasing adoption of their apps, this may not be true, at least for Linux users like me. As an illustration, consider my experience with the KSnip application, a screenshot utility written using the Qt framework. I installed KSnip from the Discover package manager, not paying attention to the package format. Upon opening the newly installed app I was unhappy to see that the app, despite being Qt based, like the Plasma desktop, did not visually match the desktop or any of the apps. More importantly, the button to "Browse" for the location to save captured screenshots did not open a file dialog, nor did the text input to specify the location do anything. Then I realized the reason for these problems -- it was a Snap package. I had to uninstall it because of the lack of integration into the desktop. (The xdg-desktop-portal package may resolve the integration issues, but I'm not interested in using Snaps.)
The other issues I experienced were minor:
I didn't install Ubuntu and subsequently convert the installation to Kubuntu desktop by installing the appropriate package as I have on the Acer (actually, Voyager 19.10 to Kubuntu Desktop with the Kubuntu PPA). I specifically wanted KDE's Plasma desktop as I feel it is filled with capability and flexibility throughout its extent, actually making it easier to use than other desktop environments, so I should comment on the Kubuntu implementation of the Plasma desktop environment. Kubuntu provides a good implementation of Plasma with minimal modification of the stock experience. Unlike in Fedora 32, and like many distributions with a good KDE implementation, one of the features that annoys users -- the Baloo file indexer -- is not disabled in Kubuntu's implementation. This is a good choice by Kubuntu because Baloo combined with KRunner (and any application that uses the Baloo index) is one of the most impressive features of the Plasma desktop; the search results appear instantly in KRunner with search results appearing instantly even even while typing the search term.
The other feature that I imagine annoys most users who try KDE Plasma is KWallet, the password storage utility. Although this tool is installed, I didn't see any nagging pop-ups from KWallet. In fact I actually prefer what openSUSE does, which is to require users to create a GPG key whenever a password needs to be stored, such as WiFi passwords, which, I believe is used to encrypt the wallet.
The modification that the Kubuntu team should have made is one that would have enhanced the Plasma experience, namely GTK apps and their integration with the desktop in areas such as file open/save dialogs. For example, Firefox, a GTK app, uses GTK to create a file dialog that is more appropriate on GTK based desktops. It is possible to modify the behavior of Firefox so that it, and other GTK based programs, use the native Qt/KDE Frameworks file dialog, as I describe in Enabling a Native File Dialog for Firefox on Plasma Desktop. However the distribution does not do this, a relatively simple modification that will replace native GTK behavior with native Qt/KF behavior, essential for a distribution that focuses on KDE's desktop environment and applications.
Despite this area of needed improvement, Kubuntu does make efforts to provide Qt versions of applications that do have GTK implementations. Two examples are package management related applications described in the Package Management section, below.
The only modification that I am aware of in Plasma is the inclusion of a Global Theme that slightly changes the Breeze color scheme to result in a light theme with dark grayish window title bars and a matching Plasmashell theme with the Kubuntu logo on the application launcher widget in the panel. Like many distributions, Kubuntu specifies the Breeze GTK theme for GTK applications.
Even better, in my opinion, would be to provide at least one custom theme that has a GTK equivalent so that the desktop environment has a cohesive look whether using native KDE programs or GTK based programs. Preferably such a theme would be based on YaruKdeDark in order to Unify it with other members of the Ubuntu family, and possibly going further by using Plasma's flexibility to make it look like Unity. I am one of those who liked Unity and would have preferred a replacement based on Plasma over GNOME, so I made some effort to do this myself, modifying the default Kubuntu appearance to make it look like Unity. I describe this effort in Kubuntu 20.04 LTS Review Supplement: Fixes and Enhancements.
Unlike in the subject of the other recent KDE-centric distribution review -- Fedora 32 KDE Spin -- Plasma fans who come to Kubuntu can be certain that they will always have access to the latest version of the Plasma desktop and KDE applications as they are released. Users may have to enable Kubuntu's PPA (Personal Package Archive) to get these new versions of Plasma, the underlying KDE Frameworks, and applications, but at least they will be available. I did this in my Voyager to Kubuntu conversion on the Acer without any problems. (I should note that Fedora has something similar to Ubuntu's PPAs in the form of Copr (Community Projects, previously Cool Other Package Repositories) for which at least one current alternative Plasma desktop repository exists, but this is not maintained by the distributions KDE team as is the case with the Kubuntu PPA.)
The final note in the KDE experience is the Discover package manager. This GUI package manager for the Plasma desktop is well integrated into Kubuntu's implementation of Plasma. For example, there is a panel applet that notifies of updates and launches Discover. Also, something I've never noticed in the past, KRunner searches also suggest applications if there is a match to software that is not installed, launching Discover and opening it on the application's page in Discover. But note, the results may only offer Snap packages even when a native package is available -- possibly an indication of Canonical's aggressiveness in promoting Snaps.
Unfortunately, the Discover experience doesn't seem to be as good as on the version of Kubuntu installed on the Acer, still at 19.10. In this 20.04 release, there seems to be either a regression in the stability of the application or some corner cases which haven't been tested. For example:
A distribution is more than the desktop environment, so if users like the Ubuntu core, despite the issues regarding Plasma experience, I believe those who prefer KDE will like this implementation, especially considering that new updates of Plasma and KDE applications will always be available even though Kubuntu is not a rolling release, at least through a PPA.
As I mentioned before, a distribution is more than the desktop environment. As such, Kubuntu is not at the top of my list of distributions I prefer. However I do recommend Kubuntu 20.04 LTS. This distribution provides a good KDE experience with the solid core of Ubuntu at the center of the system. I was especially impressed with the functionality added to the NVIDIA X Server Settings through PRIME Profiles by the Ubuntu desktop team to allow switching between the various modes of Optimus graphics, using the Intel card, the NVIDIA card, or hybrid or on-demand. Unfortunately, it seems that the Ubuntu desktop team is also very actively engaged in eventually converting all applications to Snaps, something as a "UNIX purist" I don't think benefits system cohesiveness, usability, or performance, and by extension users.
Below, find more on Package Management, Software, Documentation and Support. Also see the articles that supplement this review:
Command line package management is performed through the apt command, while apt-get and apt-cache commands are still available for more specialized package management functions. These command line package management tools are well known in Debian and its derivatives, so I won't discuss them. The following images show apt in action.
More interesting is the Discover GUI package manager from KDE for the Plasma Desktop. Like the name indicates, this application is a good way to find new programs. It provides package details, supports Snaps, provides user reviews, allows the setting of APT sources, and even supports firmware updates. Depending on the application, it also displays screenshots of GUI programs.
In addition to discovering and searching for software, installing and removing packages, Discover is also fully capable of updating the system.
Discover also provides another method of obtaining additional Plasma components such as themes, Konsole color schemes, Yakuake skins, text highlighting schemas, etc. in addition to getting addons in the context specific method provided by individual settings screens of Plasma Settings and applications' settings. Sadly, I found this feature sometimes less reliable than using the capability of getting new components (formerly K Get Hot New Stuff) built into many settings screens of Plasma Settings and individual applications' own settings.
Snaps, Canonical's solution to package management fragmentation, something -- as a "UNIX purist" (although I am in favor of the modernization and capability provided by systemd), and a proponent of the standardization efforts in Linux such as the Linux Standards Base and the Linux Filesystem Hierarchy standard -- I do not like, is enabled in Discover for those who prefer it. As mentioned in the main Review section above, the one program that I installed as a Snap package because it wasn't available as a native .deb package did not integrate into the system either visually or functionally. In the following set of screenshots, one of the versions of the KeePassXC programs is a native version and the other is a Snap, as indicated at the bottom of the details page each of the packages.
Users who like traditional Debian GUI package management have the option of using the Muon Package Manager, which looks and behaves exactly like Synaptic Package Manager. Muon happened to be the name of Discover's precursor when I reviewed Netrunner in 2015.
Another package management application commonly found in Debian based distributions is also available in Kubuntu in a Qt version. This is the QApt Package Installer a Qt version of GDebi Package Installer.
The default software selection is typical in Kubuntu 20.04. The LibreOffice suite is installed as opposed to Calligra, a good choice, unlike in Fedora KDE Spin which installs the latter. Email software is provided by Thunderbird, a choice that most users will probably like, but I prefer the power of KMail, which I installed. VLC is installed for video playback and Elisa is installed for music. This is a recent change from the much more powerful and better looking Cantata, which makes Elisa look amateurish, considering Cantata, as a front-end to Music Player Daemon (MPD), can be configured for multi-user and a network streaming operation. The first time I need to play from my collection on the Dell, I will be installing Cantata.
The other software installed by default is displayed in the following set of screenshots. Note that of the applications shown, I installed TeXStudio, TeXmaker, Kile, Vim, Kompare, KMail, as noted earlier, and Firefox Beta and Firefox Developer Edition using Installing Multiple Versions of Firefox Including Multiple Profiles.
Also the NVIDIA X Server Settings program was installed later as part of my manual installation of the nvidia-driver-440 meta package.
The Kubuntu website points users needing help and support to various resources such as chats, forums, and documentation specific to Kubuntu. The documentation mentioned in Kubuntu 20.04 LTS Review Supplement: Pre-Installation offers those new to Kubuntu and Plasma a good introduction to how to use the distribution. Unfortunately, it is out of date and more importantly is not complete in terms of difficulties that might arise, such as those concerning drivers. There is one very general paragraph on installing drivers that doesn't even point users to other documentation such as those provided by Ubuntu.
For these issues closer to the core system than the DE environment, Ubuntu provides documentation and a wiki, which sometimes is outdated, such as the link to checking SHA checksums linked to in Kubuntu's download page.
Fortunately, the Kubuntu specific chat and forums are also available for support.
The only real fix necessary was to install the NVIDIA proprietary driver meta-package which brought with it the PRIME Profiles graphics card switching capability built into the NVIDIA X Server Settings utility by Ubuntu. An associated modification to the PCI device power management settings of tlp, a power saving utility which I installed as an enhancement was also necessary. For more on Kubuntu 20.04 LTS fixes and enhancements, see Kubuntu 20.04 LTS Review Supplement: Fixes and Enhancements.
In my opinion the solution to many of these problems is what was learned by the many commercial UNIX distributors in the '80s and '90s -- development of and an adherence to standards, some of which are provided for GNU/Linux, including standard package format, by the Linux Standards Base. Also in my opinion, for desktop adoption by computer users that are not technical or scientific software users or developers, a large organization like Mozilla could take on the role that Canonical had with Ubuntu as the distribution that was known to many non Linux uses as being Linux, while giving users a "a free and open" computing platform to go along with "a free and open Internet". Again, in my opinion, some of the other problems -- if they are problems -- don't have a solution as they are a by-product of the inherent freedom of GNU/LINUX -- free to use, free to modify, free to redistribute.
This topic is to complex for a footnote in a distribution review, so look for an opinion post on the matter in the future.↩
The ideal is, in my view, instead of making it easy for app developers to distribute Snaps and Flatpaks -- which don't integrate well, as the KSnip experience demonstrates -- for computers that are not servers or IOT devices, for distributions to release a cohesive base system and programs packaged by the distribution itself from developers' sources, similar to what Solaris does/did and FreeBSD does. But thanks to the inherent freedom of GNU/LINUX, commercial entities can develop tools on top of it to further their business interests whether by dominating market share with the tool or by using a Contributor License Agreement to re-license open source software as non-open source software, instead of collectively developing and adhering to standards.
This is also a topic that is to complex for a footnote in a distribution review, so look for an opinion post on the matter in the future.↩