Was I wrong in my take on packages vs. Flatpaks & snaps? Updated!
I don’t even remember how many times I insisted—because a Luddite has to be conservative, and Linux used to observe the KISS principle anyway—that the right thing to install software in a Linux distro should be the traditional package management system. I did not ditch the use of Flatpaks and snaps as a last resort, though. The main fix to the absence or obsolescence of distro-provided packages should be, in my view, one of the following: ❶ An official upstream repo (examples: Mullvad VPN, SoftMaker FreeOffice, Office 2024, Office 2021). ❷ Official upstream packages (example: LibreOffice). ❸ Official upstream binaries (examples: Calibre, PIA VPN). ❹ Trustworthy PPAs, preferably by the upstream developers (example: FSearch). Only when these options have been exhausted should one explore Flatpaks (LibreOffice again!) or snaps (Flatpaks are generally to be preferred for GUI apps, unless they’re too old or “too unofficial”). After all, at some point I counted 10+1 ways of installing software in Ubuntu MATE, so there is choice—but there should be reason, too.
I might have been wrong. But it’s their fault, not mine.
The last drop makes the cup run over
🧩 Last week I was exploring some old Python apps I knew and used something like 20 years ago. And the first one was PyTraffic.
No, that was not its web page, but at least it has a screenshot. The webpage shown there is not the original one either, but only a copy of the original code uploaded to GitHub; there’s even a fork of it that’s actually a dumb copy. Nobody bothered to build any kind of package, ever.
The original home page is long gone—it looked like this. The source archive and the rpm
files were not saved by the Wayback Archive; however, PyTrafficFull-2.5.3.exe was. But it crashes after launch in Win7, and it also crashes in Bottles (WINE), even in WinXP compatibility mode:

The only surviving packages (Pkgs.org, Repology) are RPM Sphere’s builds for Fedora 39, 40, 41. Unfortunately, binaries or sources, I couldn’t make any use of them. PyTraffic was written for Python 2.3 and PyGTK 2.6, so making it to work with any Python 3 version would practically mean to rewrite it. Even with AI’s help, it’s not worth it. Here’s how this stupid planet can’t keep alive a classic puzzle! This was an implementation of the Rush Hour puzzle. No Flatpak, no snap, no AppImage. Nothing.

🧩 The second app is something that still exists as a fork of the original PySol, so I wanted to try PySolFC. There are packages of it everywhere—sort of.
The latest version being 3.2.0 (Arch Linux Extra, Void Linux, Solus, PCLinuxOS, Fedora 42), let’s note that Debian Sid has version 3.1.0 (Debian 12 doesn’t have it at all!), Ubuntu 24.10 has 3.0.0, and Ubuntu 24.04 LTS has version 2.6.4.
But it doesn’t fucking work!
$ pysolfc
Traceback (most recent call last):
File "/usr/games/pysolfc", line 36, in <module>
from pysollib.main import main # noqa: E402,I202
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/games/pysolfc/pysollib/main.py", line 30, in <module>
from pysollib.app import Application
File "/usr/share/games/pysolfc/pysollib/app.py", line 31, in <module>
from pysollib.gamedb import GAME_DB, GI, loadGame
File "/usr/share/games/pysolfc/pysollib/gamedb.py", line 25, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
Claude:
This error typically occurs when trying to use the ‘imp’ module, which has been deprecated since Python 3.4 and removed in Python 3.12. The ‘imp’ module was replaced by ‘importlib’.
To fix this, you have two options:
- If you’re using newer Python code, use ‘importlib’ instead:
import importlib # Use importlib methods instead of imp
- If you need to work with legacy code that requires ‘imp’, you can either:
- Downgrade to an older Python version that still includes ‘imp’
- Update the code to use ‘importlib’ equivalents
I’m not going to fix anything. This is ridiculous: do they ever test if the software they package really works? OK, it’s in universe
, but this is an official repository!
Meanwhile, version 3.2.0 from Flathub:

