Ubuntu 19.10 is scheduled for release in October, though controversy is already brewing following Canonical’s abjectly poorly-communicated plans to stop providing new 32-bit x86 (i386) packages in new Ubuntu releases. This move will prevent users from installing Ubuntu on older computers, and using certain applications only provided in 32-bit versions.

In fairness to Canonical, the first x86-64 processors will be 16 years old when Ubuntu 19.10 is released, and this is a reckoning that other Linux distributions—as well as Windows and Mac OS—will eventually face, as the amount of engineering time needed to protract legacy platform support is approaching the negative end of a cost-benefit analysis.

The rationale behind dropping 32-bit x86 packages

The next long-term support (LTS) version of Ubuntu is 20.04, while the support window for Ubuntu 19.10 is only nine months. LTS releases are freely supported by Canonical for five years, with an additional five years available as a paid support option for enterprises. Maintaining support for 32-bit x86 packages in Ubuntu 20.04 would, therefore, put Canonical in the position of supporting x86 packages until 2030.

SEE: Secure your data with two-factor authentication (free PDF) (TechRepublic)

After initially floating the idea last year, emphasising that “It’s not very compelling to say that Canonical should continue bearing these costs out of pocket on the grounds that some other companies are unwilling to update their software to an ISA from this millennium,” Ubuntu developer Steve Langasek announced last week that “the Ubuntu engineering team has reviewed the facts before us and concluded that we should not continue to carry i386 forward as an architecture. Consequently, i386 will not be included as an architecture for the 19.10 release,” adding that “there are a number of ways that 32-bit applications can continue to be made available to users of later Ubuntu releases.”

These options include using a chroot or container containing the 32-bit Ubuntu 18.04 LTS packages—which will continue to be supported until 2023—on top of newer releases of Ubuntu, or redistributing 32-bit applications as Snaps with 18.04-derived libraries.

Naturally, the 32-bit Ubuntu 18.04 LTS version itself will also be supported until 2023, for direct installation.

Canonical’s communication difficulties complicated the situation

Parallel to Langasek’s post, an Ubuntu Discourse thread was opened to address the situation, which notes (correctly) that “Hardware which will only run a 32-bit operating system is getting pretty rare these days and is unlikely to have enough resources to run the latest release of Ubuntu Desktop,” and that “Most desktop / laptop CPUs manufactured in the last 10 years support 64-bit instructions.”

Despite that, there has been controversy about this move, which would affect Ubuntu derivatives such as Linux Mint, and Pop!_OS, with Langasek posting on Saturday:

I’m sorry that we’ve given anyone the impression that we are “dropping support for i386 applications”. That’s simply not the case. What we are dropping is updates to the i386 libraries, which will be frozen at the 18.04 LTS versions. But there is every intention to ensure that there is a clear story for how i386 applications (including games) can be run on versions of Ubuntu later than 19.10.

Who this decision practically affects

In the Ubuntu Discourse thread, Ubuntu developer Will Cooke notes that “386 makes up around 1% of the Ubuntu install base,” though the potential impact for that is quite a lot larger—drivers for older printers, as well as many games, and applications run using WINE, require 32-bit packages.

The proposed workarounds—which are essentially shims to make multilib work across two versions of Ubuntu—are expected to work, but are perhaps not the most elegant-looking solutions. (The infrastructure needed for this, likewise, needs some attention, which is apparently forthcoming.)

Shimming in binary support for a printer driver is a simpler task than support for games, or Windows programs running in WINE, many of which are closed-source, 32-bit binaries. While WINE64 is an option, some 64-bit Windows applications ignore best practices, shipping with 32-bit installers.

Likewise, some Linux games provided on Steam are distributed only as 32-bit binaries, while Steam’s Proton compatibility layer (which is a derivative of WINE) used to run Windows games on Linux is similarly troubled, with Valve employee Pierre-Loup Griffais tweeting intent to focus on a different distribution:

posted a statement indicating that “..we will change our plan and build selected 32-bit i386 packages for Ubuntu 19.10 and 20.04 LTS. We will put in place a community process to determine which 32-bit packages are needed to support legacy software, and can add to that list post-release if we miss something that is needed.”

For comparison, MacOS 10.15 (Catalina) is dropping support for 32-bit applications, after warnings were introduced in version 10.13.4, released in March 2018, when 32-bit applications are run. This prompted Aspyr, a company that ports games to Mac, to stop selling 32-bit only games last week.

For more, check out “Lenovo shipping Ubuntu Linux on 2019 ThinkPad P-series models” and “Fedora 30 brings immense quality of life improvements to Linux on the desktop” on TechRepublic.

The default Ubuntu desktop is as elegant as it is simple to use.