Ubuntu bows to Steam and Wine pressure: Will keep supporting "key" 32-bit libraries one more version
The Canonical corporation did not take Steam's decision to abandon ship and Fedora's invitation to partner with Valve and make Fedora the recommended Steam platform lightly. Canonical has now promised to keep "selected" 32-bit libraries available in the upcoming Ubuntu 19.10 and 20.04 LTS versions.
32-bit libraries is all about ensuring that old software keeps on working. Many distributions abandoned 32-bit versions of their distributions long ago and you will have trouble finding a modern distribution for that Pentium II you have in the basement. 32-bit software does not need a full 32-bit distribution, having 32-bit versions of the libraries that are used is enough.
Ubuntu announced that they were going to drop support for "legacy" 32-bit software entirely last week. Valve responded with a statement saying they are dropping support for Steam on Ubuntu. That's understandable given that more than half the games in Steam's software catalog require 32-bit libraries.
Valve's Steam isn't alone in it's need for an environment capable of running 32-bit software. A lot of people use Wine to run various Windows software on GNU/Linux and many rely on it for legacy business software, not just games.
emulator, it's just a compatibility layer, and as such it's incapable of running 32-bit Windows software without 32-bit versions of key libraries like glibc, mesa and so on. Ubuntu's decision was therefore a huge concern to the Wine developers as it would essentially flush a decade of their hard work down the toilet. Turning Wine into an emulator like DOSBox would be a huge undertaking and it would not produce very good results for graphics-intensive games. Do note the key difference: DOSBox emulates an entire computer from the area MS-DOS was popular while Wine re-implements Windows APIs and translates Windows-calls to native Linux calls.
Canonical has now back-tracked and promised to keep 32-bit support in the next Ubuntu releases. They promise to keep bulding "selected 32-bit i386 packages" in a blog-post dated July 24th, 2019. That's good enough as long as they keep the basic libraries required to run Wine and that is actually a fairly limited amount of 32-bit libraries.
It is worth noting that Canonical are not making any long-term promises, quite the opposite. They make this clear in their blog statement:
"We will also work with the WINE, Ubuntu Studio and gaming communities to use container technology to address the ultimate end of life of 32-bit libraries; it should stay possible to run old applications on newer versions of Ubuntu. Snaps and LXD enable us both to have complete 32-bit environments, and bundled libraries, to solve these issues in the long term."
The only part of that statement which makes any sense at all is the ultimate end of life of 32-bit libraries. Nobody's going to make a Snap package for that rare 32-bit program you need to make your old CNC machine work. Either
wine myold.exe works or it doesn't and Canonical is making it very clear that it won't work in future versions beyond 19.10 and 20.04 LTS.
As for their reasoning, there's this interesting straw-man argument:
"Software continues to grow in size at the high end, making it very difficult to even build new applications in 32-bit environments."
Nobody asked for tools to build advanced new 32-bit applications. It is not like anyone expects to be able to make fancy modern software for MS-DOS either but the ability to run old MS-DOS games and demos in DOSBox is awesome. This is about keeping the ability to run existing software in the future.
It would be sad if we find ourselves able to run MS-DOS software just fine but can't run anything from the decade 32-bit Windows was popular. That will, luckily, not be the case. Valve published a blog post elaborating on their decision to drop Ubuntu as a "officially supported" Steam distribution yesterday. There is an interesting observation towards the end of it:
"The Linux landscape has changed dramatically since we released the initial version of Steam for Linux, and as such, we are re-thinking how we want to approach distribution support going forward. There are several distributions on the market today that offer a great gaming desktop experience such as Arch Linux, Manjaro, Pop!_OS, Fedora, and many others. We'll be working closer with many more distribution maintainers in the future."
Put simply: Ubuntu can drop 32-bit support entirely and be left out in the cold without an important feature the rest of the distributions have - or they can keep on maintaining the few core libraries that are required for Steam and Wine. The Linux desktop will be fine either way and Ubuntu users who want to run 32-bit software can just switch. Manjaro Linux comes with both Steam and the proprietary Nvidia-drivers out-of-the-box.
On a last note: It really is quite remarkable that Valve cares enough to make a big deal out of this. Linux users are, as of right now, a mere 0.84% of their overall user-base and Ubuntu Linux users are just 0.27%. Valve would easily go "Fine, we'll just drop Linux support entirely" with no measurable impact on their revenues.
published 2019-06-27 - last edited 2019-06-27