Also, it showed up in the menu (Ubuntu’s package, for some reason, didn’t).
Yes, the required runtime takes quite some space, but it would be used by other Flatpak apps that happen to require the same version of these libraries:
ID Branch Op Remote Download
1. [✓] io.sourceforge.pysolfc.PySolFC.Locale stable i flathub 2.2 kB / 194.1 kB
2. [✓] org.freedesktop.Platform.GL.default 24.08 u flathub 67.3 MB / 156.6 MB
3. [✓] org.freedesktop.Platform.GL.default 24.08extra u flathub 4.3 MB / 156.6 MB
4. [✓] org.freedesktop.Platform.Locale 24.08 i flathub 18.6 kB / 380.3 MB
5. [✓] org.freedesktop.Platform.VAAPI.Intel 24.08 u flathub 1.6 MB / 15.0 MB
6. [✓] org.freedesktop.Platform 24.08 i flathub 183.8 MB / 264.4 MB
7. [✓] io.sourceforge.pysolfc.PySolFC stable i flathub 122.4 MB / 143.0 MB
Faced with so many broken packages in different mainstream distros (yes, Fedora and EPEL can also have broken packages, even if sometimes it’s only a dependency that wasn’t specified in the spec file), I start to believe that maybe the solution really is a lean, more minimal OS, with apps added as Flatpaks (GUI apps) and snaps (everything). Not an immutable OS, but something more limited, more like FreeBSD’s base system.
What’s the purpose of a package that’s both old and not working? And in an LTS distro, no less! Oh, yeah, it installs. Way to go, Charlie.
What I believe (or do I?)
Yes, I know I wrote that Red Hat is fucking shitting on Linux for having removed most graphical desktop applications from CentOS Stream 10 and RHEL 10, and that means such distros come without Firefox, GIMP, LibreOffice, Inkscape, Thunderbird. There’s also no media player, no Cheese, and even the Eye of GNOME (eog
) image viewer application has been removed!
One can get most such apps as Flatpaks, but c’mon, Eye of GNOME? (I prefer gThumb, but I’m just saying.)
In the case of Red Hat, the retarded thing is that they removed apps that are part of GNOME, or that have been considered as coming with the GNOME desktop. As I reiterated, Red Hat left a system without any web browser of any kind, despite the fact that GNOME includes an official web browser called Epiphany “GNOME Web” (just “Web” in the menus) that works just fine if one doesn’t need add-ons!
So Red Hat went too far. But surely there must be a middle way?
- A base system.
- A desktop environment, depending on the flavor. Such a desktop should include everything that’s officially part of it, or that has traditionally been associated with it. For “highly incomplete” desktops, add the apps that make sense, just like Xubuntu adds Atril from MATE. Also, a web browser (only GNOME has its own browser that nobody’s using).
- Get rid of the
universe
repository. Make it unofficial (it’s often broken and not receiving official patches, unless Ubuntu Pro pops in). Renamerestricted
, which contains proprietary drivers, toproprietary
, and renamemultiverse
(what a shitty name!) torestricted
, because it contains codecs and other legally restricted components. - Provide official support to both Flatpaks and snaps. Yes, Canonical, don’t act as a 4-year-old kid, and add Flatpak support to the App Center!
Even at Canonical, the strategic decisions are taken by mentally retarded individuals. I’m using Ubuntu MATE because it’s the most acceptable compromise and because it resembles the Ubuntu of the good old days, not because I trust any kind of corporate mindset!
Also, because most 3rd-party software, especially proprietary one, would rather provide binaries for Ubuntu LTS than for a niche distro. And Ubuntu LTS gets prompt security updates.
💡 Meanwhile, I have to install Flatpaks at the CLI. I use Flatseal to manage their permissions, and Warehouse as a GUI to manage other aspects of them or to uninstall them.
Linux distros are going the wrong way
The above 4-point design is still a traditional one, in which the base system and the supported desktop environments are using a traditional package management system. But what they want instead is to make everyone use immutable or atomic distros!
I asked Claude to provide the shortest possible definition for the two concepts:
Atomic Linux Distro
- Update Method: Uses atomic updates, which update the entire system in one go, ensuring consistency and reducing the risk of partial upgrades.
- Rollback: Supports easy rollback to previous system states if an update fails, ensuring system stability.
- Examples: Fedora Silverblue, CentOS Atomic Host.
Immutable Linux Distro
- File System: The root file system is read-only, which enhances security and stability by preventing unauthorized changes.
- Updates: Often uses image-based updates or overlay filesystems to apply updates without modifying the base system.
- Flexibility: Users can make changes in layers or overlays, keeping the core system intact.
- Examples: NixOS, Qubes OS.
In essence, atomic Linux distros focus on atomic updates and rollbacks, while immutable Linux distros emphasize a read-only base system for enhanced security and stability. Both approaches aim to create a more reliable and secure system, but they achieve this through different mechanisms.
Any such distro is highly restrictive. It’s nightmarish. And there are already many more atomic distros.

