Fedora 25: With Wayland, Linux has never been easier (or more handsome)

This article was published in Ars Technica, you can view the original there, complete with graphics, comments and other fun stuff.

For the past several releases, the Fedora Project has been pursuing what it calls Fedora Next. Essentially, Fedora Next took a step back and looked at how the distro is used and came up with editions specifically tailored to those use cases. The most notable of these are Fedora WorkStation and Fedora Server (the desktop/laptop and server versions respectively).

Previous Fedora releases also had a “cloud” edition, but with the latest release—Fedora 25, a major update for this Linux distribution—that’s been replaced by Fedora Atomic. Fedora Cloud, aside from having a meaningless name, didn’t quite pan out. “Cloud” is just a word for “someone else’s server,” so it doesn’t make much sense for Fedora to release a “cloud” distro.

But as interesting as Fedora Atomic is, many of the highlights for Fedora 25 come from the WorkStation edition. And they can be summed up in a single word: Wayland.

Yes, after being pushed back from release after release, Fedora 25 finally defaults to using the Wayland graphics stack (assuming you have a supported graphics card). This is perhaps the biggest change to come in the Linux world since the move to systemd. However, unlike that systemd transition, the switch to Wayland was so seamless I had to logout and double check that I was in fact using Wayland.

I called Fedora 24, released earlier this year, “the year’s best Linux distro” but one that I would have a hard time recommending thanks to some ugly kernel-related bugs. Well, Fedora 25 is here with an updated kernel, the bugs appear to be gone, and I have no reservations about recommending it. Not only is Fedora 25 a great release, the updated GNOME 3.22 running on top of Wayland appears to be slick and very stable.

Wayland: The gripes first

The biggest change in this release is undoubtedly the move to Wayland as the default, erm protocol, replacing the venerable X Server. Wayland’s goal is to be easier to develop and maintain. To a lesser degree, it also aims to get rid of the X’s confusing clutter of accumulated bits that have been bolted on over the years.

Wayland is not, strictly speaking, a display server like X. Wayland is a protocol for a compositor to talk through. To make things more confusing the compositor can be a Wayland client itself. It could also be an X application, some input device or a standalone display server. Wayland doesn’t actually do much and that’s by design. As the Wayland FAQ puts it, “the compositor sends input events to the clients. The clients render locally and then communicate video memory buffers and information about updates to those buffers back to the compositor.”

What’s perhaps most remarkable for a change that’s so low-level, and in fact one that’s taking a lot of X functionality and moving lower down into the stack, is how unlikely you are to notice it. During testing so far (encompassing about two weeks of use as I write this), the transition to Wayland has been totally transparent. Even better, GNOME 3.22 feels considerably smoother with Wayland. It’s difficult to describe without seeing it, but little moments of tearing that used to happen under X are gone and common tasks like dragging windows are much smoother.

To be clear there are still plenty of things that don’t work with Wayland. In fact there likely will always be legacy system elements that don’t know what to make of Wayland and will never be updated. For that situation there’s XWayland, which is a plugin for Wayland compositors that runs a real X server inside Wayland. XWayland is a big part of why you’re unlikely to notice the move to Wayland.

There are some things to bear in mind about using Wayland with GNOME, especially since more than a few GNOME hacks won’t work anymore. For example, take desktop icons. These aren’t really a GNOME 3.x thing, though you could use Gnome Tweak Tools if you can get them, but they are not supported in Wayland and never will be. I’ve also been unable to find a clipboard manager that works properly under Wayland.

The other problem I’ve run into is that neither of the tint-shifting applications I use work with Wayland. Neither f.lux nor redshift do anything when running under Wayland. Judging by posts from around the Web, video playback is sometimes an issue too, though I have not actually experienced this problem. In terms of hardware support and Wayland, I would definitely suggest sticking with kernel 4.8.x or newer, which is exactly what Fedora 25 ships with.

The other major gripe I have with Wayland is that it doesn’t appear to support fractional scaling for HiDPI screens. It works great at 2X, which covers most screens, but there are those where 1X is too small, but 2X is too much. If you have a screen that works best at 1.5X, you might want to stick with X for now.

Those are, however, relatively minor issues. The biggest caveat to all the good news in Wayland is that Nvidia’s proprietary driver does not support Wayland. The open source Nouveau drivers do, but those drivers can be a noticeable step down depending on your system and what you’re trying to do. In my experience, the Nouveau drivers are also a little buggy, though to be clear I haven’t tested them with Wayland.

A new kernel

Along with Wayland, Fedora 25 brings Linux kernel 4.8.6, which means any lingering Skylake bugs should be fixed. I tested Fedora 25 on the Dell XPS 13 I reviewed earlier for Ars and found Fedora 25 worked flawlessly.

I should also note that for the first time, I was able to update from Fedora 24 to 25 using the GNOME Software system upgrade tool without any issues at all. That’s a first in over ten years of using Fedora (to be fair most of that time I didn’t even try because it was flat out hopeless).

This goes a long way to making Fedora a distro that’s friendly to less sophisticated users. In the past, updating Fedora meant you’d need a few days to troubleshoot all the things that broke. It was a pain point that the project has been aware of and working on for some time. The nicely named FedUp tool arrived around Fedora 23, and it helped some. Then the dnf upgrade tools came along in Fedora 24, and now there’s a completely graphical upgrade path via GNOME software. Shockingly, it just works.

