Following Canonical’s pivot away from its internally-developed Unity user interface and Mir display server, Ubuntu has enjoyed two relatively low-drama years, as the Linux Desktop market homogenized during its transition back to a customized GNOME desktop. In a review of the most recent release, TechRepublic’s Jack Wallen declared that “Ubuntu 19.04 should seriously impress anyone looking for a fast and reliable Linux desktop platform.”
Largely, it’s been a slow-and-steady pace for Ubuntu since the pivot from Unity to GNOME, though the distribution made headlines for plans to end support for 32-bit support. This prompted Valve, operators of games marketplace Steam, to re-think its approach toward Ubuntu, which it previously characterized as “as the best-supported path for desktop users.”
TechRepublic’s James Sanders interviewed Will Cooke, director of engineering for Ubuntu Desktop at Canonical, about the distribution’s long-term plans for legacy 32-bit support, shipping a desktop in a post-Unity-era Ubuntu, and why Linux should be the first choice for users migrating from Windows 7 prior to the end of support.
(This interview was lightly edited for clarity.)
How support for 32-bit programs will be handled in Ubuntu
In June, Canonical announced plans to stop providing new 32-bit x86 packages starting with Ubuntu 19.10, sparking a firestorm of controversy among users of WINE and the Steam games platform, among others. Following public outcry, the company announced that a subset of 32-bit x86 packages will be maintained to support legacy software.
For comparison, the first x86-64 processors will be 16 years old when Ubuntu 19.10 is released. Fedora is likely to drop the 32-bit kernel with the release of Fedora 31, though continue to provide packages for application compatibility. MacOS 10.15 (Catalina), expected this fall, is dropping support for 32-bit applications outright. Eventually, the amount of engineering time needed to protract legacy support will approaching the negative end of a cost-benefit analysis, making this a difficult decision for Linux distribution maintainers.
SEE: How to choose between Windows, macOS, and Linux (free PDF) (TechRepublic)
TechRepublic: Canonical—like any other company—has constraints on resources. You have to budget your development time. What’s the decision-making process like for balancing legacy compatibility with maintainability over the lifespan of a release?
Will Cooke: The decision-making process is the same as any other decision-making process in Ubuntu. It’s led by engineers who are doing the work, and have to keep this thing going.
Generally speaking, Ubuntu is a community project. It happens that Canonical is the commercial entity behind it, and we put the vast majority of the manpower behind it. But, we are built of a community of people who happen to work for Canonical, and people who don’t work for Canonical but are still very interested in shaping the Ubuntu product.
We congregate in mailing lists, on IRC, and increasingly now on more modern communications schemes like Discourse, for example. And that’s where we raised these ideas. People are free to come along with their ideas, speak to other engineers about those ideas, and then discuss it, engineer to engineer. If a decision is reached, then move ahead with that plan.
In the case of the 32-bit stuff, this is something that we’ve been talking about for a long, long time. We started gathering some more information about hardware with a bunch of reports in [Ubuntu] 18.04 and that told us very clearly that—statistically—nobody is running 32-bit anymore.
So the conversation was, we could save a significant amount of time and energy if we were to not do this anymore… we had a few discussions around it, but there were no objections raised.
And so that’s what happened… we made the announcement and lots of people said, “I’ve got my specific use case—be that gaming, or legacy applications, or printer drivers—what can we do about that?”
We foresaw some of these problems. The solution we had was around containerization, or packaging things as Snaps, and that—technically speaking—would have been, and still is, a very viable option. People have, for example, Steam running in that container, and they can run their games just fine. The feedback we heard from the community was that this container system is not what they wanted. So it was relatively easy for us to change our plans there, so that’s what we’ve done.
We’ve committed to maintain those 32-bit libraries, so that people don’t have to concern themselves with containerizing their apps, or finding 64-bit equivalents. So, 32-bit will continue to work, and we will speak again about it in probably a couple of years.
By then, the state of containerization will have moved on, and the plan will be—if we do go down the containerization route—then it will be entirely transparent to the user, and everything will still work. We’ve got some really good feedback from people about things that are important to them—Steam, legacy games, legacy software—we know the sorts of things that people are using 32-bit for now, and we can make sure that we focus our efforts on a really solid solution for those use cases.
TR: How different, in engineering terms, is maintaining the plumbing to compile a subset of 32-bit packages to maintain compatibility, as opposed to packaging 32-bit binaries from Ubuntu 18.04 in Snap, for software compatibility?
Cooke: Generally speaking, there’s not a whole lot of difference. Either we build those 32-bit libraries, or we don’t. They’re already built on 64-bit hardware and compiled in 32-bit mode, so we don’t have to maintain extra hardware going forward.
The problem with 32-bit is that a lot of important security fixes… are only available for 64-bit software. It’s not really about how technically difficult it is, it’s that the 32-bit software doesn’t get the same exposure. Nobody—statistically speaking—is running it, and a lot of the security fixes simply don’t exist for those architectures. So, it’s not that it’s necessarily more complex or more difficult. It’s that the quality is not there and can’t be there.
Keeping Ubuntu’s identity while shipping the GNOME desktop
TR: Ubuntu is just over two years into its transition away from the Unity desktop environment to GNOME 3. How has that transition worked, in terms of balancing GNOME 3’s design choices with your requirements for Ubuntu with things like keeping desktop icons?
Cooke: It’s been pretty straight forward. We work with GNOME, we have people who are GNOME members who work in the GNOME community. We have a good relationship with decision makers and with engineers in GNOME.
Of course, sometimes we have differences of opinion about the way that we think things should work. We’re a distribution and we distribute GNOME. But we also are Ubuntu, we’re a recognized brand. We want to… ensure that what we provide our users is what they want.
When we did the switch to GNOME Shell from Unity, we did a survey [asking] people straightforward questions like, “What sort of features do you want to see continue in Ubuntu Desktop?” The answer came through very, very clearly that people liked having the launcher on the left, and they wanted to keep that feature there. They liked having desktop icons and they wanted to keep that feature there.
We’ve made decisions based on data from our user base, from our community. They have provided that feedback and we’ve done what the majority of people want.
Sometimes that doesn’t go with the ideals of GNOME design, but we’re comfortable with delivering what we see as value on top of GNOME. That’s delivering a product which gives people consistency between the old days of Unity 7, and the new days of GNOME Shell. That transition was as easy as possible, everybody had a chance to have a say in it, and the answers were pretty clear.
What the future holds for the Linux desktop
The first stable release of GTK4 is anticipated later this year. Naturally, future versions of the GTK-powered GNOME desktop environment will utilize this major version update. Concurrently, low-level changes are coming for multimedia handling, while Wayland is primed to replace X11 across major distributions—including Ubuntu. When fully realized, these changes will make for rich media applications more performant.
TR: What’s the biggest thing you’re looking forward to in GTK4, and how will that impact Ubuntu on the Desktop?
Cooke: There’s a lot of lower-level architecture changes going on, and there are things like PipeWire being developed which will give us the next generation of audio routing, which will be very exciting. I think this will give us options for professional audio production, low-latency audio, all sorts of clever routing of audio devices and handling of audio devices. When things like PulseAudio were originally designed, [these] were never foreseen. Having that sort of architectural low-level rework of significant pieces of the desktop stack is very important and it’s going to be really cool.
The other thing that I’m really looking forward to is the potential change in architecture such that, when the shell itself crashes, it won’t take your entire session down with it. This was a big sticking point for us, in the move to Wayland… we took the decision that we weren’t going to risk having users lose work in that way, especially when they’ve been used to, for example, Unity 7 crashing, and then coming back with all of your applications still loaded. We wanted to maintain that feature, if you like. We fixed a lot of those bugs upstream and… generally speaking the Wayland session is extremely stable now.
We are looking forward to being able to move over to Wayland as soon as we can, and I think that [the release of] GNOME 4 could be the right time to do that.
TR: What release of Ubuntu would you forecast shipping Wayland as the default?
Cooke: I can tell you it won’t be for 20.04. We’re too close to the release now. We’re only one cycle away from the release. The cycle before the LTS release is a final fit-and-finish. We should be going into that cycle, which starts in October this year, with these decisions already made. So we haven’t got time, in six months, to debug and fully test a change to the display server.
In order to try and get it in for the next LTS—Ubuntu 22.04—we will be moving pretty quickly to get Wayland as the default again and shake the rest of the bugs out. So I think we’ll see it move in 20.10, and then we’ll have to see how that goes, and then we’ll make a decision from there.
Why Linux is compelling for users switching from Windows 7
Support for Windows 7 is coming to an end in just half a year, though Windows 7 still holds a 36% market share. Considering the relatively high price tag associated with Microsoft’s extended support subscriptions for Windows 7, many organizations—including potentially the South Korean government—are turning toward Linux in an effort to prolong the lifespan of relatively modern hardware.
TR: What would you want people with not particularly old hardware who are looking at migrating away from Windows 7 to know about Ubuntu?
Cooke: I would be interested to learn what it is that they’re doing with their computer, because I would hazard a guess that the majority of them are web browsing.
If that is where you spend 90% of your computer time, is in front of a web browser using… Gmail or Office 365, those sorts of products, then you need to know that Linux is there for you and will allow you to do exactly the same stuff that you’re doing in your web browser. You won’t be plagued with continual updates and you will be protected from web-based vulnerabilities on Windows.
So, you need to know that Linux is a secure place, that you can get your work done in just the same way that you’re currently doing it. But with all of the added protection that comes from having Linux.
TR: Over the last five years, what is the biggest innovation that eased a pain point for using Linux on the desktop?
Cooke: There’s millions of things, really. I don’t think I could put my finger on a single one.
I think the summary would be that you don’t have to drop down into a text editor and fiddle with config files anymore. The auto-detection that happens in Linux now—it could be from USB devices being hotplugged, it could be external monitors, it could be all of the hardware, the sound card, the network card, all of that stuff that’s inside the computer. All of that now gets detected automatically.
Whereas, five years ago—maybe a little bit more than five years ago—you would have a relatively new piece of hardware, and then you’d have to be compiling kernel drivers yourself, or editing code to try and work around bugs in things that didn’t quite work yet.
So that maturity, and the fact that Linux is now taken so seriously by the likes of Intel—which means that drivers come along very, very early in the development process for that hardware—means that the overall desktop experience these days is painless by comparison. Things do just work these days.
Then you couple that with the likes of Skype, Spotify, and Google with Chrome, for example, who have been bringing these very critical applications. Critical because that’s what users want.
So you combine those two things, and you’ve got a very powerful story—not only will you be able to install Linux onto your hardware and there’s a very good chance that everything will just work, but when you do install it and it just works, you’re able to use the applications that you’ve come to rely on in your day-to-day life.
For more, check out “Mark Shuttleworth sees increased demand for enterprise Ubuntu Linux desktop” and “Dell releases more high-end Ubuntu Linux laptops” at ZDNet, as well as “Lenovo shipping Ubuntu Linux on 2019 ThinkPad P-series models” and “Open source project aims to make Ubuntu usable on Arm-powered Windows laptops” on TechRepublic.