Solus 3.9999 Review

Oct. 10, 2018, 9 p.m.

Solus is an independent rolling release distribution featuring its own package management system -- forked from Pardus Linux's PiSi package manager, and its in house developed GNOME stack based Budgie desktop environment. As the developers described it when Solus 3 was released:

This is the third iteration of Solus since our move to become a rolling release operating system. Unlike the previous iterations, however, this is a release and not a snapshot. We’ve now moved away from the “regular snapshot” model to accommodate the best hybrid approach possible - feature rich releases with explicit goals and technology enabling, along with the benefits of a curated rolling release operating system.

I tried Solus in the past when Budgie was the only desktop environment available, at a time when it was first getting hype. At that time I was impressed with the innovative Raven settings panel, but found the distribution in general, and the Budgie desktop in particular, feature incomplete and too limiting for my needs. Now, having tried Solus 3 and Solus 3.9999, I still think Budgie is limiting compared to the capabiity of KDE Plasma and the KDE applications, but the polish of Budgie -- for a simple DE -- is evident, with a few minor exceptions. But now that KDE Plasma is available in Solus's respositories, I thought I would try it now instead of waiting for the Plasma edition ISO to be officially available.

This article reviews Solus 3 Budgie Edition released in August of 2017 and the refreshed Solus 3.9999 released in September of this year.

Review

I haven't been impressed with a Linux distribution in a while. With Solus, I was initialy impressed, even before booting the Solus 3 live ISO because of the ease of use of the Solus website. The download link was obvious and I easily found the files necessary for verification, and the instructions for verifying the integrity of the download and the validity of the image were clear. After booting, I was impressed with the visual polish and elegance of the Budgie desktop and the noticible responsiveness of the OS even when running it as a live environment from a USB (3.0) thumb drive.

After some minor annoyances during installation, and after a reinstallation neccessitated by a broken system due to a partial upgrade, discussed below, I was happy with Solus, so much so that I am considering making it one of the two permanent installations on the primary 128 GB SSD of the Acer V15 Nitro which has space for just two Linux OS root partitions and the Windows installation that came with the computer. (The other installation on this drive is Manjaro -- which has been rolling without problems since April of 2017, and is in my opinion the best rolling release distribution currently available).

For most users, especially those who favor a simple and straight forward installer as opposed to a more complex but more powerfull installer, such as openSUSE's YaST Installer at the extreme, installing Solus will be a pleasant experience. In my case I experienced two annoynances. First, Solus, maybe for a good reason that I am not aware of, is too opinionated in the format of the machine's hostname. Solus doesn't allow any capital letters in the hostname. Second, and more siginificant, the installer complained that my EFI System Partition artition did not have enough free space to install the bootloader, although 50MB of the 100MB partition was free. (After installation the partition had 30MB free). I later found that Solus uses the ESP not only for the bootloader, but it places installed kernels and the corresponding initial ram disks in this partition -- the actual reason the installer complains about the size of the ESP.

The Solus Installer Requires a Large EFI Partition
Solus recommends an EFI System Partition of 512 MB. The reason for this recommendation, undocumented, is that the kernels and the corresonding inital ram disks (initrds) are saved here. As the kernel is updated older versions are not removed.
This issue required me to move an unused and unnoticed directory created by who knows wha distribution -- probably Fedora -- named Boot to a second similar sized FAT partition, I had created to backup the EFI System Partition. I later -- after installing Solus 3.9999 -- had to increase the partition to the value recommended by Solus.

After temporarily dealing with the EFI partition size problem and completing the installation of Solus 3, I had to reinstall due to breakage after an update. Opening the package manager, shortly after installing, I saw that there were about eight hundred package updates, which the GUI package manager categorized into three groups -- Required, Security, and Optional. Only the required updates were automatically selected, so I decided to update the preselected group. After the update I couldn't log in because instead of a greater I had a flickering screen. Apparently, some of the updated packages in the required category were not compatible with the outdated packages in the other categories. This problem occured when installing using the Solus 3 ISO, about a year after release. This would not have occured with a more recently released ISO, but would not have happened even with a stale ISO if I had chosen to update all of the packages. Nevertheless, the categorization of the packages should be tweaked to avoid this or all packages should be required to be updated for an install from an old ISO. After reinstalling Solus 3 and choosing updating all packages using the command line package manager, this problem did not reoccur. And it certainly did not reoccur when reinstalling yet again using the Solus 3.9999 ISO whcih was released during the course of my testing Solus 3.

