Leaves are turning. Temperatures have dipped. These are sure signs—if you live in the Northern Hemisphere, at least—that Canonical's Autumn release is upon us. Things are a bit different in 2019, however. Not only is Ubuntu 19.10 nicknamed Eoan Ermine (no, I don't know how you pronounce it either), but it's the best non-LTS Ubuntu release Canonical has ever put out.

I should qualify that statement somewhat, because really, as the newest version, it had damn well better be the best Ubuntu ever. But there's more than recency bias behind the sentiment. I've been reviewing Ubuntu for 10 years now, and I was using and interacting with this distro in some form or another for another three or four years before that. After spending recent weeks with Ubuntu 19.10, I can say confidently it is quite simply the best Ubuntu Canonical has ever released.

The first reason I like 19.10 so much is that it feels insanely fast. Everyday tasks like opening applications, dragging windows, activating the search interface, and even just moving the cursor around are all noticeably faster than in 19.04. The speed boost is immediately noticeable from the minute you pop in the live CD, and it's even faster once you have 19.10 installed.

I happened to be testing a top-of-the-line MacBook around the time I first installed the 19.10 beta on my aging Lenovo x240, and it instantly made the Mac feel like a sloth. Ubuntu 19.10 ran circles around the Mac even on much, much less powerful hardware, and nothing says success during testing like software that makes old hardware feel newer. Even if that were all you got out of Ubuntu 19.10, I'd call it a win.

But as is typical of Ubuntu's October release, a number of new features that are not quite ready for prime time yet show considerable promise—those features include support for the ZFS file system. While still clearly labelled "experimental" (in all caps even), I have not had problems running 19.10 on a root partition formatted with ZFS. That's not to say that you should go try it—it is EXPERIMENTAL, after all—but it appears that what's really lacking are tools for managing and working with ZFS. Using ZFS enables some powerful backup and replication possibilities, but the tools for working with ZFS in Ubuntu remain somewhat limited for now.

But talk of the extra features can wait. Ubuntu 19.10 is so fast, it's worth digging deeper into the speed improvements and what's going on under the hood.

Enlarge / The default GNOME desktop in Ubuntu 19.10.Canonical / Linux

Like GNOME, but fast

Most improvements in 19.10 can be attributed to the latest release of GNOME 3.34, the default desktop for Ubuntu. However, GNOME 3.34 is faster largely because of work Canonical engineers put in. (As an aside, I think the current state of GNOME and the work Canonical has done to make it better are the best argument around for why Canonical made the right call when it shut down Unity.)

If you'd like to understand the finer details of what Canonical did to improve GNOME and how it did it, there's a post over on the Ubuntu Discourse board that goes into considerable detail. The biggest takeaway is that Canonical's engineers looked not for the typical "hot spots," places RAM or CPU usage spiked, but what it calls "cold spots." It wanted to find places where GNOME "was idle instead of updating the screen smoothly."

Canonical developers identified a bunch of places where this was happening. The three that jumped out at me are improvements to how Mutter refreshes, changes that transferred some work from the GPU back to the CPU, and a fix to frame lagging in Xorg. The latter is interesting because one of the things that I noticed in this release is that GNOME under Wayland did not feel dramatically faster than under Xorg the way it did for me in 19.04. I quickly lost my Wayland envy with the speed improvements in this release.

Canonical's write-up of the work done to improve GNOME is also interesting for the long list of what didn't work and how wrong some of the developers' initial assumptions were—especially regarding GNOME's use of JavaScript. It turns out JavaScript had next to no effect on performance. So sorry JavaScript haters, but "assuming that JavaScript is slower than everything else written in C" is evidently a bad assumption.

Canonical is not done improving GNOME. The project's goal for the next release is better performance on faster, modern hardware. Then in 20.10, it wants to improve performance on older, slower machines. As Canonical's Daniel Van Vugt puts it, "the future of Gnome Shell is bright and worth getting excited about."

But let's not get too far ahead of ourselves, because even the present is pretty bright. As primarily an i3 user, I still find GNOME Shell overkill, but in 19.10 it's fast enough that I no longer rush to uninstall it.

Listing image by Canonical / Linux

Beyond GNOME, this release sees some tweaks to Ubuntu's default "Yaru" themes. Yaru is a mix of light and dark elements, though as of 19.10 it's leaning more toward the light end of the theme spectrum. Personally I rather like the new default look. Ubuntu's mix of light and dark elements is well thought out. Updates in this release include making notifications, menus, and dialogs all share the same light skin, while the top GNOME Shell panel remains dark.

