Updated: October 5, 2019
There are operating systems that were never meant to be used as desktops. Well, to be fair, most Linux distributions fall into this category, in a way. But CentOS falls more. It's a no-nonsense server distro, designed to give you three quarters of an eternity of stable support and a blackhole worth of predictable boredom so you can do work stuffs. But if you wanna desktop, you can too.
I've always had a soft spot for CentOS - if you're curious, you can read all about my CentOS 6 story and the subsequent CentOS 7 saga over the past decade. Now that the latest release is out, it's time for another long review. I'll commit the distro to my eight-boot mixed Windows & Linux Lenovo G50 machine, which, by the way, already runs a CentOS instance. And if all goes well, then we will attempt an in-vivo upgrade, too. For now, let's commence the journey.
No screenshots, as this happens before you reach the desktop. At the moment, I couldn't find any live media, so I went with the full install, a whooping 6.6GB worth of ISO download. I etched the image, then booted the system and began the setup.
Overall, it's very Fedora, but with some extras. You also have the option to configure the type of installation you like (the default for me was Server with GUI - meaning Gnome), Kdump configuration, networking, and security policy. The installation uses the ultra-non-intuitive star approach, with the Done button in the top-left corner, which helps no one. You also don't have the Blivet partitioner.
I configured the distro to use the root partition, added and formatted swap, and configured /boot/efi. I then set the network up, and was pleasantly surprised to learn that it worked out of the box. This wasn't the case when I tested CentOS 7, where I had to manually download the Realtek card RPM. Sweet. I let the installer run, and about fifty minutes later, everything was done. Reboot.
The GRUB menu was showing all of my distros ... except one, for some odd reason. An Ubuntu 18.04 instance installed on a 150GB /dev/sda6 partition wasn't in the list, but all the rest were, including several other Bionic-based systems, like Kubuntu 18.04 on /dev/sda14 and KDE neon on /dev/sda15, plus the resident Windows 10, Fedora 30, CentOS7, and Manjaro. Not sure why, but something to explore later on.
Using CentOS 8
The desktop is simple Gnome 3 (version 3.28). Nothing you haven't seen a dozen times before, and it's a would-be minimalistic formula that doesn't work for me. No min/max buttons by default, no dock or shortcut panel that is readily accessible with a single mouse click, and such. So my first task of the day was to get everything sorted before doing any extra testing.
Gnome Tweaks, Gnome extensions and third-party repos
This wasn't trivial. Gnome Tweaks (Gnome Tweak Tool) is in the repo, and configuring EPEL and RPM Fusion was fairly simple. But there were loads of issues with Gnome extensions. In fact, this begs an entire guide of its own, which I'll publish in a few days. Bear with me. For now, believe me that it can be fixed, and that you can have the complete experience. But it did take a while. Once I had all of the above enabled correctly, I then installed Dash to Panel, I had window buttons, and I could proceed with installing extra software, themes and icons, and making the desktop behave as it should.
And eventually, after magic (tutorial coming, pinky promise), eureka!
Wireless, out of the box, yup. But then I lost connectivity after a while. W00t. I then added my Realtek tweak, and things were better after that. However, this shouldn't have happened at all, because the issue is supposed to have been solved in newer kernels. Weird.
Bluetooth pairing worked fast and true. In fact, near instantaneous. Very cool. Samba sharing, nyet! No go, because security. But at least, with a server distro, you can actually excuse the rigorous defaults. I had to make the tiny client protocol tweak before I had access. Printing wise, I had more problems. The distro wouldn't see any of the printers, be they Wireless or Samba, and only after I provided an IP address manually did the results start showing up. I'm happy that I didn't need much to have reasonable connectivity, but this can be so much more streamlined.
How much has the world changed. A server distro plays MP3 and HD video without any complaints. Sweet. Now, the one issue is, Video doesn't let you capture screenshots of its playback area. If you try to do that with the window only, you will get a blank canvas. You need to grab the entire desktop to see the contents in the saved image. This isn't a CentOS issue, this is a wider Gnome issue I've reported half a dozen times in the past few years.
No sweat. I tried the three major flavors - Android, IPhone and Windows Phone, and they all mounted without any problems and all that. Including a single screenshot, so you will have to take my word for it. But this is quite neat, and that means modern stuff what normal people need, right there, in a server distro.
Package management & updates
I wasn't able to use Gnome Software - it kept complaining about read-only repo. Not sure why, but that's the state of things. On the command line, dnf was reliable, and it did everything I needed. There was an issue with Firefox & certificate signing for addons, which was fixed after the first batch of updates, 220 MB worth of data contained in some 90 packages. Speedy and true.
Gnome Software eventually "fixed" itself, but it still remains a rather bland and unappealing thing. And then, there's the whole Windows-like restart & update thing, which just makes no sense at all. Why would you lose valuable time you can have in your session just to run updates in a way that no other distro ever does? Not specific to CentOS, this is an old and unnecessary Gnome problem.
I then installed GIMP, VLC, Steam, LibreOffice, plus Skype and Google Chrome from RPMs downloaded directly from their official sites. There were some problems here. For example, at first, VLC complained about missing dependencies - this required some additional repos, but we will talk about that in the make-perfect tutorial.
Last metadata expiration check: 0:13:06 ago on Mon 30 Sep 2019 03:29:48 PM BST.
Problem: conflicting requests
- nothing provides libjack.so.0()(64bit) needed by vlc-1:3.0.8-20.el8.x86_64
- nothing provides libfluidsynth.so.1()(64bit) needed by vlc-1:3.0.8-20.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
And LibreOffice doesn't have a meta package, so you need to install components one by one, like Writer, Impress and such, which can be annoying. But then, I had things sorted out, and my system was replete with good, modern software. However, the overall availability is less than a typical Ubuntu distro - you won't find lots of other leet programs that the so-called young people use, messengers and social media stuff and like. And for us crusty veterans, no LyX, for instance.
Default application set
You might think the whooping 6.6 GB image size translates into a Library of Alexandria worth of software, but that's not the case. At least not when it comes to desktopy stuff. The image comes with loads of important server and enterprise components you probably don't care about, plus several desktop environments, so what you're left with is a modest set. Firefox, Videos, Boxes, Cheese, and such.
I spent a little extra time making CentOS 8 super-pretty. This included changing hinting to Subpixel (LCD), adding Template files so that Files would have them when you right-click - I can't believe this is still an issue in 2019, where you need to manually configure your box for trivial New file item in the context menu - using Papirus icons, new wallpapers, and a few extra extensions.
Soon enough, though, I had a very reasonable and pretty desktop at my disposal. And you wouldn't really know or be able to tell the difference from any other Gnome desktop. But then, even under the hood, the changes are currently minimal. If you're curious, CentOS does Gnome 3.28 as mentioned earlier plus kernel 4.18, which makes it fairly modernish, but then I had 4.16 in CentOS 7 as a manual tweak.
Hardware compatibility, suspend & resume, stability
Apart from the tiny Wireless glitch, everything else was great on the hardware front. The distro was also super-stable, without any crashes, oopses or alike. SELinux didn't complain even once, and I was able to suspend & resume without any issues. Quickly, too. Fn buttons, cushty.
This is the weak side of this distro - mostly because of the Gnome desktop. On idle, the CPU utilization was relatively low, only about 1%, which is good, but would spike even on tiny things. Memory usage is about 1.7 GB without any open applications, roughly four times more than a typical Xfce or Plasma distro on this same box.
I then also examined the behavior of the system after an hour of work. I had already managed to hit swap, just by installing software via dnf, some light browsing, and the customization you've seen above. There were also noticeable delays in things happening. The desktop environment simply isn't responsive enough. At this point, the desktop was consuming about 3 GB of RAM plus some swap. The CPU consumption wasn't too bad, though, roughly 2.5% on average, but we've seen much better.
With light usage and 50% brightness, CentOS 8 on the G50 returned about 110 minutes for the full battery, which actually means two thirds of a full one, as some of the cells have deteriorated over the years - you can see the status in Plasma desktops but not here. Anyway, this translates to about 3 hours and change for a healthy pack, and this is almost 40-50% less than lithe Xfce or Plasma desktops on this same box. Kind of expected, as we've seen similar results even in the latest Fedora 30. There you go.
Compared to CentOS 7, what do you say?
Well, this is quite interesting. First, a lot of time has passed since CentOS 7 was launched. And the overall tech accessibility factor definitely plays the part. Mostly because innovation in the desktop space has peaked, and the delta between CentOS 7 and CentOS 8 is much smaller than the one between CentOS 7 and CentOS 6.
This means that the latest CentOS is much closer to contemporary desktops than its predecessor, and it comes with a wider range of goodies for everyday use than before. Again, the reason for this is that the desktop hasn't changed much since about 2012, allowing systems to offer functionality parity that wasn't possible in the previous generations.
Practically, this means few of my CentOS 7 complaints hold. Hardware issues, package management issues, codec issues and alike. Most of these are no longer applicable, and that's a great thing. That doesn't mean the experience was flawless - far from it, but there were few niggles that needed sorting out.
With CentOS 7 on this very machine, I did separate Gnome and Xfce setups (plus the KDE one linked above), then I also added the mainline 4.16 kernel, and I had to perform a few tricks here and there to get everything working correctly. Almost none of this is necessary with the latest edition. This is quite encouraging, as it shows that CentOS is moving forward. But it's also a sign of stagnation in the Linux world. It's become a steady-state thing, there are few new things happening, and while this could be good, it isn't. I'm not talking about innovation for the sake of it, I'm talking about genuine enthusiasm across the Linux sphere as a whole.
Let's see how we wrap this up. If we look at CentOS 8 as it, then it comes with lots of problematic areas, which preclude it from being fun and enjoyable out of the box. The big issue is the ability to manage Gnome extensions, without which the desktop simply isn't usable. But then, if we remember this is a server distro, never intended for desktop use per se, things look quite all right, as there are many dedicated for-home systems that manage much less than this. Don't forget stability and ten years of support.
On top of that, I was actually able to achieve a fair deal, I managed to add new and cool software, multimedia and smartphone support are quite good, and you can depend on this system going forward. Performance is meh, networking can be better, and there should be a simplified mechanism to enable the desktop element. All in all, CentOS 8 deserves something like 7.5/10. After polish and tweaks, a rather nifty 9/10. Plus CentOS 8 is better than its predecessor all around, respect. You should try.
I am going to attempt an in-vivo upgrade. Maybe a Plasma test, too, yes! And CentOS Stream, which might be just what I've been looking my whole life - a rolling-release version of the distro designed to stay modern and relevant even many, many years after the initial release. This could be the magic formula of stability, support and latest software. We shall see. Plus I owe you all those tutorials. Stay tuned.