Fedora 24 review: The year’s best Linux distro is puzzlingly hard to recommend
This article was published in Ars Technica, you can view the original there, complete with graphics, comments and other fun stuff.
Fedora 24 is very near the best Linux distro release I’ve used, and certainly the best release I have tested this year. Considering 2016 has welcomed new offerings like Mint 18 and Ubuntu 16.04 LTS, that says a great deal about the Fedora project’s latest work. But like many Fedora releases before it, even Fedora 24 got off to a rocky start.
Longtime Fedora users are more than likely conservative when it comes to system upgrades. And historically, new Fedora releases tend to be rough around the edges. Wise Fedora followers tend to be patient and give a new release a couple of months for the kinks to work out and the updates to flow in. Usually, such a timing cushion also means all the latest packages in RPM Fusion have been updated as well. With that kind of precedent, being the first to jump on a Fedora upgrade—which comes every eight or so months—can be risky.
Patience does typically reward you with a really great Linux distro, though. And far more valuable than updated apps, waiting means you can skip catastrophic bugs like the one that completely broke Fedora 24 on Skylake systems after a kernel update. Fedora 24 shipped with Linux kernel 4.5 and managed to miss kernel 4.6 by about two weeks, which is a shame because no less than Linus Torvalds himself called kernel 4.6 “a fairly big release - more commits than we’ve had in a while.” In other words, perhaps Fedora should have waited a few weeks to ship.
But the Fedora project elected to not postpone its release. While the whole “let’s wait a bit” logic is a slippery slope, in this case Fedora seems to have erred on the wrong side. Updating to Fedora 24 has been fraught with problems for many users, particularly those with Skylake chips. And the problems go above and beyond the problems that already plague Linux on Skylake.
It has been almost two months since Fedora 24 was released, and at this point most of the bugs, mercifully, have been worked out. In fact, I did most of my Fedora testing on the Dell XPS 13 I reviewed earlier for Ars and found Fedora 24 to be a far smoother experience than Ubuntu 16.04. That said, if you have a Skylake chip, proceed cautiously.
Fedora 24: A GNOME 3.20 Showcase
Fedora 24 ships with a slew of desktop options, everything from the very lightweight LXDE to the flagship offering: GNOME 3.20. Because Fedora is closely tied to GNOME, I’ve done the majority of my testing on GNOME 3.20. That offers a host of new features, including a revamped Software app, image editing in Photos, and (my personal favorite) GNOME Maps. There’s also the beginning of what might eventually (finally) be a decent GUI Calendar app for Linux.
The first thing you’ll want to do with a fresh install is grab the updates that have come since the installer was packaged, which makes your first stop the GNOME Software app. The good news in GNOME 3.20 is that the Software app is a lot more stable than it used to be (previous releases crashed constantly for me). It now supports Flatpak apps, though Flatpaks are probably the least stable aspect of GNOME Software in 3.20. Still, if you enjoy graphical software installers, GNOME Software has one of the nicest interfaces you’ll find among Linux desktops.
After installing Fedora 24, you can now update to future releases directly within the Software app. Yes, the magic eight ball says Fedora updates might possibly be a bit less painful going forward. (We’ll let you know for sure when Fedora 25 rolls around.) Also new in Software is the ability to install device firmware, provided your device supports it.
Once Fedora 24 is up to date and the 4.6 kernel is installed, it’s worth checking out the rest of the GNOME suite of apps. The GNOME development team has been hard at work putting together a suite of basic applications that will fit the 80-percent use case and take GNOME beyond just a desktop and window manager to be a full-featured, unified ecosystem.
Apps like GNOME Photos, GNOME Calendar, GNOME Videos, and GNOME Software go a long way to simplifying the first-time user experience. GNOME 3.20 sees some big updates for several of these apps, in particular Photos and Maps. Photos started life as a very basic viewer with minimal features; you could browse your photos and upload them to any online accounts you had set up through GNOME. With 3.20, GNOME Photos gains its first image editing capabilities.
GNOME Photos can now crop, rotate, and perform some basic color adjustments to your photos. There’s a new “enhance” option (which will sharpen and denoise), and of course there are some Instagram-style filters.
One thing I really liked about Photos is that all edits are non-destructive. The original photo is preserved and always available should you change your mind about your edits. Another nice feature is the option to resize photos before e-mailing. (For the love of bandwidth, please use this feature.)
GNOME Photos is still not quite as capable as Shotwell when it comes to editing, which is probably why Fedora sticks with Shotwell as the default image app in Fedora 24. But Photos is getting there. If you’re looking for a fast, simple way to organize, share, and make basic edits to your photos, GNOME Photos is worth a try. Shotwell is still definitely more powerful, but Photos is faster and has a simpler interface.
Another new GNOME app that’s worth a look is GNOME Calendar. If all you want is a calendar—not a complete all-in-one monstrosity of e-mail, notes, todos, calendars, and kitchen sinks—there really aren’t any good Linux apps out there. The one solution most will point to is Thunderbird, but it’s all but abandoned at this point. Evolution works, but it’s serious overkill if all you need is a calendar. GNOME Calendar has been looking like a great solution since it was quietly released a few years ago, but the app still only really supports calendars hosted on Google or ownCloud (presumably NextCloud as well). More support didn’t make this release, but the good news is that support for calendar files like .ics is coming in GNOME 3.22.
One thing that hasn’t changed much in this release is the GNOME Shell environment, which has a couple of new features but, by and large, looks and behaves just like the last couple of releases. This iteration gains a new set of multimedia controls that live in the little applet that comes up when you click the clock in the menu bar.
Fedora opts for a very stock GNOME installation with no customization that I could see beyond the wallpaper. The result is a very usable, albeit somewhat RAM-hungry desktop. While GNOME is certainly no lightweight, Fedora 24 with GNOME 3.20 worked reasonably well on a Chromebook with only 4GB of RAM.
The standard set of GNOME apps has also been updated to the latest versions, including LibreOffice, which is now at version 5.1, Shotwell, which is at v.23, and Firefox 48.
Fedora 24 and Flatpaks
Fedora’s repos remain as they always have been: generally complete. While not on the scale of Debian, 95 percent of what most users will want is there. The few curious exceptions are things like VLC (which is in the EPEL repos) and Chromium (which is in the RPM Fusion repos), but neither is available in any of the repos that ship with a new release of Fedora.
However, the number of packages in a distro’s repos might not matter much in the near future. Thanks to Flatpak and Snap packages, both of which enjoy preliminary support in Fedora 24, you’re not limited to installing just the packages available via repos.
So, what is a Flatpak app and how is it different from a good old RPM package? The big difference is that Flatpak apps are self-contained packages that ship all their dependencies in a single container. This neatly solves dependency conflicts. With RPM (or Deb) apps, if one app requires someusefullib-1.0 and another app needs someusefullib-2.0 you have a problem. With Flatpaks, that will never come up because both versions of someusefullib can be installed in each app’s respective sandbox container.
There is a potential way to eat up more disk space with this method. After all, what happens when two apps require the exact same dependency? Installing it twice would be wasteful, but linking the two would ruin the self-contained part of the process. Right now that is a problem for both Flatpak and Ubuntu’s Snap packages, which also work in Fedora 24. For example, the Snap version of LibreOffice is nearly four times the size of the distro package. The same is true of Gimp. This is, as they say, a known issue. Unfortunately, from what I can tell, the solution means bundling fewer dependencies (and relying on the underlying system to provide the non-bundled dependencies), which puts Flatpak/Snap app right back with RPM for Deb packages.
It’s still early days for both technologies, and frankly the increased disk size is the least of Flatpak’s and Snap’s problems. Getting either system installed and working is disappointingly complex and involves adding gpg keys, which is pretty much the usability kiss of death. There is support for Flatpak in GNOME Software, which will solve much of the usability problem, but it was a bit buggy in my experience (in some cases Flatpak apps would not install). Assuming the user experience is improved (which, granted, may be a huge assumption), containerized apps have much to recommend them—it’s sort of like enabling the AUR for every distro.
That’s a big part of the appeal: Flatpaks put the actual app developers in control. There’s no need to restrict your app to using older versions of dependencies that ship with a distro when you can just bundle the latest and greatest as part of your package. In that sense, Flatpaks are most appealing for seldom-updated distros like Debian, but they have much less to offer rolling distros like Arch.
If you want to be cynical, Flatpak and Snaps are just the latest effort in a long line of attempts to create a cross-distro, write-once, run-anywhere system for Linux. Past efforts include systems like AppImage and of course the current hotness driving the development of Flatpaks—Docker and friends. Docker (and similar efforts with smaller publicity departments) has changed the way apps are deployed on servers, but it’s still unclear whether the same sort of system will succeed on the desktop (which is to say, it turns out there are more challenges to overcome on the desktop). To pick one small example: Flatpak apps do not seem to take advantage of the new, improved font rendering in Fedora 24, which leaves them looking out of place in the same way that a Qt app often looks out of place in a GTK-based desktop (or vice versa).
There are also some issues that come with the restricted sandboxing. Flatpak-based apps often have trouble passing data to other applications. The Flatpak version of LibreOffice would not open links in Firefox in my testing, presumably because it’s not allowed to pass data to other apps.
As it stands, I’ve been playing with Snap and Flatpaks, but I can’t recommend them for anyone but the Linux enthusiast who wants to experiment. Setting them up is complicated, and frankly the apps available aren’t apps you really want. Most distros ship with the current stable version of apps like LibreOffice, Inkscape, and Gimp anyway—Fedora 24 does, too—and for now I suggest sticking with those.
The Kernel, Wayland, and Fedora Polish
Fedora 24 will install with kernel 4.5 by default. The aforementioned 4.6 update is, however, available and well worth updating. Several other important low-level tools have been updated with 4.6, including GCC, which moves to version 6, and glibc, which will update to version 2.23.
In addition, the hinting was changed from “medium,” the Fedora 23 default, to “slight.” This change is consistent with the hinting on Ubuntu and other distributions, and it’s generally considered the best default choice.
Fedora 24 continues to improve support for the next-generation display server, Wayland. Wayland is still not the default for Fedora 24, but it worked well enough that I would not be surprised to see it the default option for Fedora 25. Just know there are still some quirks, like the inability to reliably get screenshots working, which is a deal breaker for me.
Fedora has also put considerable effort into polishing up the UI with some new font rendering that looks very good. It’s almost as good as Ubuntu, which has long had the best fonts and default font rendering settings of any Linux distro I’ve tested. Much of the work on fonts in Fedora 24 comes from upstream GNOME developers, who have been improving Cantarell, the default GNOME font. Devs have apparently been pushing to make sure that Cantarell works well on a variety of resolution and screen sizes. Since the improvements are mainly happening at the GNOME level, other distros should benefit from this work as well.
It has always been possible to get great font rendering on nearly any distro using tools like Infinality, which allow fine-grained control over hinting and smoothing, but with Fedora 24 I no longer feel the need to do anything additional to the fonts. They’re quite nice out of the box, especially on a high-resolution display.
It’s worth noting that the font improvements should apply to any Qt apps as well, thanks to the QGnomePlatform. Often because KDE-specific apps use a different toolkit (Qt) than GNOME apps (GTK), they look very out of place in a GNOME environment. The QGnomePlatform is a new project designed to overcome that out-of-place look by synchronizing settings between GNOME and newer Qt tools. That means in Fedora 24, when you change the font settings using something like GNOME Tweak Tool, the change will also apply to Qt-5-based applications. The plan is for QGnomePlatform to expand to include other settings as well, but for now it just applies to fonts, and it just applies to Qt-5 apps, apps using older versions of Qt will not be affected (it also does not seem to work with Flatpak or Snap packages).
Another nice touch in this release is that the DNF package manager is now considered complete. I’ve been very impressed with DNF, especially the little touches that move it beyond most package managers. For example, if you type a command that’s not found, DNF will step in, and, if the application is available in the repos, it will ask if you would like to install it.
It’s a small thing, but as someone who sets up a lot of Linux machines, it’s incredibly helpful. DNF saves not just a small step, but it spares you of the frustration of needing to take that small step. It’s also worth noting that Fedora’s GNOME setup will do something similar when you search for an application that’s not installed, directing you to the Software app to install that application.
Conclusion
Fedora 24 is one of the best Linux distro releases you’re likely to see this year. And there are two other releases that I did not have room to cover in depth here: the Server and Cloud variants of Fedora 24, which pack in a ton of new features specific to those environments. The cloud platform especially continues to churn out the container-related features, with some new tools for OpenShift Origin, Fedora’s Platform-as-a-Service system built around Google’s Kubernetes project. Check out Fedora Magazine’s release announcement for more on everything that’s new in Server and Cloud.
As always, Fedora WorkStation also comes in a variety of “Spins” that are pre-packaged setups for specific use cases. There are prepacked spins of all the major desktops, including Xfce, KDE, MATE, Cinnamon, and LXDE (you can also get alternative desktops in one go by downloading the DVD installer). Spins aren’t just for desktops, though. For example, there’s an astronomy spin, a design suite spin, robotics-focused spin, a security spin, and several more. None of these spins have anything you can’t set up yourself, but if you don’t want to put in the time and effort, Fedora can handle that for you.
If Fedora has a downfall, it’s the release cycle: eight months is not a long time.
Given the hiccups involved in this update, updating again in eight or nine months sounds daunting. There is the rolling version of Fedora (Rawhide), which is not quite as unstable as it once was (thanks to DNF’s default --skip-broken
setting), but it’s still a rougher release than Fedora proper.
In the end, despite how much I enjoyed using Fedora 24 for a couple of months, it hasn’t convinced me to give up Arch. That’s not a totally fair comparison since much of what I like about Arch is that it’s a rolling release, but I would be more inclined to embrace Fedora if it had either a long-term support type of release that would last several years or a rolling release that dealt out updates as they were ready. As it stands, Fedora sits somewhere in the middle and ends up with an often awkward update process happening all too frequently. It’s possible that the new tools in DNF (and GNOME Software) will make things easier on the update front, but for now that’s far from certain.
If you’re OK with the frequency of Fedora updates and want a release-oriented distro, I would not hesitate to recommend Fedora 24. Even with a couple of issues, it’s leaps and bounds beyond anything else I’ve tested this year, including Ubuntu 16.04 and Mint 18. Just make sure you take it for a test drive before you jump in with both feet.