Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

System76 patches APT for Pop!_OS to prevent users breaking their systems

By - | Views: 88,116

There's been a huge amount of talk recently about switching to Linux for gaming, thanks to the challenge from Linus Tech Tips (YouTube) where two of their people tried the full-switch but it didn't go so well for Linus and Pop!_OS. Now, System76 are trying to improve.

It was pretty unfortunate that as Linus was going to install Steam, Pop's packaging had some sort of breakage that wasn't quite picked up and Linus ended up hosing the Pop desktop install. You can easily do some finger-pointing on where the real blame lies here from Pop not ensuring a major package like Steam works correctly before it's pushed to users, to Linus ignoring the (what should be) pretty-clear warning message:

Oh no, please, Linus — don't do it! Linus did it.

The point remains the same regardless, and throwing around pointy-fingers isn't really helpful. It shouldn't have happened, it's as simple as that. Loading up the Pop!_Shop GUI and telling it to install Steam should have been enough. Going by what System76 engineer Jeremy Soller said on Twitter, the cause was this:

"For some reason, an i386 version of a package was never published on Launchpad. Steam being an i386 package, when trying to install it, it had to downgrade that package to the Ubuntu version to resolve dependencies, which removed Pop!_OS packages.".

One thing System76 has now done to prevent such almighty breakage in future, is to patch APT (the package manager), in Pop to prevent users being able to see the "Yes, do as I say!" prompt by default. Unless, they add a special file to actually enable it. On top of that, another System76 developer Jacob Kauffmann mentioned on GitHub their plans to "make further improvements" to the Pop!_Shop GUI so that "users don't have to fall back to the terminal in the first place". Sounds like lessons learned, and hopefully smooth sailing for users in future.

Update: a new version of APT brings in its own improvements for this.

Article taken from GamingOnLinux.com.
37 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
141 comments
Page: «14/15»
  Go to:

Samsai Nov 13, 2021
Quoting: sudoerGaming engines and technology are moving forward everyday and constantly evolving, which means libraries, APIs, GPU drivers, kernels are moving forward everyday as well to support the new software and hardware, so please go tell a Linus guy that he can't play his game because his old-ass distro you 've suggested for him does not support his new hardware, his new peripherals, the game's libraries are newer than those that he has in his system, his GPU drivers do not support the new shiny effects or are performing worse and that he has to wait some years for it or compile a new version by himself or probably destroy his OS in 10 minutes by mixing new and old libraries like in MX Linux, and nice things like that to scare him away. Valve is unquestionably the one and only leading force for Linux penetration amongst the new generation of gamers, and has wisely chosen Arch for all those reasons, transparency and simplicity (faster package-manager because it doesn't have to solve 1mil. dependencies and do 10mil checks, meaning an update wouldn't last 1 hour like in Mint for just unpacking a package), and is already advising Arch-based Manjaro to the devs, not Fedora or OpenSUSE TW, or Debian Sid... ,so you can expect new Linux users -because of Steam and the Steam Deck- going with the Arch-line and very probably staying with it, which means Manjaro will be their starting distro, then maybe they can start exploring EndeavourOS, going Garuda, SteamOS 3.0, or even later vanilla Arch. So it is actually the de facto recommendation and you can either accept it with the upcoming reality forged by Valve, or live in your own :)
You are exhibiting the worst qualities of the "I use Arch, BTW" mentality and are basically in violation of the "no disto wars" rule.

As a pseudo-Arch user, you should be technically capable enough to know that Steam ships its own runtime environment from which libraries are loaded. This runtime environment is also essentially never newer than your system libraries unless you are actually stuck on some really old Debian. You should probably also know that stable non-rolling distros still provide hardware-enablement updates and there are ways to install new drivers on them. This has been the case since 2010 and remains so until today. So, unless you happen to run a setup that requires a very specific open source driver that has just been recently released, your gaming experience is probably going to be more or less the same whether you run Pop or Arch.

Also, marching out the package manager argument is just strange. Pacman is pretty good, but honestly it's not significantly better than, say, dnf in normal use. Updates are speedy enough and while apt and dnf might be slower and broken in some ways, pacman is broken in other ways and has on occasion gotten its database mixed up on my system, which necessitated reading the wiki to figure out how to solve that. When apt breaks it usually basically tells you what you need to do to get it back in shape and I usually only manage to break it by being impatient.
Linuxwarper Nov 14, 2021
Quoting: MohandevirIt's just sad... Bad timing. The problem is solved, I read? Took what? Couple of hours to get a fix? How much time would have been required, on Windows, to get a fix for a similar issue? Next tuesday patch? Next month? I must admit that I never witnessed a Windows update bricking a PC or generate a BSOD, either...

