The Fedora project has released Fedora 25, a major update for the Linux distribution. For the past several releases Fedora has been pursuing what it calls Fedora Next. Essentially Fedora Next took a step back and looked at how Fedora is used and came up with editions specifically tailored to those use cases. The most notable of these are Fedora WorkStation and Fedora Server, which are the desktop/laptop and server versions respectively. Previous Fedora releases also had a "cloud" edition, but that's now been replaced by Fedora Atomic. Fedora Cloud, aside from having a meaningless name, didn't quite pan out. Since "cloud" is just a word for "someone else's server", it doesn't make much sense to release a "cloud" distro. What does make sense is to package up a version of Fedora specifically tailored for running container-based systems that uses a stable base system and the latest and greatest package. Using it is a bit like checking Fedora out from a Git repo. More on that in a minute. Interesting as Fedora Atomic is, much of the headlining news in Fedora 25 is in the WorkStation edition and can be summed up in a single word: Wayland. Yes, after being pushed back from release after release, Fedora 25 defaults to using Wayland (assuming you have a supported graphics card). This is perhaps the biggest change to come in the Linux world since the move to systemd, but unlike systemd 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 problem recommending it. Not only is Fedora 25 a great release, the updated GNOME 3.22 running on top of Wayland is slick and very stable in my testing. ## Wayland, New Kernel, and Updates 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 and, to a lesser degree, 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." [image="fedora25-desktop.jpg" caption="The stock Fedora 25 desktop with GNOME 3.22"] 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. In my experience so far -- 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 also some things to bear in mind about using Wayland with GNOME, more than a few GNOME hacks won't work anymore. For example desktop icons, which aren't really a GNOME 3.x thing, though you could use Gnome Tweak Tools if you can get them, 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. Along with Wayland Fedora 25 brings Linux kernel 4.8.6, which means any lingering [Skylake bugs](https://bugzilla.redhat.com/show_bug.cgi?id=1353103) should be fixed. I tested Fedora 25 on the [Dell XPS 13](http://arstechnica.com/gadgets/2016/06/the-xps-13-de-dell-continues-to-build-a-reliable-linux-lineage/) 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 for me 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) and 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, which helped some. Then the dnf upgrade tools came along in Fedora 24 and now there's a completely graphical upgrade path via GNOME software and perhaps most surprising, it just works. The only caveat I would add is that, like I imagine many Linux users do, I maintain an install of Fedora primarily to get a rough idea of what's coming in future CentOS releases. Which is to say that 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 though. 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. Now that that seems to be changing and updates are smooth (and even have a nice GUI via GNOME Software) Fedora could start to find a wider audience. ## The Little Things Fedora 25 has plenty of other little changes beyond the move to Wayland by default. For example, shocking as it sounds, Fedora 25 ships with MP3 support straight out of the box. Look for a lot of distros to start doing this since in the United States the patents covering the MP3 codecs expired earlier this year.There's no encoding support yet, which could be related to fact that two of the patents are still valid until April of next year, but it's a start. In a bid to make Fedora a bit easier for newcomers to try out, Fedora 25 ships with a revamped Fedora Media Writer in the repos (curiously, it's not installed by default). Media Writer gives you a nice GUI to grab the latest Fedora release (or any of the official spins) and write it to a USB stick. It's a step up from the more simplistic tools in previous versions. I actually tried to use Media Writer back in Fedora 24 and it wrote to the wrong USB stick. Fortunately I didn't have anything of value on that stick and to this day I'm not 100% sure it was Media Writer's fault and not user error, but in either case I was leery of testing it again. This time, to be extra safe I made sure that my thumb drive was the only drive plugged in and it worked as advertised, grabbing the MATE spin and burning it to disk with a mere two clicks. [image="fedora25-live-writer.jpg" caption="Fedora's Media Writer is a very slick and easy way to get a bootable USB stick with Fedora (or any other distro) in couple of clicks."] Fedora used to position itself as the distro for developers. This meant in part that Fedora was looking for users who would contribute back to the community, but it also meant that Fedora shipped the latest stable version of most programming languages and was quick to adopt new ones. This release follows in that tradition; developers can look forward to a version bump for PHP (to version 7.0), Node JS to 6.5, Ruby on Rails 5.0, and new support for the Rust language with a Rust Compiler (Cargo) installed by default. ## GNOME 3.22 GNOME 3.22 arrived a bit ahead of Fedora 25, but Fedora remains the single best showcase for the GNOME desktop and, with Wayland under the hood, this is doubly true for Fedora 25. You'd be hard pressed to find a slicker, more polished looking desktop than GNOME 3.22 running on Wayland in Fedora 25. GNOME 3.20 made Wayland perfectly usable, though the GNOME team reports that 3.22 is "even more polished", with support for display rotation and Wacom tablets, among other things. Perhaps the best news for GNOME fans in this release is that GNOME 3.22 has reached a new development stability plateau. This means, for example, that GNOME shell's extension API is now considered stable, which in turn means that any shell extension you rely on will continue to work as-is when you update. Yes it's come to this: GNOME 3.22's headlining feature is that the tools you rely on to turn GNOME into a workable desktop no longer break with every new release. It's not entirely fair to make fun of GNOME 3's previous ever-shifting updates, it has been a perfectly usable desktop for several year's worth of releases now. Perhaps not a good choice for those who like to configure and tweak every setting, but workable nonetheless. [image="fedora25-software.jpg" caption="GNOME's Software app has seen a slight redesign and now offers a little more info about Flatpak apps. Still odd that it wastes a featured app spotlight on a web browser that's installed by default anyway."] This release also brings improved support for Flatpak apps in GNOME Software. Flatpak apps are designed to improve the software installation process in GNOME and Linux in general by making it easier for developers to package, and users to install, software across distributions. With Flatpaks you don't need to worry about dependency conflicts or even if your distro of choice has the app you want. Flatpaks also offer improved security and stability by sandboxing applications. With GNOME 3.22 you can add Flatpak repos, and then browse and install apps from those repos without ever needing to drop into the command line. The Software app also now shows a bit more information about Flatpak apps -- like source information and the sandboxing status. GNOME's Nautilus File Manager, nee Files, also gets some attention in this release, including a new tool for bulk renaming files. Just select the files you'd like to rename and then you can apply bulk renaming features, like adding a prefix, suffix or even using a completely custom template. [image="fedora25-files-rename.jpg" caption="The new file renaming dialog in GNOME 3.22 Files app (right click a selection or press F2)."] There's also 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. [image="fedora25-files-compress.jpg" caption="Creating archives via the new compress feature in Files. Just right-click your selected files and chose 'compress'."] Also 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 and means that 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](https://spins.fedoraproject.org/) 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. So 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 one 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, 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 and 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. That said, Wayland is new and there are bugs out there in addition to the less-than-complete application support mentioned here. 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 so do proceed with caution. I strongly recommend researching your specific hardware to see what other people have experienced. The only remaining problem I have with Fedora is the release cycle, however, with the upgrade situation much better than it used to be, hopefully upgrading won't be the pain it once was in Fedora land. In general though, I have no qualms recommending both Fedora and Wayland, provided you have the hardware that works with the latter.