Another stupid direction they want us to take is the forcing of AI in the OSes. It’s not only Microsoft with their Copilot+ PCs; here’s Red Hat (IBM) looking to integrate AI functions into GNOME and Fedora:
One big item on our list for the year is looking at ways Fedora Workstation can make use of artificial intelligence. Thanks to IBMs Granite effort we know have an AI engine that is available under proper open source licensing terms and which can be extended for many different usecases. Also the IBM Granite team has an aggressive plan for releasing updated versions of Granite, incorporating new features of special interest to developers, like making Granite a great engine to power IDEs and similar tools. We been brainstorming various ideas in the team for how we can make use of AI to provide improved or new features to users of GNOME and Fedora Workstation. This includes making sure Fedora Workstation users have access to great tools like RamaLama, that we make sure setting up accelerated AI inside Toolbx is simple, that we offer a good Code Assistant based on Granite and that we come up with other cool integration points.
Fucking shit. IBM Granite 3.0:
Granite 3.0 models are now available on IBM watsonx.ai through platform partners such as Google Vertex AI (through Google Cloud’s Vertex AI Model Garden integrations with Hugging Face), Hugging Face, NVIDIA (as NIM microservices), Ollama and Replicate.
A number of guides and recipes for working with Granite models are available in the Granite Snack Cookbook on GitHub, from orchestrating workflows using Granite language models in Langchain to implementing Granite Guardian models for hate, abuse and profanity (HAP) detection.Developers can also get started with Granite models in the Granite model playground, by exploring the array of useful demos and tutorials in IBM docs.
When a company isn’t able anymore to manufacture and sell a fucking PC or a fucking laptop, what do they do instead? Business consultancy, blockchain, quantum computing, and AI. In a word: crapola! Money laundering and taking money from the gullible (no, Apple, you’re not the only one able to do that).
Their playground allows for 25 prompts (no account needed, and none possible anyway). Then what? Are they banning my IP? Could I delete some cookies to get more? I only tried one question (“Why are the medicines that contain pseudoephedrine or codeine restricted to sale? What could people do with them?”), and the answer was decent. Oh, wait, it even answered to “How does one extract DMT?”, because the “Granite Guardian models for hate, abuse and profanity” don’t cover such cases!
Either way, the model is available on Hugging Face, and it’s a small one: Granite-3.1-8B-Instruct.

We’re doomed. Instead of common sense, this is what we’re getting. Note that, in a recent DWW poll, 77% answered “No, I do not want AI models in my OS”; 20% answered “Yes, but only as an add-on”; and only 3% said, “Yes, install assistants by default.”
We’re still fucked.
UPDATE: It gets worse!
Visual Studio Code being a good product developed by a shitty company, its official download page only proposes a .deb
file and doesn’t mention any repo for Debian and Ubuntu.
I thought they discontinued the repo, and I decided to rather install the snap, especially as it’s one click away in App Center, and it’s always up-to-date. I did not know that installing the package automatically adds the required repo! (They don’t make it clear.)
Except that…
$ code
/snap/code/184/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: /snap/core20/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0)
ERROR: /snap/code/184/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders exited abnormally with status 1
/snap/code/184/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0: /snap/core20/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0)
ERROR: /snap/code/184/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 1
/snap/code/184/usr/share/code/bin/../code: /snap/core20/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0)
Porca miseria! Weren’t snaps supposed to be “universal” and, just like Flatpaks, pull all necessary dependencies? And no, refreshing didn’t fix it.
I then asked Claude and, sure enough, the suggested solution was the good one, and the repo just worked (the IDE too):
sudo snap remove code
sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt install apt-transport-https
sudo apt update
sudo apt install code
I should have installed the package in the first place.
So, what people need to do in Ubuntu is this:

Or maybe try the Flatpak before the snap. It should work.
Snaps can fail, too! (UPDATE)