Canonical, the developer of Ubuntu, has backtracked on an earlier announcement that Ubuntu 19.10 will no longer update 32-bit packages and applications, announcing today that Ubuntu 19.10 and 20.04 will support select 32-bit apps.
The news follows Valve and the developers of Wine, an open source compatibility layer for running Windows apps on other operating systems, saying they would stop supporting Ubuntu completely.
Steam and Wine May Drop Support for Ubuntu
Ubuntu developer Steve Langasek said in a June 18 announcement about Ubuntu 19.10 (Eoan Ermine):
“The Ubuntu engineering team has reviewed the facts before us and concluded that we should not continue tocarry i386 forward as an architecture. Consequently, i386 will not be included as an architecture for the 19.10 release, and we will shortly begin the process of disabling it for the eoan series across Ubuntu infrastructure.”
This caused quite a stir online, especially in the Wine community. Most active applications come with 64-bit versions these days. However, old 32-bit games were abandoned by their developers a long time ago, so they wouldn't work on a 64-bit-only version of Wine.
Steam developer Pierre-Loup Griffais was also unhappy about Canonical’s announcement, tweeting Friday:
"Ubuntu 19.10 and future releases will not be officially supported by Steam or recommended to our users. We will evaluate ways to minimize breakage for existing users, but will also switch our focus to a different distribution, currently TBD."
In response, Canonical said it will work with select developers of 32-bit apps to ensure these apps continue to work on Ubuntu 19.10 and 20.04. However, these apps may only work under more stringent requirements, such as running them in Ubuntu containers, something that may not appease Steam and Wine developers.
Long-term, Canonical still thinks 32-bit apps need to go, since most are not updated and present a security risk.
"There is real risk to anybody who is running a body of software that gets little testing. The facts are that most 32-bit x86 packages are hardly used at all," it said in today's blog post. "That means fewer eyeballs, and more bugs. Software continues to grow in size at the high end, making it very difficult to even build new applications in 32-bit environments. You’ve heard about Spectre and Meltdown – many of the mitigations for those attacks are unavailable to 32-bit systems."
Most Operating Systems Dropping 32-Bit Support
Canonical may be getting some push back, but Ubuntu isn't the only operating system dropping 32-bit support. Virtually all major operating systems have signaled in some fashion that 32-bit support will end in the near future. Apple announced last year that Mojave would be the last macOS edition to support 32-bit applications. The next version of macOS, Catalina, will only support 64-bit apps.
Google has already told developers that starting August 1, they'll need to have 64-bit versions of their apps on the Play Store, otherwise their apps will be rejected. Once everyone has a 64-bit version of their app, it probably won’t be too long before Google also announces the end of 32-bit app support on the Play Store.
The company will also stop serving a 32-bit version of the Android Emulator after June 30. By December 31, Google will stop updating the 32-bit Android Studio 3.6.
As we learned from the Stagefright bug, 32-bit apps can’t be properly secured by the address space layout randomization (ASLR) security feature Most computers have supported 64-bit applications for more than a decade, and mobile devices with 64-bit support are also rapidly replacing the ones that can only run 32-bit apps. It seems like it's only a matter of time until most consumer devices are 64-bit only, so developers will have to get ready for a new 64-bit world.