The only caveat I would add is that, I maintain an install of Fedora primarily to get a rough idea of what’s coming in future CentOS releases (I imagine many Linux users do this, too). So while Fedora gets a partition on my drive, I have not heavily customized it and don’t have a ton of RPM Fusion repos installed, which could make for more problematic updates. Still, judging by comments sections, forums, and posts around the Web, my experience is not uncommon for the move from Fedora 24 to Fedora 25. That’s not to say you’re guaranteed a smooth upgrade, however. The real problem for most people seems to be with conflicting dependencies, often related to packages installed via RPM Fusion or other less-than-official repositories.

My long standing criticism of Fedora is that major updates come too frequently for how terrible the updating process has been historically. With Fedora 25, updates are smooth and even have a nice GUI via GNOME Software. So with this precedent seemingly changing, Fedora could start to find a wider audience going forward.

There’s a new integrated file compression utility that means you can now double click a .zip file and it just extracts the contents to a folder without opening File Roller. That should make working with compressed files much more familiar for mac and windows users making the switch to GNOME.

One last thing worth mentioning: GNOME Maps has been fixed and now uses Mapbox map tiles.

Fedora Spins

While GNOME has long been Fedora’s flagship desktop (and Fedora serves as GNOME’s showcase distro), it’s far from the only option. The Fedora installer offers up all the usual suspects like KDE, XFCE, Cinnamon, and more. There are also tailored spins for most of the major desktops.

The notable Spin for Fedora 25 is the MATE Compiz Spin, which bundles MATE Desktop with Compiz Fusion and brings a lot more GTK+ 3 to MATE in this release. That makes for an overall more polished MATE. So if you’ve ever had problems getting MATE to look good on HiDPI screens, you might want to try again because MATE 1.16 works quite well.

Other spins like KDE, XFCE, and Cinnamon have significant upgrades with Fedora 25. The Fedora Spins site has full details and release notes for each.

Fedora Next next

Not to be confused with Spins, Fedora Next, Fedora’s reorganization that began several releases ago, consists of three “editions.” As mentioned above, Fedora has rearranged the components of Fedora Next. Fedora Cloud has taken a backseat in the Fedora Next roster; Fedora Atomic edition is the replacement. The Cloud Base image continues to be available for those who’d like to build on a more traditional rpm-based foundation, but the future is looking like Atomic.

Unless you’ve been living under a rock, you know the new hotness in Linux server deployment is containers, and containerization is the whole point of Atomic.

Fedora Atomic takes the Fedora 25 base and functions a bit like Git—you check out a particular point and that’s your OS. Updates come every two weeks, which makes it sort of a rolling distro with snapshots (major releases come every six months). Fedora also notes that Atomic can be run as a desktop if you’d like something lightweight and highly reconfigurable, or presumably, if your love of containers runs that deep.

To go along with Fedora Atomic’s move into the limelight, the Fedora Project has been hard at work on the other end of the container equation with expanded Docker support and a very cool looking tool that simplifies the process of building out images from the base using RPM-like tools. With this, the workflow becomes Fedora Atomic for your base, checked out identically across all your machines, and then the expanded docker support gets your containerized apps installed and running.

The other major edition in the Fedora Next triumvirate, Fedora Server, does not have a ton of new stuff in this release. For that you’ll have to wait for Fedora 26, which will be an experimental release that ships with a lot more apps already in containers.

There is another thing worth mentioning here though, namely the new SELinux management tool that’s part of the updated Fedora Cockpit suite of server management tools. The SELinux Troubleshooter module is, frankly, the first thing I’ve ever used that didn’t leaving me bashing my head into my keyboard after five minutes of working with SELinux. The standout feature is simple: when SELinux encounters a denial, Cockpit lets you know.

The SELinux Troubleshooter does take a lot of sysadmin voodoo out of SELinux though, so even I can sort of figure it out now. If your job depends on the befuddlement mere mortals get when trying to use SELinux, don’t update Cockpit to Fedora 25.

Conclusion

Fedora 24 was very close to my favorite distro of the year, but with Fedora 25 I think it’s safe to say that the Fedora Project has finally nailed it. I still run a very minimal Arch install (with Openbox) on my main machine, but everywhere else—family and friends who want to upgrade, clients looking for a stable system and so on—I’ve been recommending Fedora 25.

Best does not mean perfect, though. Wayland is new and there are bugs out there in addition to the less-than-complete application support mentioned above. Just because I haven’t run into any show stopping bugs in my month or so of testing doesn’t mean they aren’t there. As always with fresh Linux updates, do proceed with caution. I strongly recommend researching your specific hardware to see what other people have experienced.

Given the fixes implemented within Fedora 25, the only remaining problem I have with Fedora is the release cycle. And even on this front, the upgrade situation has been quite remedied. Things are much better than they used to be, so hopefully future upgrading won’t be the pain it once was in Fedora land.

So provided you have the hardware that works with the latter, I have no qualms recommending both Fedora and Wayland. The best Linux distro of 2016 simply arrived at the last moment.