Ubuntu developers have detailed the process by which 32-bit library and app compatibility will be maintained in Ubuntu 19.10 and up.
You may recall that Ubuntu planned to drop the 32-bit archive fully in Ubuntu 19.10 — if you don’t, I didn’t know holidays on the moon were a thing — only to u-turn following user outcry.
The sheer scale of the community reaction to their plans (which had been public knowledge for a while) coupled with Valve disavowing Ubuntu support should things come to pass, quickly induced a rethink.
Well, partial rethink anyway.
The plan isn’t to maintain the entire 32-bit archive as is for 19.10 and on, but instead switch to maintaining the most popular packages, oft-used libraries, and critical dependencies.
“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 [for],” Canonicals Steve Langasek writes in an update to the 32-bit drama on the Ubuntu Discourse.
And it’s the packages Langasek lists that Ubuntu devs will “commit to carry forward to 20.04 on parity with amd64” versions.
To compile a list of “keepers” Ubuntu devs ran this:
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 [command] gives us a list of 52 i386-only binary packages, including certain well-known ones such as wine and steam,” Langasek notes.
A further 43 runtimes and ‘dependencies of the third-party 32-bit-only programs known to us’ were added, resulting in a pretty comprehensive catch-net of compatibility enablers.
And yes, software like
zsnes is among the 199 source packages and dependencies that Ubuntu devs say they’ll maintain in Ubuntu 19.10 and on to 20.04 LTS.
Anything crucial libraries missing off the list can be flagged for inclusion on the forum thread.
Joey, what does this mean?
The “tl;dr” of this announcement is this: the most popular 32-bit Linux apps, drivers, and utilities will continue to work on 64-bit Ubuntu in the same manner they do now.
Steam will support Ubuntu 19.10. Wine apps will work in Ubuntu 19.10. Pretty much anything vital you rely on will continue to work.
Ubuntu is simply relieving itself of the burden of maintaining the oodles of
libfoo32-dev packages that (virtually) no-one uses.
And for those corner cases where the sanctified list doesn’t reach? Well, that’s what Snappy is for!