Updated: July 18, 2016
CentOS 7, Lenovo G50, third time lucky. Recently, I was able to make some huge progress in getting CentOS to run on modern hardware, and then, change this server-made distro so it behaves like a proper home darling. We started with KDE, and it was quite good. Then we tried the Gnome edition, and it was even better. Now, we will attempt to use the Xfce version.
I am still hunting for the perfect distro combo, and I think this should do it. Xfce kind of blends the good sides of both Gnome and KDE, or Plasma if you will. We have already tamed the distro quite well. It has no beef with UEFI or the dozen odd systems installed on the internal disk. The network works well. We have all the codecs and applications. Smartphone support is great in Gnome. The UI still needs tweaking. Hence this test.
Now, here's something rather interesting. You will need to install both MATE and Xfce desktops in order to have Xfce behave and function as expected. Go figure. If you don't do this, you won't have a network applet, for instance, and no Internet, which would make it totally useless. Step 1, grab the two desktops please.
yum groupinstall xfce "MATE Desktop"
Log out, log into the new session. It will be somewhat ugly and stock, and you will need to invest a fair amount of time tweaking and polishing. I promise you a complete article on this topic, including all the gory little details. For now, just enjoy the images, and assume that this can be done. The main focus is on the actual functionality.
Xfce in action
I do have to say I struggled a lot with the audio framework in the system. For the lack of a better phrase, PulseAudio is pointless vomit. It is designed for nerds, and it gives ordinary users who just want to hear shit coming out of their speakers no value whatsoever.
My problems were many fold. One, you don't really have a mixer, because the graphic frontend, Pulse Audio Volume Control (pavucontrol) is missing. It is not available in the repositories, either the official or unofficial ones, and if you want the mixer, and you do need it, you will need to manually download it from old Fedora repositories. This works, but you won't get any updates or fixes. BTW, this is an official bug. So sad.
yum install pavucontrol-3.0-1.fc22.x86_64.rpm
Then, it will work, and you can play with volume and whatnot, but it's still crowded, buggy, and completely unsuited for purpose. This thing is so horrible it can completely wean you off Linux, just on its own.
The second problem is that my microphone volume was abysmally low, and I was not able to hear myself on Skype, which is quite critical if you want to talk to people and whatnot. Manually testing and tweaking, I soon learned the problem only affects Skype, and that recording from the command line works just fine.
I solved this by using a headset - which took a while getting configured. After that, I was able to enjoy audio, on all levels. But it does leave me with a big sense of unease, as something so trivial can be so crippling to the desktop experience.
It took a reboot for the headset to show as an active device.
Anyhow, what you need to do is manually change the playback, recording and input devices if you want to use anything other than the internal microphone. With a headset, I was able to finally hear my own voice properly. Still, I don't really have anything smart or definite to tell you on this subject as the interface is convoluted and busy and completely, utterly counterintuitive.
There are many other problems here, too. You have the MATE volume applet and the PulseAudio applet, and they don't necessarily cooperate well, and there are half a dozen utilities to manage audio, and it's one big steam of radioactive waste. PulseAudio and everything sound related in Linux needs to be purged with supernova and bleach.
Anyhow, changing volume using the conventional MATE applet did not work, so you probably don't want to bother, but just in case, a few more quick screenshots to highlight the pain and agony - to lead you down the wrong path. More to follow in a separate article!
The correct mic setting; alas input level does not respond at all.
Peachy. I had the Realtek card sorted out in the KDE edition during the initial testing, and it's been super-solid since. No problem. Samba sharing, Samba printing, once again, lovely jubbly. The one outstanding item is Bluetooth. Using the KDE applet, I failed to activate the service. Blueman is not available, and I wasn't keen on manual downloads with tons of ugly dependencies and complications. With the PulseAudio issue, these are the only two problems that really stand out in this whole experiment.
Applications, cool stuff
As you can, all the goodies are there, including webcam:
Excellent. I was able to use all my phones, including iPhone, Ubuntu Phone and Lumia. Then, I was also able to directly copy photos to my Samba shares over Wireless network with a pretty decent 5 MB/sec throughout. In typical conditions, other distros normally only do about half that.
Resource usage, performance
The Xfce flavor of CentOS 7.2 is marginally more responsive than the KDE and Gnome editions, and it it feels more lively than most other distros, to be frank. The system is well optimized, which is a nice little bonus for a server distro. Memory usage hovered around 550 MB on idle. Not too bad. This is higher than Xubuntu. The CPU ticked around 1%, again, not the leanest we've seen, but pretty decent. On top of that, following my swap fix, the system monitor shows the right values.
With the display set to dip its brightness to 65% after a few seconds of inactivity, the Xfce version offers about 4 hours of juice easy. Power saving is less aggressive than the KDE edition, and yet, this particular desktop environment manages roughly 50-60% more. Also better than Xubuntu, even with a slightly noisier processor. Very close if not identical to the surprisingly cool underdog MX-15, which so far leads the battery pack in terms of austerity and longevity. Impressive, especially if you take into consideration that I've loaded this distro with stuff, and there's a lot happening in the background.
Hardware, stability, suspend & resume
Nothing crashed or stopped working. The Realtek driver was true and steady. The new desktop environment did not affect the laptop's ability to sleep or wake. Hardware compatibility is good. All the Fn buttons work, and respond correctly. Power management does it thing, including auto-dim on inactivity, sleep, power button action, etc. All in all, just as it should be in pretty much every single distro out there. Unfortunately, not.
Hardware problems come down to Bluetooth, as I've mentioned earlier, and the fact PulseAudio sucks, but this is something that can be easily resolved using a different audio framework. It's not strictly related to drivers and hardware. Still, just so you know.
The last few tweaks and whatnot
Let's see. UEFI, check. Multi-boot stuff with Windows and Linux, check. NTFS, Samba, smartphone support of all kinds, check. Good network speed and stability, check. Good hardware compatibility, suspend & resume, check. Media codecs, applications, printing, check. Very decent performance, awesome battery life, check. Good looks even, at the end of the day, check. And we represent!
But this ain't no news
Correct. We have seen this outcome before - the almost-perfect mix of aesthetics, functionality, accessibility, usability, and stability. For instance, Ubuntu 14.04 Trusty is still an excellent overall choice and will remain so for another few years. The same applies to Mint 17.3 Xfce and Xubuntu 15.04 Vivid, both of which shared the top place as the best distros of 2015. In that regard, why would one go the long way of getting results that we already had a year ago, and with less fuss?
Well, it's all about predictability. All recent versions of Ubuntu were (are) notoriously buggy. Things break for no good reason. That's not the kind of experience I expect from my operating systems. Windows, for that matter, offers a far more predictable overall work environment, no matter what you may think about Microsoft. It is the knowledge that your stuff will not stop working come the next morning. It's the foundation of sanity and it drives business decisions.
At this point, I do not feel comfortable using ANY Linux distro, because I know that things will stop working with the next big update, and this is doubly true for the Ubuntu family, which is changing all too rapidly for its own good. The short support cycle of many other distros simply precludes them from being relevant.
And so we are left with CentOS 7, which, ironically, was never meant to be a home distro, and yet, it manages to keep pace with its rivals pretty well. Most importantly, things stay fixed, and they don't break randomly. I do hate the fact you need to invest time into sorting the basic, but once you've done that, you won't need to do it again. I can accept that kind of effort and investment. But going from Trusty, where, say, the Realtek driver was sucky but had a permanent fix, to Xerus, where it keeps on dropping every ten minutes or so, invokes a deep, deep sense of trauma.
It's not about smartphone support and Steam - although these are quite important. But if you don't know if you're going to have the Internet after a reboot or some such, then there's no merit in using a system. I wish things could be simple. I wish Ubuntu and friends would offer all the goodies they do - in such an easy way - but also give their fanbase stability. Nothing more, nothing else. Just stability. What works today should keep on working tomorrow. I'm not asking for Microsoft Office 2255 support or something like that. No. Just the minimal basic expectation that things remain constant in terms of their raw functionality. Unfortunately, Ubuntu cannot promise that. For a while, I thought this would be the case with the latest LTS, but no. Xenial Xerus broke the long, continuous chain of improvements from Lucid via Pangoin and finally Trusty.
And so we must try a different approach. Take a less user-friendly distro and try to make it simple and accessible. CentOS 7 does this job remarkably well, if not without some initial hands on work. But the more you invest, the closer it gets to what Mint and Ubuntu and the rest of them do, while still keeping its predictable, stable profile. That is gold, friends.
Now, would I entrust my real work to a system like this? Well, most likely not, because it comes with unofficial software sources and RPM downloaded manually, and that breaks the foundation of how I think operating systems should be. What happens if one of these sources stops working or gets compromised or the developers decide they can't be bothered anymore? Do I do banking on a distro that I downloaded the network kernel module on my own? Hint, yes, because I know what I did, but think about it, do you really want unofficial drivers for your box? And audio control? CentOS is supported for like a million years - and that means EVERY SINGLE COMPONENT SHOULD BE TOO - if not, you have created a solution that might not work for you. It's a gamble.
Then again, don't dis CentOS. 99% of all distros are hardly test-worthy less alone merit keeping installed. When it comes to getting things done well, CentOS 7 is on a very short shortlist. But ultimately, at the end of the day, this means that my production systems will keep on running Windows, and an odd Trusty copy. But at least we know that CentOS 7 is almost there at the top, and with a system that has a somewhat more Linux-friendly hardware, you could actually have that, no problem.
CentOS 7.2 Xfce is the most satisfactory distribution on the market today, alongside Trusty. Not perfect, not plug-n-play, but it is supported, stable and quite friendly. I did need several hours to sort things out, and that's the price for converting a server distro into a home operating system.
In this guise, it works well, with a few small exceptions, one or two outstanding niggles that need fixing, and the knowledge that I needed some third-party gear to achieve the level of productivity that I normally seek. That precludes CentOS 7 from being perfect or a candidate for my production setup, but it might be just the thing for you. If you're not as bothered as I am around unofficial repos and adding some extra software on your own, then look no further. CentOS 7.2 Xfce is a slick, modern, good-looking choice with all the goodies for a healthy modern life. It is better than KDE and Gnome flavors, and comes with the unbeatable blend of simplicity and functionality.
If anyone out there is interested in making the perfect home distro, based on Red Hat, please consider my words as a template for what needs doing. Drivers (signed), third-party software, basic customization. And that's it. So simple. Then again, so difficult. But this is the most sensible formula for desktop use you will have seen in a long, long time. Enjoy.