The new lighter look for Ubuntu's Yaro theme in 19.10 (this is a composite screenshot).
Enlarge / The new lighter look for Ubuntu's Yaro theme in 19.10 (this is a composite screenshot).Canonical / Linux

If the changes aren't to your liking, though, both a full light theme and a full dark theme are included as well. However, to change themes you'll need to install GNOME Tweak.

As detailed above, the big news in GNOME 3.34 is the speed boost, but it also has a handful of new features worth noting. Two of the best new features are in the main search view and in the application overview section. Here you can now group applications into folders, making it easier to organize and find frequently used apps. Creating a folder works just like it does on mobile OSes—drag one app icon onto another and a folder will automatically be created.

Creating folders in GNOME 3.34.
Enlarge / Creating folders in GNOME 3.34.Canonical / Linux

In a related feature, you can now order the types of results shown in GNOME's global search feature. To do so, head to the Search panel in settings where you can now, in addition to turning items on and off, drag and drop to reorder them. For example, if you want files to always be the first results that show, just drag the files option to the top of the settings list.

ZFS and the kernel

The Ubuntu 19.10 installer includes an option to format the root drive using the Z file system, better known as ZFS. Again, this support is labelled "experimental" (ALL CAPS), and it bears heeding this warning. Do not format your root disk to ZFS on production hardware. I went ahead and formatted a root drive with ZFS on a machine I have to return anyway, and I have had no problems as of this writing (which, frankly, is amazing). But if Canonical changes some implementation detail between now and whenever ZFS support is declared stable, that data could be lost. So to say it once more: don't use it now. Long-term, having kernel-level support for ZFS is a huge deal, not the least because Canonical thinks the license allows for it.

Ubuntu has been working on ZFS support for quite a few years now. It started with file-based ZFS in 15.10, which drew on the work of the ZFS On Linux project. Later, that support was extended to ZFS for containers in Ubuntu 16.10. Having used ZFS for my LXC containers for nearly a year now with no problems, I can say that Canonical's handling of the ZFS implementation details makes using ZFS with LXC/LXD no different from using any other file system.

Fedora and other distros also have good support for ZFS, but most distros have thus far not included kernel level support. One reason may be that ZFS is licensed under the Common Development and Distribution License, which some claim is incompatible with the GNU General Public License. Canonical and others have disagreed, but Canonical is one of the first to actually ship with ZFS in the kernel. Ubuntu 19.10 adds support for ZFS as the root file system, and the release offers tools to create and partition a ZFS file system layout directly from the installer.

If you're not familiar with ZFS, you may be wondering why you should care. It's possible you shouldn't. There's nothing wrong with ext4, the default file system used by Ubuntu (and nearly every other distro). ZFS, however, enables some powerful tools that you wouldn't have access to otherwise, including pooled storage, disk snapshots, data integrity verification, and a good bit more. A full background on ZFS is beyond the scope of an Ubuntu update review, but for those of us using Ubuntu as a workstation, the two biggest wins ZFS offers are probably pooled storage and disk snapshots.

Because ZFS acts as both a file system and volume manager, it can create a file system that spans multiple hard drives (this is a "pool" in ZFS parlance). How many disks can you pool? Fun fact, Oracle has done the math, and fully populating a 128-bit ZFS storage pool would require more energy than boiling the oceans. Which is to say, ZFS has large datasets covered.

You need <i>how much </i>energy to fully populate a 128-bit ZFS storage pool?.
Enlarge / You need how much energy to fully populate a 128-bit ZFS storage pool?.Thomas Steuer, Alfred Wegener Institute

The disk snapshots feature is more useful on your root partition. Imagine for a moment you have root formatted to ZFS and snapshots enabled. You install an update that breaks some piece of software you rely on. No problem, you can just roll back the file system to a prior state, effectively wiping the update. This is where Ubuntu is headed, but it's not there yet. Getting ZFS on the root file system is easy (though, say it with me… EXPERIMENTAL), but there aren't really any tools yet to manage and take advantage of ZFS's features. If, however, Canonical can bundle a nice GUI for interacting with and managing ZFS, it's going to have an edge over the competition, especially in the enterRead More – Source