janw.name Personal Blog and Portfolio of Jan Wolff

2026 is not going to be the year of the Linux desktop, but... (6. January 2026)

Holy cow, I don’t think I’ve ever seen as much “I’m going to switch to Linux” type content as I’ve seen in the last week. Now don’t get me wrong, this is great! With Microslops latest efforts being solely focused on haphazardly forcing AI into everything (and failing hilariously) and Apple’s recent design decisions being quite questionable more people should reach out for alternatives. And the best alternative right now is Linux (sorry BSD folks). So as someone who has repeatedly tried to convert people onto the Linux side this recent surge in interest in the platform warms my heart.

However, there is an annoyingly big asterisk attached to all of this still. Gaming has mostly been figured out by now. Onboarding gets simpler and simpler with a bunch of distros existing now that offer a seamless experience. Drivers mostly work fine, as long as you don’t use the absolute newest or esoteric hardware. So with all that being fine, the fact that the process of software distribution of all things is still lacking is super annoying. Because that should be the easiest thing in the world compared to all the other accomplishments.

Linux distros actually had been heralded as the platforms that did it right, given that most big ones always had builtin package managers. I remember using Debian’s apt for the first time and thinking that this is absolute magic. And it is! As long as you use only open source software that is important enough for someone to take the effort to maintain it in Debian’s repository. But not everyone uses Debian so someone else needs to do the same for every other repository for distros that don’t use apt! And this is where things get annoying fast. Sure, there will always be someone willing to package apache2 or a C compiler or the common desktop environments. But commercial software? Or small unknown programs? No chance. And the developers of said software might also not have the capacity to provide their stuff everywere. Aaargh.

Naturally there exist a multitude of options that attempt to build a layer on top of the distro specific package managers. Snap, Flatpak and AppImages are the most common options here. But again, there are multiple of them with their own specifics that users need to know about! And to add insult to injury, Snap and Flatpak might not be supported everywhere out of the box! Aaaargh!!

Honestly, as much as it pains me to say: I think the best way for software distribution is still just downloading an installer from some website and having that take care of placing the program somewhere into the system. That’s what GOG does for their Linux downloads and it works fine. It’s not a perfect solution, but it does not have to be. Perfect is the enemy of good after all!

So, to fully enable the year of the Linux desktop, I think “we” (that is, enthusiasts and developers) should bite the bullet, work with what we have and actually adapt to the lowest common denominator. This should concern both user expectations and technical options. Most users coming from Windows or Mac still expect to download some setup.exe from somewhere, run that and have their software installed by that. And on a technical side, Linux distros still have no clearly unified way of providing software. A situation like that is a perfect fit actually and this is where “biting the bullet” comes in. Catering to this situation isn’t farfetched. All that is required is providing a binary setup utility for Linux as well. One that places the software and its requirements into some location, adding shortcuts to the application menu and desktop and that provides an uninstaller.

Actually, here is stuff that can be done right now:

  • Use AppImage to provide a setup utility that can run basically everywhere.
    • This enables said setup to use a nice UI framework like Qt, without having to worry about static linking.
    • Though of course a fully statically linked GUI program would be perfect.
  • Install the program somewhere into the user’s home directory.
    • Maybe a cool XDG-ish directory like ~/.local/opt
      • I like this one because it is kinda cursed
    • or just ~/Programs
  • Place a .desktop file into ~/.local/share/applications/ to add the program to the launcher.
    • Same for the actual desktop
  • Uninstallers can just be put somewhere that’s easy to find for users.

All of this could be done today! Except of course that the community may react negatively. But I hope my text above game some arguments for why this way might be a necessary evil.

So with that out of the way. Here’s a wishlist that would make this process even simpler, but that (to my knowledge) is not possible today:

  • Have a nicely standardised mechanism so that the installed programs show up in the software center of choice.
    • i.e. KDE’s Discover or Gnome Software
    • This provides a super simple method of uninstalling programs again.
  • Provide a method to interface with different package managers to install requirements
  • Have some cool way to execute program in container based runtimes
    • Like what Steam does

This would enable the exact same workflow that people are used to from Windows.

So what software to use? Who cares! Just like on Windows, one could just build their own installer or use some existing framework. Think “InstallShield™ for Linux” but unironically. One existing option (and the one used by GOG) is MojoSetup. So if you cringed at my idea so far, there! Someone else has already done it and it works fine.

Yes, having a unified and sandboxed method of software installation like Flatpak IS better. But we’re not there yet. And as long as we’re not there yet, this will have to do. At least for the type of software that you’d purchase from some website and install. Yes, that’s not what the ideal free and libre Linux ideal is about, but that’s what is required to reach Xanadu the year of the Linux desktop.