Before settling into Solus I also had to correct one other issue that should have been taken care of during installation, which was that the swap partition was not available in the installed Solus 3 (or Solus 3.9999) system, although it was specified during installation. It was not added to the /etc/fstab file.

Once these issues were corrected, I found Solus to be a polished, attractive, and responsive OS. The Budgie desktop is still too limited in capability, however, compared to Plasma and is still feature incomplete in my opinion. It could use a preview in the task switcher applet, as well as a screen brightness control applet, and maybe some day more varied and more functional applets such as those that would provide network rate and system load monitoring. More immediately necessary is the refinment of the panel Intelligent and Automatic hide functions; if the panel is hidden because a window is full screen or covering it, the panel should reappear when the mouse pointer is pushed to it, but it does not. Despite these issues I didn't uninstall Budgie after installing Plasma, but will use it on occasion for less demanding use cases. For those, like me, who prefer Plasma the Solus developers have already made Plasma available in the repositories and a Plasma Edition ISO is in development.

But where Solus seems to stand out is not in its flagship desktop environment, which I like for what it is, but in its core, and a distribution is not just a desktop environment. It has a great command line package manager that seems to be intuitive and rationally designed. It features an excellent selection of third-party applications that can be easily installed from within the GUI while remaining separate from software for which Solus is responsible. (The selection of software in this category became even better between the Solus 3 and Solus 3.9999 releases.) It also has -- for the time being -- a powerfull build system that is integrated in the package manager.

The only real problem -- which I had to resolve during the course of writing this review -- the resolution of which is necessary for long term use of Solus, is Solus's non-standard use of the EFI partition -- the cause of the "EFI partition too small error" annoyance during installation. As mentioned earlier, Solus uses the EFI partition as the location for the kernel and the initrd, unlike other distributions, with the excepetion of Fedora, which only stores the kernel there -- not the initrd. I had to resize the 100MB EFI System Partition -- created by the OEM -- to accomodate the Solus recommended EFI partition size of 512MB using the procedure described in the Necessary Fixes and Enhancements section of this article.

Related to this issue, I think, is Solus's use of atypical bootloaders, Goofiboot a fork of Gummiboot or systemd-boot in Solus 3 and systemd-boot in Solus 3.9999, probably due to a desire to adhere to EFI specifications, mentioned on the Solus website as a motivation for choices related to EFI. This adherence may also be root cause of Solus not being able to be booted by other distributions' GRUB. Fortunately, this aspect of Solus being different from other distributions is not a problem for me as I have switched to using rEFInd[1], which incidentally I recommend, at the least trying, if not using.

Also nonstandard is the packageing of VirtualBox, the kernel, and the necesary kernel modules for VirtualBox. Every other distribution I know of has one version of VirtualBox for the specific processor architecture and builds or makes available kernel modules for use with the specific kernel version currently in use. The best distributions I have used, if multiple kernels are installed, will install a specific VirtualBox kernel module for each one of the installed kernels, updating as necessary. Solus on the other hand has a specific version of VirtualBox for the two available kernel lines, the current line, now at (4.18.9-92-current) and the LTS line now at 4.9.109-xx-lts. This seems very inelegant.

Speaking of multiple kernels, I installed the LTS kernel in addition to the default current kernel in order to use it with VMWare as VMware can not be run with the latest kernel without patches -- patches that Arch, and thus its derivatives, provides. Unfortunately, systemd, used for booting on Solus (an EFI program called systemd-bootx64.efi is installed in the ESP by Solus) isn't reconfigured automatically to offer the additional kernel as an option during boot as with GRUB. The Arch Wiki provides information on systemd-boot and its configuration.

Most dissapointing to me because of my high expectations for a package manager robust enough to incorporate a build system in the package management system is learning that the pspec.xml file that the command eopkg build uses and thus presumably, this command, is being phased out according to a Reddit post. On the bright side, a new, more powerful package building tool, ypkg and an improved ypkg2 has been developed that can be used locally as well as in the Solus distribution infrastructure.

Notwithstanding the correctable issue of the EFI partition and the clumsiness with VirtualBox and the mutiple kernels, I believe I will be using Solus indefiniately in the second Linux spot on the primary SSD of my V15 Nitro. Solus offers a stable rolling release with a polished, simple, Budgie desktop, for those who want simplicity in a desktop environment and, now, for those that want a more powerful desktop, Plasma. In addition, it has a seemingly powerful and flexibule package build system that is -- for the time being -- integrated into the package manager -- a rare feature that I will explore in the coming weeks.

