Based on our commitment to continue to support i386 userspace in Ubuntu, we have assembled a list of packages for which we have been able to determine there is user demand based on the feedback up to this point. The packages listed below are the ones we are committing to carry forward to 20.04 on parity with amd64. (We will also, necessarily, carry forward the various other packages that those in this list depend on or build-depend on.)

Are there other packages not on this list that you need for 32-bit compatibility? Please let us know!

Methodology

We started by collating the list of all binary packages that exist only on i386 and not on amd64 in Ubuntu, then filtered this list to exclude packages that duplicate functionality that is available under a different package name on amd64 systems, or which are specific to hardware which is not 64-bit-capable.

join -j1 -v1 <(sed -n -e’s/^Package: //p’ /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_eoan_binary-i386_Packages | sort -u) <(sed -n -e’s/^Package: //p’ /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_eoan_binary-amd64_Packages | sort -u) | grep -vE ‘^lib64|amd64$|linux-gnu|ia32$|signed-template$|mkl|sse|^strace64$|^xserver-xorg’

This gives us a list of 51 i386-only binary packages, including certain well-known ones such as wine and steam.

We then extended this list with the list of library dependencies of the third-party 32-bit-only programs known to us (unity3d; godot; SDL-based games; printer drivers), and those reported through feedback on this topic, giving us 129 runtime library packages.

List of packages we commit to maintaining

The resulting list of packages that we are committing to keep around through 20.04, as long as these packages also continue to be supported on 64-bit, is:

adlibtracker2

atitvout

carla-bridge-linux32

carla-bridge-win32

carla-bridge-wine32

dgen

digitools

dxvk-wine32-development

etqw

etqw-server

fenix

fenix-plugin-mpeg

fenix-plugins

fenix-plugins-system

fnfx-client

fnfxd

fp-units-i386

fp-units-i386-3.0.4

freeglut3

gatos

gogo

google-android-build-tools-installer

gstreamer1.0-plugins-bad

gstreamer1.0-plugins-base

gstreamer1.0-plugins-good

gstreamer1.0-libav

gstreamer1.0-plugins-ugly

gtk2-engines

gtk2-engines-murrine

gtk2-engines-oxygen

gtk2-engines-pixbuf

gvfs

i965-va-driver

i965-va-driver-shaders

intel-media-va-driver-non-free

ibus-gtk

libacl1

libaio1

libao4

libasound2

libasound2-plugins

libasyncns0

libattr1

libaudio2

libcanberra-gtk-module

libcap2

libcapi20-3

libcggl

libcrystalhd3

libcups2

libcupsimage2

libcurl3-gnutls

libcurl4

libd3dadapter9-mesa

libdbus-glib-1-2

libflac8

libfontconfig1

libfreetype6

libgail-common

libgamemode0

libgatos-dev

libgatos0

libgconf-2-4

libgettextpo0

libglapi-mesa

libgl1-mesa-dri

libgl1-mesa-glx

libgles2-mesa

libglib2.0-0

libglu1-mesa

libgphoto2-6

libgphoto2-port12

libgpm2

libgtk2.0-0

libjpeg62

libmpg123-0

libncurses5

libncursesw5

libnspr4

libnss-mdns

libnss-winbind

libnss3

libnvidia*-418

libodbc1

libogg0

libopenal1

libosmesa6

libpangox-1.0-0

libpulse-mainloop-glib0

libpulse0

libpulsedsp

libqt4-dbus

libqt4-network

libqt4-opengl

libqt4-qt3support

libqt4-script

libqt4-scripttools

libqt4-sql

libqt4-svg

libqt4-test

libqt4-xml

libqt4-xmlpatterns

libqtcore4

libqtgui4

libqtwebkit4

librsvg2-common

libsane

libsane1

libsdl-console

libsdl-gfx1.2-5

libsdl-gst

libsdl-image1.2

libsdl-mixer1.2

libsdl-net1.2

libsdl-ocaml

libsdl-pango1

libsdl-sge

libsdl-sound1.2

libsdl-stretch-0-3

libsdl-ttf2.0-0

libsdl1.2debian

libsdl2-2.0-0

libsdl2-gfx-1.0-0

libsdl2-image-2.0-0

libsdl2-mixer-2.0-0

libsdl2-net-2.0-0

libsdl2-ttf-2.0-0

libsndfile1

libsqlite3-0

libstdc++5

libstdc++6

libtbb2

libtheora0

libv4l-0

libva-glx2

libvorbis0a

libvorbisenc2

libvorbisfile3

libwebp6

libwsbm-dev

libwsbm1

libxcursor1

libxaw7

libxft2

libxi6

libxinerama1

libxml2

libxrandr2

libxrender1

libxslt1.1

libxss1

libxtst6

lmms-vst-server

longrun

lphdisk

mac-fdisk-cross

mesa-vulkan-drivers

odbcinst1debian2

pcsx2

pforth

pixbros

pixfrogger

pmac-fdisk-cross

quake4

quake4-server

s3switch

sb16ctrl-bochs

sl-modem-daemon

smlsharp

speech-dispatcher-ibmtts

steam

steamcmd

va-driver-all

vdpau-driver-all

wine32

wine32-development

wine32-development-preloader

wine32-development-tools

wine32-preloader

wine32-tools

xaw3dg

zlib1g

zsnes

zsnes-dbg

Together with the binary dependencies of all of these packages, this gives us a list of 1568 source packages that we will ensure keep working on i386.

Note that a number of these library packages are deprecated and slated for removal on all architectures before the Ubuntu 20.04 release (in particular qt4), hence the caveat about them being supported on i386 only if they are also supported on amd64.

If you require other binary packages that are not included in this list, please tell us here what they are.