Intel 32bit packages on Ubuntu from 19.10 onwards

Q. What is i386?

“i386” is the architecture name used internally in Ubuntu, Debian and some other Linux distributions to refer to the 32-bit instructions used in many Intel and Intel-compatible CPUs. Typically an i386 installation of any Linux distribution is able to run a kernel, applications and libraries built for that architecture.

Conversely “amd64” is the name commonly used to refer to 64-bit architectures. Note that despite the name, the 64-bit capabilities are available in CPUs manufactured by AMD, Intel and others. Many prefer to use the more generic names “x86” for 32-bit and “x86_64” for 64-bit Intel-compatible CPUs. However in Ubuntu (via Debian) we’re internally using i386 and amd64.

Q. I am an author / publisher / developer of 32-bit only software. How can I build it and distribute for Ubuntu users?

We recommend publishing applications as snaps, which can leverage the “core18” runtime which supports 32-bit via the existing Ubuntu 18.04 archive.

Q. I have 32bit 16.04 LTS / 18.04 LTS installed, what are my upgrade options?

18.04 LTS has Standard Security support until 2023. Extended Security Maintenance runs for a further 5 years until 2028. You can stick with your current installed version until then and still be safe and secure.

This should give plenty of time to migrate away from 32-bit legacy applications before the next LTS which will be available in April 2020, or the following LTS in 2022. Alternatively place the legacy application inside an 18.04 LTS i386 container, on top of a newer 64-bit installation of Ubuntu.

Q. My hardware can’t run a 64bit version of Ubuntu, what are my options?

Hardware which will only run a 32bit operating system is getting pretty rare these days and is unlikely to have enough resources to run the latest release of Ubuntu Desktop. You can still run a supported i386 version of Ubuntu, such as the 18.04 LTS, or the same version of one of the flavours which will be more suited to your hardware.

Alternatively upgrade to a newer computer which has support for 64-bit operating systems. Most desktop / laptop CPUs manufactured in the last 10 years support 64-bit instructions. Both Intel and AMD have product support pages detailing the capabilities of each processor.

Q. What happens if I use a flavour of Ubuntu (Xubuntu / Lubuntu / Kubuntu etc)?

All the official flavours are built from the same common archive of software packages. As the Ubuntu archive drops support for i386, it would not be available to any flavours. If you absolutely need an i386 version then 18.04 LTS is still available.

Q. What happens for derivative distributions such as Linux Mint, Pop_OS and Zorin?

Many other Linux distributions have already moved to 64-bit only. Ubuntu derivatives can continue to build upon the Ubuntu 18.04 archive which provides i386 packages. We anticipate derivative distributions will also stop providing 32-bit installation media in line with other mainstream distributions, and in most cases they already have.

Q. Doesn’t Steam use 32 bit libraries? How can I play my games?

Steam itself bundles a runtime containing necessary 32-bit libraries required to run the Steam client. In addition each game installed via Steam may ship 32-bit libraries they require. We’re in discussions with Valve about the best way to provide support from 19.10 onwards.

It may be possible to run 32 bit only games inside a lxd container running a 32 bit version of 18.04 LTS. You can pass through the graphics card to the container and run your games from that 32bit environment.

Q. How can I run 32-bit Windows applications if 32-bit WINE isn’t available in the archive?

Try 64-bit WINE first. Many applications will “just work”. If not use similar strategies as for 32 bit games. That is use an 18.04 LTS based Virtual Machine or LXD container that has full access to multiarch 32-bit WINE and related libraries.

Q. I have a legacy proprietary 32-bit Linux application on my 64-bit installation. How can I continue running it.

Run an older release of Ubuntu which supports i386, such as 16.04 LTS or, preferably 18.04 LTS in a Virtual Machine or LXD container as above.

Q. Why are you doing this? Why now? This has come out of the blue!

This has been discussed in the past on the ubuntu-devel mailing list and the decision to drop i386 has been going on for over a year. You can read more in this mailing list post which includes links to the previous discussions.

It’s no longer possible to maintain the i386 architecture to the same standard as other Ubuntu supported architectures. There is lack of support in the upstream Linux kernel, toolchains, and web browsers. Latest security features and mitigations are no longer developed in a timely fashion for the 32 bit architecture and only arrive for 64 bit.

Maintaining the i386 archive requires significant developer and QA focus for an increasingly small audience running on what is considered legacy hardware. We cannot confidently publish i386 images any more and so have taken the decision to stop doing it. This will free up some time to focus on amd64. i386 makes up around 1% of the Ubuntu install base.

8 Likes