Quick Facts

Feature Availability
Base Independent
Architecture x86_64
Installation Media Types Live ISO with included installer
Desktop Environments Budgie, GNOME, Mate available with LIVE ISOs;
Plasma and i3 available from package respository
ISO Environment Budgie, GNOME, or Mate

Installation

For those installing on a system with an adequately sized (for Solus) EFI System Partition installation should be quick, simple, and trouble free. For others, who have an EFI partition that has been sized by the OEM of the computer to be inadequate for storing Solus kernels and initrds, it will be necessary to resize it at some point, whether before installation or after.

Screenshots of the installation process is presented below.

Installing Solus 3
Installation is simple, straightforward, and quick as long as the ESP is of adequate size. The installation process did not change between the Solus 3 ISO and Solus 3.9999 ISO.
Click thumbnails for larger images and slideshow.

Necessary Fixes and Enhancements

A few after installation fixes were necessary with Solus. The first two involving involving RTC time zone and swap availability were minor. The third which required me to modify existing partitions in order to give Solus adequate space to store kernels and initrds in the EFI System Partition was not.

RTC

After installing Solus and booting into another OS installed on the Acer V15 Nitro, I found that the RTC had been set to local time. It is recommended to set the RTC clock to UTC and to configure all OSes installed, including Windows, to recognize that the RTC is set to UTC. It was necessary to reset the RTC to UTC using timedatectl.

Swap

It was necessary to edit the /etc/fstab file to add the swap partition. In other distributions it would also be necessary to edit /etc/default/grub and specify the swap partition as a resume device for hibernation, but Solus doesn't use GRUB.

The Swap Partition Is Not Available in the Installed System
The text editor to the right of the screenshot shows /etc/fstab as it is after installation. Although the swap partition is specified during installation it is not part of the installed system configuration.

EFI Partition Resizing

Not realizing that the kernels and initrd would be placed in the EFI System Partition and thus the size requirement before I started to install Solus, I resized the partition after the third installation -- the first installation of Solus 3.9999 after two installations of Solus 3.

In my case, the process to resie the EFI System Partition was involved and lengthy because of the layout of partitions on the primary SSD.

The Partitions on the Primaary SSD of the Acer V15 Nitro
I resized the EFI System Partition from 100 MB to 512 MB in a series of steps that included shrinking the Solus root partition by 512 MB, moving the other parititions, and copying then copying back the Microsoft Reserved Partition.
It was necessary to first log in to the Manjaro installation, the root filesystem being locatated on the last partition in the ayout depicted in the above screenshot, reducing the size of the Solus root partition, the one immediately before the Manjaro partition, by 412 MB. Then I moved the Solus root partition and the Windows partition -- the one immediately before the Solus parition -- each back by 412 MB. I then copied the Microsoft Reserved Partition to a USB thumb drive using dd, deleted the MRP, created another unformated partition of the same size immediately before the Windows partition setting the partition flag to type "Microsoft reserved" and copied back the previous Microsoft Reserved Partition from the USB thumb drive back to this new partition.

At this point I had 412 MB of unallocated space after the ESP which I could use to grow the 100 MB partition to the recommended 512 MB. Unfortunately, neither KDE Partition Manager or GParted could resize the EFI partition, GParted giving the message that it was not capable of resizing an EFI to this size. So I had to copy the backup the contents of the ESP, delete the partition, create a new partition of 512 MB formatted to fat 32 and with the ESP and boot flags set, and then copy back the contents of the backed up ESP.

The process was not complete here as I had to edit the /etc/fstab Manjaro to use the UUID of the new ESP. This did not have to be done with Solus because it doesn't mount the ESP automatically during boot.

Software

Both Solus 3 and Solus 3.9999 provided a good set of default software for typical use cases, providing a browser, office suite, and GNOME based image viewer, video player, music player, and accessories. The selection from Solus 3 is listed below as well as appearing in some of the installation process screenshots above. This selection did not change between the Solus 3 and Solus 3.9999 installation ISOs.

Category Software
Internet Firefox, HexChat, Thunderbird, Transmission
Sound & Video (Multimedia) GNOME MPV, Rhythmbox
Office Calendar, LibreOffice, LibreOffice Calc, LibreOffice Draw, LibreOffice Draw, LibreOffice Impress, LibreOffice Writer
Utilities Archive Manager, Disk Usage Analyzer, Disks, Document Viewer, Help, Image Viewer, Passwords and Keys, Screenshot, SystemMonitor

