Turns out that installing the Steam client from the Ubuntu repos on a new Ubuntu 23.04 install doesn’t work – and barely anyone noticed.
Which is kind of surprising given the popularity of Steam, but also kind of not — and I’ll get to why in a second.
This whole saga seems to illustrate that most Steam users on Linux install Steam from Valve itself, instead of using the packaged version. Interesting.
Why do some OS vendors have it out for 32-bit libraries and application support so much? If users don’t need 32-bit compatibility, don’t install it. But many of us have favorite, old applications that require 32-bit libraries in order to work. The price paid in terms of disk space for those that choose to not install them is probably 100KB at most; simply the references to all the 32-bit packages in the apt database.
I know Apple dumped 32-bit application support a wile ago, and like with the headphone jack on smartphones, “competitors have to be exactly like Apple”. But the fact that no community run OS project is racing to remove 32-bit library packages tells you what actual users really think of their importance, and what this is really about; dumping 32-bit library packages means making the packaging job very slightly easier for OS vendors at the expense of people who still need them and probably always will, because most software, especially games, are not open source.
It’s a marvel how well and elegantly a modern X86 processor can seemlessly run 32-bit applications, right along-side 64-bit applications. As an end-user you can’t even tell there’s a difference, until the 32-bit program allocates more memory than the 32-bit address space can support. We should not discard this blessing from the CPU makers. And virtual machines are, in general, absolutely terrible for games. Talk about bloat!
Maybe one day, when processors no longer support 32-bit mode at all, the libraries can be removed. But by then, the chips will be fast enough to just emulate 32-bit mode in software on the fly without the overhead of a full virtual machine, (it’s starting to happen now), so even when that day comes, it will still be advantageous to keep 32-bit libraries around for running old applications without the overhead and gaming deficiencies of an entire virtual machine.
So Canonical, please stop picking on the 32-bit libraries already.
Because current Silicon Valley culture says that lifting a single finger to ensure backward compatibility is “bad”. Move fast and break things etc Thing is, this works when you have some website with a bunch of API users that depend on the API for their daily business and as such have to upgrade either they want it or not (and even then it’s an awful move), but it doesn’t work when you are shipping an OS that has to support 10-year old packages that aren’t maintained anymore.
This toxic “backward compatibility bad” culture metastasized to Apple, and then to Desktop Linux (because most Desktop Linux distros have at least some degree of Apple envy).
Since you mentioned Apple, expensive packages such as Adobe Photoshop CS6 cannot run on modern Macs anymore (even the Intel-based ones) because they have 32-bit dependencies and Apple removed it just because.
Even Microsoft is guilty, removing win16 support from 64-bit Windows (despite the fact win16 is not real-mode and hence the x86 processor can run it in x86-64 mode) and removing secdrv.sys in Windows 10 instead of allowing selective enabling like they did for Windows 7 and 8.1.
The computer industry has been going through it’s own malaise era since 2015 (when everything became a “service” and Silicon Valley startup culture seeped into everything, even in places it objectively doesn’t fit). When will it end?
and Apple removed it = and Apple removed 32-bit support
Sigh…secdrv.sys for those that do not know is for SecuROM which will TRASH optical drives and make certain NVME drives unbootable so no duh they disabled that, there is still a hack in Windows 10/11 where you can enable it but unless your OS is on spinning rust I would not recommend it. Both Safedisc and SecuROM (which both use secdrv.sys) were notorious for how their kernel level hooks would make a mess of newer OSes so honestly just use a NoCD patch, not like those games haven’t been cracked for 20 years. Trust me I had to clean up so many screwed up PCs and replace burnt opticals when Vista 64 came out so the quicker that old DRM dies the better!
As for win16? Honestly if you are wanting to run 30+ year old software there really is no reason not to just load up a VM, hell you can run Win98 in a browser and even those $99 Celeron based “Walmart Special” laptops can run win 3.1/Win9X at full speed and of course there is always DOSBox which comes preconfigured when you buy the ancient games on GOG anyway so really not much sense in keeping the 16bit cruft in 2023.
Personally I’ll be glad when MSFT cleans out a bit more of the ancient crap, its really not fun to be working late at night in my lovely Dark Mode with the night filter to make the screen easy on the eyes then need to access some subsystem and suddenly get flashbanged by some XP era dialog box that doesn’t follow any of the OS settings or fonts.
How can secdrv.sys make NVME drives unbootable? It only deals with optical drives. Also, secdrv.sys doesn’t do anything to the optical drive itself, secdrv.sys allows low-level access for copy-protection systems to precisely control the optical drive, which can cause some premature wear over time depending on the copy-protection system. But light usage won’t hurt. And no, I don’t care if those games are cracked, because there is no standard way to get to those cracks (without risking catching malware etc). And no, not every game has been re-issued on GOG or Steam either (the Need For Speed games come to mind, and the Sega Rally reboot). Microsoft literally broke thousands of games with their moronic move of removing it from Windows 10 (they allow you to enable it on 7/8.1).
Do you have a guide on how to get it on Windows 10? The idea you can get secdrv.sys is more myth than fact last time I checked.
Some 32-bit stuff has 16-bit installers, but that’s a compatibility loss I can live without.
that’s a compatibility loss I can live without = that’s a compatibility loss I can live with
Apple did not remove 32 bit support “just because”. The number one reason of course is that they make their money from hardware and they need to ensure that applications do not work with older hardware so that users are forced to buy new hardware.
No doubt Apple also knew that they had plans to move away from Intel. Getting rid of 32 bit support before moving to ARM made that second transition much more manageable.
So, all quite sane really.
32 bit support is also not zero effort to maintain. Even Linus ( who hates breaking userland ) is starting to push to abandon older processors. There are already pretty mainstream packages in the Linux ecosystem that do not support 32 bit. I think Qt6 might be one of them.
That said, I do wish 32 bit support was more robust on Linux. There may not be that may 32 bit machines out there still but even older 64 bit machines with 4 GB of RAM or less would probably run better as 32 bit due to the RAM pressure. There are still lots and lots of those.
It is not just Canonical. Intel themselves are looking to drop 32 bit support ( partially ) and 16 bit support completely.
https://hackaday.com/2023/05/21/intel-suggests-dropping-everything-but-64-bit-from-x86-with-its-x86-s-proposal/
Of course, even when this happens, I hope the Open Source world does not completely drop the older architectures. I am still going to own all my old computers that can run 32 bit even if Intel makes this change.
There are still 32 bit only Operating Systems in use as well. ArcaOS ( OS/2 essentially ) just made a release that can boot on UEFI-only machines for example.
The issue with 32-bit libraries is not of size, but of maintenance. Distros are phasing out 32bit-on-32bit versions because of issues like some software (most notably web browsers) not building on i386, the 2038 problem, and the fact that hardware is old enough that there aren’t enough maintainers running 32bit machines and testing for what breaks. Debian’s popcon shows that the number of i386 installations is steadily going down.
Most GNU/Linux users (even more so on Ubuntu) just install what’s on the repositories, and the software they might manually install is probably for 64-bit. As you mentioned, the only reason Ubuntu still has a 32bit mode is because of Steam, and servers don’t need to run games.
And this has nothing to do with Apple. Ubuntu first started to drop 32-bit support on 2017, while MacOS’s was in 2019. And the fact that Ubuntu’s downstream distros haven’t re enabled 32bit supports shows that it isn’t just a matter of rebuilding everything. As for the community distros part, Arch Linux also doesn’t support 32-bit.