But it's Linux, it doesn't have that margin. It must be nothing less than perfect, accross the board, on all distributions simultaneously, to convince mainstream users.
It was bad timing, but a valueable lesson for Linux platform; terminal needs to have safety guards or/and explain in a language beginners can understand. It doesn't have to do that for every single command, but for system breaking commands it's wise to do so.
Anza Nov 14, 2021
Quoting: Linuxwarper
Quoting: MohandevirIt's just sad... Bad timing. The problem is solved, I read? Took what? Couple of hours to get a fix? How much time would have been required, on Windows, to get a fix for a similar issue? Next tuesday patch? Next month? I must admit that I never witnessed a Windows update bricking a PC or generate a BSOD, either...

But it's Linux, it doesn't have that margin. It must be nothing less than perfect, accross the board, on all distributions simultaneously, to convince mainstream users.
It was bad timing, but a valueable lesson for Linux platform; terminal needs to have safety guards or/and explain in a language beginners can understand. It doesn't have to do that for every single command, but for system breaking commands it's wise to do so.

Terminal did have a warning, but wording kind of still encouraged to proceed without reading the output. Of course people think they know what they're doing (Linus just wanted to install Steam). Maybe something like "I'm OK with removing these essential packages listed above". As that output comes from APT, fixing it will trickle down to pretty much to all Debian derivatives.

People learn though after been bitten once...

It will be also nice that packages go through little bit of automated testing. Hopefully the situation where package wants to remove essential packages is easy to detect.

FreeBSD has had Tinderbox for long time: https://github.com/dzlabs/tinderbox. It's system that verifies if ports install properly (ports are basically instructions how to build application and install it). I haven't yet seen anything similar for Linux, though that doesn't mean that such thing doesn't exist.
F.Ultra Nov 14, 2021
View PC info
  • Supporter
Quoting: LightkeyHe claimed that a normal user would have reported the bug instead and that a normal user indeed reported the bug on GitHub, which then turned out to be a well-versed developer himself.

Which if you dig deeper you'll see that the reddit poster quote mined to find that well-versed developer, in reality the bug had been reported to the Pop!_OS github by many people including both normal users and devs like the one the reddit post highlighted.

This is not to say that the Pop!_OS maintainer could be a bit more PR friendly in his approach here.
F.Ultra Nov 14, 2021
View PC info
  • Supporter
I've been thinking about this whole affair some more and have now changed my mind slightly. What I think that we saw here in the LTT video was prejudice and ignorant behaviour from a Windows user.

The Linux terminal are so powerful and honestly so easy to use that many of us Linux users prefer to do work here and when helping others we tend to show examples from the terminal since it's way easier than having to guide them through a locale and DE dependent GUI.

The problem however is that this have somehow been translated into "you have to use the terminal to get things done in Linux".

Another prejudice which I honestly don't really know where it comes from is the notion that "stuff never works in Linux", I've mostly heard this from Windows people like Linus and both him and Luke have said it numerous times on their WAN show when talking about their Linux Challenge. In particular it came up in this very video in where Linus tries to install Steam and the GUI complaints with a warning and refuses to install.

Now we all know that this was due to a bug in the Steam package by the Pop!_OS maintainers, yes they blame Launchpad here but there are automatic ways to detect errors like this so this should never have been put into the repo to begin with. But as any computer user have ever known, besides when it happens on a system where he or she is not a fan of, all software have bugs and computers have never been 100% reliable. If any claims otherwise then ask them if they have ever restarted to fix something.

And it's here where those two prejudices comes to play, when encountering this problem Linus does not see it as a real problem but one of "Linux always does this" and he says as much when he claims that "People always tell me that Linux works and then things like this happens and the exact same thing happened when I tried Ubuntu some years ago". Which of course is not true since Ubuntu never had this exact problem with it's Steam package ever but I digress.

So the "Linux always does this" prejudice leads him to the conclusion that the displayed Warning is just Linux being an asshole and he have to search out another way to really make it work at which time the second prejudice kicks in which is "so I have to use the terminal to make things work in Linux".

How do we get people out of these prejudices? Because that is what we have to do, solving any of this in a technical way is not sufficient (since it basically really are solved), e.g Pop!_OS will now refuse to uninstall essential packages even with the do as I say! prompt unless a special file is present on the filesystem but we all know that this will only lead to the "next Linus" to put that file there because "that is what you have to do to have Linux work".
F.Ultra Nov 14, 2021
View PC info
  • Supporter