In terms of software, the notable feature in Solus is the ease of finding and installing third-party applications. As the following video of the Third-Party section of the Software Center from Solus 3.9999 shows, many popular applications are included in this selection. Notable in the group of third party software are Android Studio, both NPAPI and PPAPI versions of Flash Player, all three channels of Google Chrome, Google Talk, Skype, Slack, Spotify, Viber, and WPS Office Suite.

The Third-Party Applications Section of the Solus Software Center
Users can install popular third-party software here including Google Chrome, Flash Player, Skype, Spotify, and others.
(If you don't see a looping video above, your browser doesn't have the necessary codecs to play .mp4 video or extensions are blocking video media.)

One dissapointing aspect of software in Solus, at least at this stage and probably certain to improve, is the availability and packageing of KDE and Qt software. As a user of KDE's Plasma almost exclusively, I was unhappy with oversights in including KColorChooser and Kompare in the repos, as well as missing themes and icons for SMPlayer, which are normally included with the package.

I was happy, however, with the inclusion of the Kvantum theming engine and the popular and complete themes Adapta, Arc, and Materia Kvantum themes. When the corresponding GTK themes are specified in KDE System Settings, the desktop environment looks good, without the clash in themes when using a GTK application in Plasma.

Package Management

GUI package management in Solus is performed with the Software Center application. This is a somewhat simple tool, similar to Pamac in the Arch family of distributions, but with some nice added features of software stores, such as screenshots of desktop programs. It also includes, in most cases, complete change logs of the included software, links to upstream sites, and a "Donate" button to facilitate contributions to upstream projects.

The Solus Software Center
While a simple GUI, the Solus Software Center is attractive and features screenshots of desktop applications, links to upstream sites, change logs, and even a "Donate" button for some packages.
Click thumbnails for larger images and slideshow.

It also features a sense of humor similar to Sabayon's package manager with messages such as, "Discombobulating update matrix." when updating the local package database, and "Changing to the B-Side of the cassette." during long operations.

Unfortunately, the software center is severely limited by the fact only one package can be selected at a time. This limitation is being corrected by the addition of a queued transaction system in current development efforts as well as other improvements.

CLI Package management, on the other hand, is exceptional with the eopkg program, characterized by intuitive and rational commands that cover all aspects of package management tasks including managing repositories and building packages.

The Output of sudo eopkg --help.
The Solus CLI command line package manager features intuitive and rational command structure that incorporates all aspects of package management including repository management and package building.
This second aspect of the program is especially impressive as it incorporates features of the flexible and powerful rpmbuild package build program of RPM based distributions.
The Output of sudo eopkg help build.
The Solus CLI command line package manager includes a build system. With a single command that refers to an .xml file will build a package, similar to RPM based distriburions and a .spec file. Here the command is included in the package management program itself.
The eopkg build program is capable -- with properly constructed pspec.xml and actions.py files -- of performing the typical task ofask of building a package from a source tarball, but also of extracting and converting a .deb package into the Solus .eopkg format.

Below, is an example of using the the eopkg build command to build mscorefonts and subsequently installing the created package using the normal command.

sudo eopkg bi --ignore-safety https://raw.githubusercontent.com/solus-project/3rd-party/master/desktop/font/mscorefonts/pspec.xml
Password: 
pspec.xml                      (3.0 KB)100%     36.59 MB/s [00:00:00] [complete]
actions.py                     (328.0  B)100%      4.81 MB/s [00:00:00] [complete]
DEBUG: InstallDB initialized in 0.0149748325348.
DEBUG: RepoDB initialized in 0.000188112258911.
Unsatisfied Build Dependencies: cabextract 
DEBUG: PackageDB initialized in 0.0719909667969.
Do you want to install the unsatisfied build dependencies (yes/no)yes
Installing build dependencies.
DEBUG: HistoryDB initialized in 0.000783205032349.
DEBUG: PackageDB initialized in 0.165611028671.
DEBUG: RepoDB initialized in 0.00016188621521.
DEBUG: checking glibc release >= 26
DEBUG: InstallDB initialized in 0.00581288337708.
digraph G {
cabextract[ label = "cabextract(1.6,1)" ];


}
DEBUG: ComponentDB initialized in 0.0057590007782.
Total size of package(s): 32.00 KB
Downloading 1 / 1
Package cabextract found in repository Solus
cabextract-1.6-1-1-x86_64.eopkg (32.0 KB)100%    100.05 MB/s [00:00:00] [complete]
Installing 1 / 1
cabextract-1.6-1-1-x86_64.eopkg [cached]
Installing cabextract, version 1.6, release 1
DEBUG: FilesDB initialized in 0.0343790054321.
Extracting the files of cabextract
Installed cabextract                                                                                                    
 [✓] Syncing filesystems                                                success                                         
 [✓] Updating manpages database                                         success
Building source package: mscorefonts
component.xml                  (44.0  B)100%    811.82 KB/s [00:00:00] [complete]
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe
andale32.exe                   (193.0 KB)100%    621.08 KB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/andale32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/arial32.exe
arial32.exe                    (541.0 KB)100%     86.35 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/arial32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/arialb32.exe
arialb32.exe                   (164.0 KB)100%    125.10 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/arialb32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/comic32.exe
comic32.exe                    (240.0 KB)100%    570.77 KB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/comic32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/courie32.exe
courie32.exe                   (631.0 KB)100%    113.25 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/courie32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/georgi32.exe
georgi32.exe                   (383.0 KB)100%     95.26 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/georgi32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/impact32.exe
impact32.exe                   (169.0 KB)100%    120.21 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/impact32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/times32.exe
times32.exe                    (646.0 KB)100%    128.33 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/times32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/trebuc32.exe
trebuc32.exe                   (348.0 KB)100%    120.21 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/trebuc32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/verdan32.exe
verdan32.exe                   (343.0 KB)100%    114.05 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/verdan32.exe
Fetching source from: https://downloads.sourceforge.net/project/corefonts/the%20fonts/final/webdin32.exe
webdin32.exe                   (180.0 KB)100%    122.26 MB/s [00:00:00] [complete]
Source archive is stored: /var/cache/eopkg/archives/webdin32.exe
Unpacking archive(s)...
 unpacked (/var/eopkg/mscorefonts-1.3-3/work)
Setting up source...
Extracting cabinet: andale32.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/andale.inf
  extracting ttfs/fontinst.exe
  extracting ttfs/andalemo.ttf
  extracting ttfs/advpack.dll
  extracting ttfs/w95inf32.dll
  extracting ttfs/w95inf16.dll
Extracting cabinet: arial32.exe
  extracting ttfs/fontinst.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/ariali.ttf
  extracting ttfs/arialbd.ttf
  extracting ttfs/arialbi.ttf
  extracting ttfs/arial.ttf
Extracting cabinet: arialb32.exe
  extracting ttfs/fontinst.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/ariblk.ttf
Extracting cabinet: comic32.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/comicbd.ttf
  extracting ttfs/comic.ttf
  extracting ttfs/fontinst.exe
Extracting cabinet: courie32.exe
  extracting ttfs/cour.ttf
  extracting ttfs/courbd.ttf
  extracting ttfs/courbi.ttf
  extracting ttfs/fontinst.inf
  extracting ttfs/couri.ttf
  extracting ttfs/fontinst.exe
Extracting cabinet: georgi32.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/georgiaz.ttf
  extracting ttfs/georgiab.ttf
  extracting ttfs/georgiai.ttf
  extracting ttfs/georgia.ttf
  extracting ttfs/fontinst.exe
Extracting cabinet: impact32.exe
  extracting ttfs/fontinst.exe
  extracting ttfs/impact.ttf
  extracting ttfs/fontinst.inf
Extracting cabinet: times32.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/times.ttf
  extracting ttfs/timesbd.ttf
  extracting ttfs/timesbi.ttf
  extracting ttfs/timesi.ttf
  extracting ttfs/fontinst.exe
Extracting cabinet: trebuc32.exe
  extracting ttfs/fontinst.exe
  extracting ttfs/trebuc.ttf
  extracting ttfs/trebucbd.ttf
  extracting ttfs/trebucbi.ttf
  extracting ttfs/trebucit.ttf
  extracting ttfs/fontinst.inf
Extracting cabinet: verdan32.exe
  extracting ttfs/fontinst.exe
  extracting ttfs/fontinst.inf
  extracting ttfs/verdanab.ttf
  extracting ttfs/verdanai.ttf
  extracting ttfs/verdanaz.ttf
  extracting ttfs/verdana.ttf