Quoting: Lightkey
Quoting: F.Ultra
Quoting: LightkeyHe claimed that a normal user would have reported the bug instead and that a normal user indeed reported the bug on GitHub, which then turned out to be a well-versed developer himself.

Which if you dig deeper you'll see that the reddit poster quote mined to find that well-versed developer, in reality the bug had been reported to the Pop!_OS github by many people including both normal users and devs like the one the reddit post highlighted.

This is not to say that the Pop!_OS maintainer could be a bit more PR friendly in his approach here.
Thanks, so that is what he meant by taken out of context (and why he deleted the tweets).

Edit: Went back to reddit and can't confirm that it was the reddit poster that specifically searched for that developer, nor that others reported it, unless you mean as comments in the GitHub issue opened by the one who the Pop!_OS developer linked to in his Twitter thread himself.

I was going by the words of the Pop maintainer (Jeremy) and he does not seam to have been completely honest if that is the case... I did check out the original poster of the issue and while he have 49 repos on Github he does so not as a programmer but as a Biochemist using R as a statistical tool, but I do see how he can be seen as a bit more experienced with things like Github than a normal user.

What bothers me a bit is that the System76 support page requires you to register before you can issue a ticket and that should be a big no no.
CatKiller Nov 15, 2021
View PC info
  • Supporter Plus
Quoting: AnzaTerminal did have a warning, but wording kind of still encouraged to proceed without reading the output.

The current wording is problematic. It makes it seem like the same kind of bullshit gatekeeping that they're used to from Windows, so of course Windows Power Users are going to want to just force their way through it, just like they would on Windows. "Please break my system" would be my preferred wording: it's always good to be polite.

Quoting: F.UltraPop!_OS will now refuse to uninstall essential packages even with the do as I say! prompt unless a special file is present on the filesystem but we all know that this will only lead to the "next Linus" to put that file there because "that is what you have to do to have Linux work".
Yep. They're just going to view sudo touch <filename> as one more esoteric incantation that they'll do - without understanding - as a way to get round what they view as unreasonable restrictions.
denyasis Nov 16, 2021
Quoting: F.UltraHow do we get people out of these prejudices?

If I may add to you list, there is also a prejudice (or preference?) against warnings.
We tend to ignore them for a variety of reasons ( it won't happen to me, it doesn't apply to me, I've done it before and nothing bad happened then, this is just for liability, they are too cautious... Etc)

I'll admit I'm guilty of that myself, borking my install more times than I can count because I wanted to try something different or new.
Anza Nov 16, 2021
Quoting: denyasisIf I may add to you list, there is also a prejudice (or preference?) against warnings.
We tend to ignore them for a variety of reasons ( it won't happen to me, it doesn't apply to me, I've done it before and nothing bad happened then, this is just for liability, they are too cautious... Etc)

I'll admit I'm guilty of that myself, borking my install more times than I can count because I wanted to try something different or new.

It's totally possible to bork install even when reading all the output. I think I did just that with Arch at some point. I don't remember borking the installation to point where I would actually reinstall with Gentoo though. Though with Gentoo installation is almost installing everything from scratch anyway, so understanding how system is built is kind of thing you have to learn or switch to another distribution.

With Windows though I just reboot in case of problems, I don't have wish to learn it deeper.
F.Ultra Nov 16, 2021
View PC info
  • Supporter
Quoting: Anza
Quoting: denyasisIf I may add to you list, there is also a prejudice (or preference?) against warnings.
We tend to ignore them for a variety of reasons ( it won't happen to me, it doesn't apply to me, I've done it before and nothing bad happened then, this is just for liability, they are too cautious... Etc)

I'll admit I'm guilty of that myself, borking my install more times than I can count because I wanted to try something different or new.

It's totally possible to bork install even when reading all the output. I think I did just that with Arch at some point. I don't remember borking the installation to point where I would actually reinstall with Gentoo though. Though with Gentoo installation is almost installing everything from scratch anyway, so understanding how system is built is kind of thing you have to learn or switch to another distribution.

With Windows though I just reboot in case of problems, I don't have wish to learn it deeper.

Of course but then it's usually down to actual issues with the packages. With Arch I can imagine that you could e.g install a new version of libxx that is not abi/api compatible with some binary that are needed but that package have not been updated yet so congrats you now hosed something.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.