Extracting cabinet: webdin32.exe
  extracting ttfs/fontinst.exe
  extracting ttfs/webdings.ttf
  extracting ttfs/fontinst.inf
  extracting ttfs/licen.txt

All done, no errors.
DEBUG: return value for "cabextract --lowercase *.exe --directory=ttfs" is 0
Building source...
Testing package...                                                                                                      
Installing...                                                                                                           
Building package: mscorefonts                                                                                           
Creating mscorefonts-1.3-3-1-x86_64.eopkg...
Keeping build directory
sudo eopkg install mscorefonts-1.3-3-1-x86_64.eopkg
Password: 
Installation order: mscorefonts 
Installing mscorefonts, version 1.3, release 3
Extracting the files of mscorefonts
Installed mscorefonts
 [✓] Syncing filesystems                                                success
 [✓] Rebuilding font cache                                              success
 
 
The pspec.xml file and the accompanying actions.pyfile for some packages are used similarly to Gentoo's ebuilds and openSUSE and Fedora's package.spec files by eopkg build to build the package. I learned late in the course of writing this review that this eopkg build functionality is being phased out in favor of a new, more powerful package building tool, ypkg which has, apparently, been further improved upon with ypkg2. From a discussion in Solus forums, it, along with the new package.yml can be used as a replacement for the eopkg build program and the pspec.xml file and be used locally as well as in the Solus distribution packaging infrastructure.

Unfortunately, ypkg, although an imporvement over eopkg build, especially in the format of the build recipe package.yaml, is not incorporated into the command line package manager, a feature I found attractive with the legacy, but still currently supported, eopkg build command.

Documentation and Help

Solus provides help to its users through its Help Center portal. The portal is nicely designed and easy to navigate, but sadly, in many areas it only has the most minimal content that seem to be mere stubs and place holders, and in others it offers the most basic guidance in topics most needed by novice users, such as how to use the panel applets of the Budgie and Mate desktops to connecto to a wireless network.

During my use of Solus, I consulted the documentation to learn how to configure two aspects of the distribution, changing the background of the LightDM greeter background and specifying a dummy fully qualified domain name for the hostname, such as v15nitro-solus.localdomain. In the second case, the method that I usually use specifying the fqdn in the /etc/hosts. I gave up on this issue when I realized I didn't need to set this for the problem I was trying to solve. But I found the answer to the first issue, greeter background picture setting, after trying outdated suggestions at the old Solus forums that mention /etc/lightdm/lightdm-gtk-greeter.conf and others posts that specify modifying a dconf setting that specifies the SlickGreeter background. (This setting is editable in dconf-editor but doesn't do anything). I found the answer finally on Reddit, an answer I also later found on the new Solus forum.

Recommendation

Perhaps with the exception of Void Linux and NixOS, Solus is the most interesting distribution I have tried in a while. Like these two, it is an original distribution, that seems to be trying to do things better, for example with its adherence to EFI specifications and the development of its own desktop environment -- Budgie, that I think was the first to introduce a full screen length settings and notification panel that slides from the side of the screen. It aslo seems to be trying to improve on how package management is done from a starting point of a forked PiSi, originally from Pardus Linux. This endevor is ongoing with the developemnt of a replacement for eopkg with not "yet another package manager," but with the tentatively named Sol. The developemnt of this new package manager, as with the change from a regular release schedule, to a rolling release, to a hybrid rolling release, the forking and use of Gummiboot then systemd-boot, seems indicative of the nature of Solus developemnt in that things seem to always be changing, with new directions in the design of the distribution. As another example of this, consider the discussion of switching from GTK to Qt as the foundation of the Budgie desktop.

But as it is now, Solus provides users with an attractive and responsive flagship desktop environment, fresh software with a rolling release that aims not to ever allow the system to break, and an excellent command line package manager that, for now, includes package building capabilities, as well as an additional, improved tool for building packages. Whatever changes may come from Solus in the future, past changes have matured it from its state when I tried it last and dismissed it, to something I will keep installed on the primary SSD of my Acer V15 Nitro.

Notes:

  1. [1]

    rEFInd is a firmware bootloader that is installed to the EFI System Partition. Among its benefits are powerfull on-the-fly detection of installed OSes and other bootloaders, even bootloaders such as GRUB installed on other partitions, at boot. It also is installable on a USB thumb drive; booting from such a USB drive will start the rEFInd interface which will display all of the available OSes and other bootloaders, detected immediately without preconfiguration.