294 comments

[ 4.8 ms ] story [ 278 ms ] thread
Funny, I run Ubuntu on my laptop and tried just today to upgrade it (since I'm on 18.04 and have been for a while). But no matter how I try, `do-release-upgrade` won't do the upgrade, complaining about third party repositories (removed all of them as a result), mismatched python versions, and a load of other issues. When I fix one, another one appears. Tried for 5 hours today and eventually gave up.

On the other hand, my desktop machines run Arch and NixOS and I have never had any issues upgrading. Well, actually a few issues with NixOS upgrades, but it's so easy to rollback that I barely spend any time on it, and when I later try to upgrade again, everything just works.

I wonder why Ubuntu/Canonical can never get their upgrade game to work properly. I've had similar issues with Ubuntu upgrades since I started using Ubuntu (8.X) and seems it'll never be fixed. Maybe I'll just start using either Arch or NixOS on my laptop too.

Even when a "version jumping" upgrade is allowed, I usually do them in order, unless I'm going from LTS to LTS.
Bold is the man that jumps across multiple major versions of any software.
I've upgraded from 18.04 in the past, but via intermediary LTS releases (i.e. 20.04). Going all in one step is not possible IMO.

Also note that Ubuntu LTS releases only do upgrades after the first point release of a new version. You won't be upgraded to 21.10 until it hits 21.10.1.

[edit] Apparently the holdout until point release .1 only applies to LTS versions:

> Upgrades from one LTS to the next LTS release are only available after the first point release. For example, Ubuntu 18.04 LTS will only upgrade to Ubuntu 20.04 LTS after the 20.04.1 point release. [https://ubuntu.com/server/docs/upgrade-introduction]

I’ve learned that ubuntu upgrades only if you update to the next version as soon as it is released. I have a 14.04 server that I cannot upgrade anymore and it sucks.

Also, NVidia and Cuda drivers mess the upgrade path as well. And ubuntu is the most supported distro.

Yes, Nvidia is special (in a bad way).

They seem especially hell-bent on pushing new versions of CUDA on everyone way before any usable software supports it (i.e. try getting a usable tensorflow or mxnet when your machine auto-upgraded to 11.4.x one day after its release).

You can have multiple CUDA versions installed at once, it’s not exclusive.
> I’ve learned that ubuntu upgrades only if you update to the next version as soon as it is released. I have a 14.04 server that I cannot upgrade anymore and it sucks.

Actually you can upgrade from old releases. You do need to move from LTS to LTS, rather than jumping. So you can upgrade 14.04 to 16.04, then to 18.04, and then to 20.04.

See https://askubuntu.com/questions/91815/how-to-install-softwar... for details.

In my experience it's best to simply not attempt in-place major distro version upgrades and approach them instead as a backup/reimage/restore (or using an alternate/new machine)

This has been true for me across all distros, and honestly it's a main reason why I only run linux on servers anymore (easy to create a new VM for upgrades, harder to create a new laptop)

I have been using linux and Ubuntu for years, and not once has a full upgrade gone off without a hitch. I did upgrade to 21.10 , and of course it blew away my display drivers.
If you use btrfs, which Ubuntu defaults to, you can simply take a snapshot of your system before upgrading and roll it back if there's an issue.

That said, I use Ubuntu on many machines and VMs, and I haven't had issues with upgrading them at all.

I don't think Ubuntu defaults to btrfs.
In my patchy and incomplete experience this is true for Ubuntu but untrue for Debian. As long as I've followed the upgrade instructions I don't think I've ever had a Debian stable version bump fail. Whereas Ubuntu... yeah, backup and restore, because you're going to do it anyway.
Hmm, I have a couple of laptops with Ubuntu on them, they aren't my primary personal (or work) machines, but I generally haven't had trouble upgrading them - I did one today, via do-release-upgrade -d and it worked fine (though the FF snap, while maybe ok in theory, meant that it had lost all my tabs / bookmarks / etc., uninstalling and installing via apt got me the deb version which did pull those all in from my profile).
Interesting. I ran the upgrade over lunch on my laptop and it finished pretty quickly (and I say this as I've been considering moving to Arch anyway).

The only complaint I ran into is that I didn't catch the "new release available" message on the upgrade dialog the first time and had to go check again.

I'll echo the NixOS experience. Upgrades are not even stressful since you can 'rollback' nearly everything.
> I wonder why Ubuntu/Canonical can never get their upgrade game to work properly.

Ubuntu developer here. Sounds like you have a really hacked up system there, and that it's your existing system that has issues. Under these circumstances, I don't think it's reasonable to expect an upgrade to be able to work smoothly. Scripts that handle upgrade paths necessarily need to make assumptions that what they are upgrading from is what the distribution put there. If you hack it up, then those scripts aren't going to work.

Your Arch system, being rolling release based, I assume isn't as hacked up with newer versions of things because you get them straight from your distribution? The equivalent on Ubuntu would be to run the six-monthly releases, which I assume you choose not to do. If you do that and then you hack up your system, then I don't think it's fair to compare to an Arch system where you (presumably) don't do that.

If you want to run an Ubuntu LTS system then I suggest that you do your hacking inside containers (whether system containers like lxd, or app containers like Docker). Then you won't need to hack up your system itself, and then upgrades will generally work fine.

To be fair, some moving parts outside of canonical's work are necessary yet break often.

Prominent example: Nvidia drivers. Oh how often have I wiped a system because the precise combination of driver/CUDA/nvcuvid/nvenc and nvidia-docker broke through some freak update.

These are the things that often prevent smooth upgrades.

> Sounds like you have a really hacked up system there

Some people would call this 'a system that's actually being used to do something'.

Don't blame users unless it's clear they are doing something egregious with the system. Installing a different Python version shouldn't break installers, but here we are.

Ubuntu should have taken a page from CoreOS, NixOS and even Arch. CoreOS with their immutable system partitions (and two of them so it can revert to a good one if the current can't boot). NixOS with the immutable packages (and the split between user and system packages). And even Arch with its release model.

Sometimes you have to 'hack your system' to add a new apt source to try to get your GPU working with OpenCL, or you have to modify some config file on /etc to get something else working. Or whatever the use-case might be. Should that break upgrades then? Ubuntu really doesn't provide any guidance or utilities to help with this.

At least figure out a way to install a known sane system configuration, even if it breaks the user's customization. Having a separate system partition by default would actually help a little.

Even Windows allow you to snapshot and rollback changes. Something that Ubuntu users have to – guess what – "hack the system" to get.

> Ubuntu should have taken a page from CoreOS, NixOS and even Arch. CoreOS with their immutable system partitions (and two of them so it can revert to a good one if the current can't boot). NixOS with the immutable packages (and the split between user and system packages). And even Arch with its release model.

Actually Ubuntu Core is an edition of Ubuntu that has exactly these properties. It runs read-only, with packages that can be added and removed cleanly.

This does involve moving away from apt/deb, which is fundamentally incapable of this. I don't know of any plans to do this for the main Ubuntu distro itself, but consider the resistance if this were on the roadmap.

Obviously you put the effort into the Arch one to set up everything with Nix, and didn't do that in Ubuntu. A fairer comparison would be "a system that's actually being used to do something" in just Arch to Ubuntu or Nix on both.

I'm not a heavy linux user but I know 3 guys who use Arch at work and one of them had an upgrade issue that caused them half a day to fix, this was circa 2016. I know plenty of people who use Ubuntu no issue. Not that such anecdote really means anything, just to demonstrate that they can be used to back whatever bias.

> Having a separate system partition by default

This is just one simple extra step when you install. And I don't know if arch has this by default?

> Even Windows allow you to snapshot and rollback changes

just use brfs? This is more of a linux thing has nothing to do with ubuntu

> And I don't know if arch has this by default?

What do you mean by default? :) Arch doesn't have an automated installer that does partitioning for you. You extract some files to whatever partitioning setup you've dreamed up for yourself, setup a bootloader and reboot.

You are the one who asked for default.

Ubuntu has that but I don't think most people use it either. I don't see any harm as an option for beginners. Not that it actually happened but my parents should be able to set up ubuntu because they don't need to partitition.

    Installing a different Python version shouldn't break installers, but here we are.
laughs in https://xkcd.com/1987/ .
Hah I always imagine this is what we will finally determine DNA to mostly be.
I wouldn't expect nothing less than being blamed by Ubuntu developers for a hacked up system, even though I barely described anything.

Thanks for giving me another reason to leave the Ubuntu ecosystem behind me. The condescending tone that your message has seems to be relatively popular in the Ubuntu/Canonical community as well, at least compared to NixOS.

You described third party repositories and mismatching Python versions. That is a hacked up system, by definition.
Seems uncommon that those things would prevent upgrades. It sounds more like Ubuntu is beginning to suffer from an excess of complexity.
I think part of the problem is that third party apt repositories have become normalised as if they're a reasonable way to "add on" to your existing system.

In reality they're a hack on a packaging system that was never designed for third party plugability in this way. They very often break future upgrades. Third party apt repositories fundamentally cannot express all the necessary metadata to allow for upgrades to work in the general case. They don't even namespace properly; apt cannot even tell the difference between a third party installed package and one that came from the distribution. And third party packagers typically don't even consider future upgrades.

This is why Ubuntu is working on snaps: they are a mechanism that allows for third party plugability in a way that does not break the system.

If we want upgrades not to break, the system dpkg/apt installation needs to be left alone and not be interfered with by third parties.

This is at the core of why I've found Ubuntu (More broadly Linux?) to be frustrating to use. Installing programs or functionality beyond what it ships with leads to the system ending in a "hacked up", as you put it, state. Then reliability tanks.
So, what should I do if you don't decide to include critical release of a package that was out there for 6 months? https://github.com/swaywm/sway/releases
Sorry that wasn't included. Please understand that it's not about "you" and "me" though. Anyone can contribute to Ubuntu, and "any responsibility can be carried by any contributor who demonstrates the required capacity and competence" (https://ubuntu.com/community/code-of-conduct). So please join us and help to make this happen next time.

Of course there are processes and policies to help us ensure quality and that other user expectations (eg. stability, integration) are met as best as we can. These take time and effort to negotiate. But we'd be happy to help to explain what's needed to be contributed to make progress in Ubuntu itself for any specific circumstance. Find us in #ubuntu-devel on Libera Chat, or https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discu...

> Third party apt repositories [...] don't even namespace properly; apt cannot even tell the difference between a third party installed package and one that came from the distribution.

This is true. dnf and zypper handle this just fine in the RPM world, and they operate under basically the same paradigm. Are there no plans for apt to catch up?

(comment deleted)
I don’t know much about python, but for nodejs dev work I have about half a dozen versions of nodejs installed. It’s super handy having all those versions installed so I can test that a certain native nodejs package I develop builds and works properly. And to rule out nodejs itself when reproducing bugs. I use nvm (or fvm) or something to manage all that because the system package managers updated too slowly.

What are you saying here? That having multiple versions of python installed can put your whole OS into some sort of unrecoverable corrupted state, and that’s expected and ok? That’s a non starter for me.

If you replace the version of python that the upgrade process expects, then yeah, you'll probably run into problems. The upgrade process can't possibly support every single version of any given package, that would defeat the entire purpose of having a stable release cycle. If it's a core package like python which sits really close to the top of the dependency tree then the effects of swapping that out will cascade downward and that's why everything breaks so badly.

In my experience, this is the only safe way to have third party apt repositories:

- Don't install any third party packages which have reverse dependencies. This means no libraries, only applications. If you need newer libraries as a dependency then you have to statically compile the application.

- Don't install any third party packages which have the same name as an upstream package. If you want to install a newer third party version of an upstream package then you need to change the name of it and have it install all of its files in different locations. A prefix change is enough here, /opt is a popular choice.

- Delete all third party packages before doing an upgrade, in case a new upstream package happens to have the same name, or needs to put files in the same locations.

Do anything outside of that and you will risk getting your install into a broken state. Because even though you might think you are just installing some applications, what you are really doing is bolting things on to the upgrade process for the entire core system. Using nvm is perfectly safe though because that just installs the different versions to your home directory, it doesn't touch apt.

That makes sense; though to be clear, you're essentially saying that apt isn't appropriate for 3rd party packages. And that:

- The question of which files go in which directories in the system is a question for canonical (or whoever) to decide. Not end users or 3rd party developers

- The namespace of apt package names is special, and 3rd party / external dpkgs shouldn't add anything into it

I think this stance is entirely reasonable. Its essentially what windows and macos both do (and to increasing degrees with each version). But its a pity its taken the current apt packaging disaster to realise it. Its really convenient for users to have a package manager, and for 3rd party developers be able to write software for it. And these problems seem solvable:

- Namespace all 3rd party packages. Eg, @apple/foundationdb-server (as distinct from @canonical/git)

- Use overlayfs or something to essentially make /usr, /usr/bin, etc read only by normal processes. If these paths were only writable by system packages, the whole system would be much more predictable (and verifyable) - since that filesystem would only - could only contain a subset of the files in apt.

I get that flatpak and snap are both attempts to replace apt. But its a pity they're needed. I'm enjoying mint, but if I ever rebuild this machine I'm going to give nix a try.

Yes to all of the above. Although namespacing is not enough, the packages need to be built in a specific way so that they don't put files in any system locations. This isn't anything specific to Ubuntu, this is just how Debian works. If you want to do things "the right way" you're supposed to submit your packages upstream and be patient.

This is not exactly a new problem, it's why Docker is popular, it's why Fedora Silverblue and NixOS exist. It's just not done on the OS level in Debian because in some ways it doesn't really need to be.

Yes, because Ubuntu doesn't ship everything you need, third-party repositories are needed for my day-to-day job. None of the packages I get from that are overwriting existing software from official repositories, but still Ubuntu recommends turning those off, not sure how that should break an upgrade. On the other hand, my Arch installation runs with tons of custom software, with repositories and more added to it, but still somehow can handle upgrades 100 times better than Ubuntu.

Regarding the python, the error message was something like "python is gonna be python 3 after the upgrade, and we can't handle that so you should uninstall python before upgrading", or something similar.

I'm just using what Canonical/Ubuntu are providing me when it comes to Python, but still somehow it's up to me to remove/install stuff manually when it comes to upgrading.

I use Manjaro and different Python versions alongside each other regularly break my updates because all of them want to be the system python3 binary at the same time. I've had to nuke and reinstall tons of software because of version clashes, sometimes needing me to cast arcane package manager spells which every manual tells you to never ever do. Hell, a lot of really common AUR packages or dependencies sometimes just plain fail to compile. That's the danger of the AUR, I guess, but there's no real difference between the AUR and PPAs/Ubuntu repositories. At least Manjaro pins packages for a short while before releasing them onto my laptop, I can't imagine the stress an average Arch update would cause me.

Ubuntu is not a system designed for running multiple versions of packages like you want it to. You can make it do it if you really want to, but you can't expect the Ubuntu developers to provide support for your unique use case. They give you one version of Python, the version that the _entire system_ expects, and if you're not happy with that, you should probably move away from Ubuntu. It can't and probably won't satisfy your day-to-day job's requirements. Try a rolling distro instead, or run the Nix package manager next to the system package manager so you can work around the lack of support Ubuntu provides you.

In my opinion, it's a lot better to abort the upgrade than to knowingly break your system and make you suffer through the recovery process. Sure, the installer could ignore the problem, or remove your carefully crafted Python setup, but you'd still be complaining if it did that and you had to reconfigure your entire machine again.

Isn't the freedom of "hacking" your system one of the main reasons for using Linux to begin with?
I'm not sure it's a main reason, but it is indeed a key property of having full control over your own system that you are welcome to do this. But this level of control also comes with a curse: if you break your system, then you get to keep the pieces. I find it quite upsetting to be blamed instead.
You are misassessing how people use Desktop/Laptop computers. Ie you're assuming people will install Ubuntu, and leave it in its default state, or only use package managers.
I understand how people use their computers. I merely object to those people then blaming the distro for not writing software that can magically work around how they hacked it up.
Yeah, it's not the Distro's fault that they didn't design it for how people actually use their computers. How could they have guessed that would be an issue?
I don't understand how you can expect a distro developer to account for every single possible third party repository and package that is out there. That's multiple orders of magnitude more packages that they would have to support and test for, it's simply not feasible. It's reaching into combinatorial explosion. I would actually have serious concerns if a Linux vendor was somehow promising that they could support such an unrealistic thing.

The real solution was mentioned up thread though: they are designing it to be used that way, but you have to use snaps or flatpaks. Not third party apt repositories which can overwrite system components in an infinite number of ways.

Do programs installed via installer executables/scripts also contribute to this problem?
If you install them to your home directory, no. If they install to system directories (/usr, /lib, /etc, /var) then they could cause issues. I personally would not run any installer script that asks to use sudo or otherwise give it root permissions, that's a recipe for disaster. If you have to do that, run it in a container.
Regrettably, that's most software! When I start a new OS (Windows or Linux), I have a set of software I want to install. Examples: Firefox, Chrome, VsCode, PyCharm, SOlidWorks, KiCad, Em-Client, CubeIDE, Rust, Python (NOT the old system version), Steam etc. Almost all of them operate outside the package manager with their own installers!
I'm not sure what you mean, that isn't even most software out of the examples you gave. I think snap and flatpak have almost all of those. For Rust and Python I think you can use rustup and pyenv. All of that would be preferable to using a root installer.

If the only option they have is an installer that runs as root, then the safest way to handle that would be to run it inside a docker container. Those companies should probably not be shipping installers on Linux unless they target very specific distributions and are working closely with them to ensure they don't break the upgrade process, otherwise it's going to cause issues.

Edit: here are the snaps and flatpaks and docker images I could find.

https://snapcraft.io/firefox

https://snapcraft.io/chromium

https://snapcraft.io/code

https://snapcraft.io/pycharm-professional

https://flathub.org/apps/details/org.mozilla.firefox

https://flathub.org/apps/details/org.chromium.Chromium

https://flathub.org/apps/details/com.visualstudio.code

https://flathub.org/apps/details/com.jetbrains.PyCharm-Profe...

https://flathub.org/apps/details/org.kicad.KiCad

https://flathub.org/apps/details/com.valvesoftware.Steam

https://github.com/xanderhendriks/docker-stm32cubeide

AFAIK, Solidworks and eM Client are not available on Linux, but if they were you would probably see them available in one of those forms.

None of those you linked are recommended on the official websites:

https://www.rust-lang.org/tools/install: Curl an .sh

Steam: https://store.steampowered.com/about/: Download and install a .deb

Firefox: https://www.mozilla.org/en-US/firefox/all/#product-desktop-r... - Download a .tar.bz2

VsCode: https://code.visualstudio.com/download - Download a DEB

Pycharm https://www.jetbrains.com/pycharm/download/download-thanks.h... - download a .tar.gz2

Python - Install from source or use a 3rd party dep.

https://www.kicad.org/download/ubuntu/ - KiCad is the only exception that wants you to use an official package.\

Docker is a pain to use; it's a crutch used by web devs and Dev-ops for complex business stuff.

Right, and the ones that require root to install are steam, vscode and kicad. Kicad is probably in the worst situation because it uses a PPA. Please double check your links before posting, it will save us both time. It's also not really relevant what the official website says, as it's traditional in open source for the packaging to be handled by the distribution, not by the upstream.
You're free to "hack" it as much as you wish, but when you break it(if you don't know what you're doing) you get to keep all the pieces. And the blame.
I guess it depends what you consider as "hacking", exactly. To me "hacking" implies "customizing, but not as the makers had intended".
On my my recent Ubuntu attempt about 2 years ago, a major usability problem was diagnosed as "Not using an LTS release".
See, this is why Linux distributions piss me off. You have an upgrade path that breaks, and when it does the response is "oh, you used your Linux distribution in a way we said you could in our docs? why would you think the upgrade would work after that?!"

Distros just don't care about the user experience. They care about making it look fancy, or shifting around designs, or introducing brand new components that break old functionality. But they don't care if people actually have problems using it.

Every bug is the user's fault, and every reinvention-of-the-wheel (that actually works worse than the previous wheel) is a praiseworthy accomplishment. Regressions are nonexistent, hardware compatibility/stability is a guessing game, solving common problems is left to the user to Google, all the interfaces and apps are inconsistent, there are no interactive guides to design changes, and just getting some basic hardware like a Bluetooth adapter to work is a multi-day adventure. (And I'm a 20+ year Linux veteran.)

I still use Linux because I know that my hardware will mostly work, and that once I get past a month of fixing bugs on a new install, I can basically make it do what I want. But it's so frustrating to use compared to Windows. The only reason I don't use Windows instead is performance and troubleshooting is worse there (for the most part) and security is scarier. But I want to throw both Linux and Windows in the trash. And I won't buy a Mac because the price and incompatibility is absurd.

> "oh, you used your Linux distribution in a way we said you could in our docs?"

Huh? Adding third party repositories has never been a supported path. You're welcome to use them since you own your system, but the future stability of your system is then down to the ability of the third party to not break it. Usually third party apt packagers don't consider future release upgrades.

What do you expect users to do in this case, when apt has old or missing software? Are users expected to limit themselves to the software in the main repositories? Windows and macos don’t have this constraint. Installing applications from the internet never breaks windows update or macos. (Sometimes macos updates break homebrew or kernel extensions, but that’s kind of easier to deal with.)
Users can only realistically do what their third party software providers tell them to do.

The third party software providers, however, owe it to their users to provide reliable and responsible mechanisms for users to consume their stuff. Providing a third party apt repository that breaks the user doing a future release upgrade is not it.

Now we have snaps, AppImage, Flatpak. These mechanisms can be used by third party software providers to provide safe and reliable (for the system) software. Any of them are better than providing third party apt repositories.

> Windows and macos don’t have this constraint. Installing applications from the internet never breaks windows update or macos.

That's because it isn't the norm for third party software to hack up the OS in order to install themselves, rather than use the mechanisms provided. It used to be - remember DLL hell? They got away from that, and our ecosystem needs to do the same.

Just as another data point, to be honest, I've had nothing but similar issues with Ubuntu. It always found new, weird, sometimes downright bizarre ways to break, often in ways I never could figure out how to fix. Mind you, that was back when I didn't even do anything unusual and didn't know how to really dig into the nuts and bolts of linux... I just installed fairly normal apps from the repository with no custom configuration. ...That was all pre-snap.

Ironically, I tried again post-snap thinking that would make things harder to break. The first app I tried to install failed in some bizarre way. I fixed it eventually, but it left a pretty sour taste in my mouth. I've had upgrades pre 20.0x that basically nuked my whole server. I just can't in good faith recommend ubuntu to beginners anymore. Mind you, that's for desktop... The 20.04 server is actually pretty nice for a headless linux box, though usually I just run it in a container from a debian system via lxc.

Conversely, I've never broken my Arch or debian systems beyond repair despite really hacking the ever-loving shit out of them. I think I had one package I had to fix the version on and no other significant issues.

Agreed. Ubuntu aways broke more than my Arch system.
Funny how experiences change between systems. I stopped using Arch because it kept breaking every other day for months. On the other hand I’ve updated Ubuntu every 6 months for the last 8 years and it never broke.
I'm sure you don't mean it, but this reads very much like victim blaming and responsibility reduction. Most likely the assumption of what the distribution should do is different for the user and provider, which is going to lead to a lot of talking past each other and not many issues being fixed.
I've had dist-upgrade work 1 out of ~7 times I tried it. My count may be off, but that one time I had to help it along.

Yes, I was installing stuff into ~ the entire time.

> If you want to run an Ubuntu LTS system then I suggest that you do your hacking inside containers (whether system containers like lxd, or app containers like Docker). Then you won't need to hack up your system itself, and then upgrades will generally work fine.

Configuring additional apt sources isn't hacking anything up. It's utilizing the normal functionality of your operating system's package manager. It's part of the point of using an operating system with uniform and sane tools for managing software.

And this is why the year of the Linux desktop will forever be in the future. From the cryptic (to a normal user) error messages, the broken repositories, the (often) primitive UI/UX, I really don't see Linux becoming more mainstream popular anytime soon.
have a backup and skip the do-release-upgrade script, edit /etc/apt/sources.list directly for newer repos, outcomment anything 3rdparty (in sources.list.d/ too) and update+upgrade+dist-upgrade your system into the future, did it this way for years.. it's almost a rolling rhino
For my part, I prefer NixOS, too, and it works just fine on a laptop.

However: do-release-upgrade is really conservative about shutting everything down and reversing as much as possible if anything goes wrong. But if you know your way around apt and dpkg and you know how to mount a borked system and chroot it, you don't really need do-release-upgrade. Just manually hack up your apt sources to the next LTS release and use your favorite apt frontend (aptitude is probably best for this) to upgrade and full-upgrade your way through it. Use dpkg with some --force flags if the state of things gets really messed up.

Updated a bit ago and it is a fantastic release so far. Yaru is very mature by now and the speed improvements for animations in Gnome 40 are very evident.
Over a decade of Ubuntu use, could not be happier!

I remember in 2000s, I had to edit /etc/ text files to set up internet etc. Nowadays everything works out of box. All sorts of peripherals and hardware is recognized automatically. High quality free open source software is available for most stuff I need. The freedom to choose software and customize Linux, if required, is amazing!

Am I missing anything ignoring closed source Windows and MacOS?

video games :(
Proton.

Play on Linux.

Lutris.

Yeah, gaming on Linux has seriously come a long way thanks to the efforts of Valve and the wider community. My main issue with gaming on linux is cloud saves; while it generally will work with Steam, other platforms like GoG have no such capacity, and it's a real drag compared to Windows.
(comment deleted)
Open source game development remains light, but Wine works better now than at any time in the past.

I installed a game that had a Linux release that blew up on ALSA libraries. The ultimate fix was to install the Windows version over Wine.

Does Steam work in Wine?
The Steam client works natively on Linux. It ships its own version of Wine, called Proton and many games work well. They are doing lots of work to get the remaining games working in preparation for the launch of Steam Deck.

https://www.protondb.com/

Steam Proton is the way to do it now.
From my experience:

Linux > Steam > Proton > Windows Game

works better than

Linux > Wine > Steam > Windows Game

There's really no reason to be running Steam in Wine when Steam runs natively within Linux and Proton does the work for you for each individual game.

I can vouch for Proton. In some games, I can even get more FPS running on Proton/Vulcan DX emulation than natively on windows. One such example is Path of Exile. I should totally NOT be playing this game..
I wish I had time to play, but transport fever, civ 6 and KSP all seem to work just fine every few months when I get a few hours.
In my experience, Ubuntu, or Linux in general, works great on desktops but very poorly on laptops due to lack of hardware and driver support. Not a hardware engineer myself, I think this is because desktop hardware is more standardized while laptop hardware is more proprietary, advanced, and custom-made to different makes and models. My previous job was the first job I had wear a company-supported Linux laptop was even an option. I absolutely loved it, but fully admit it was incredibly difficult to set up and maintain. Most devs continued to use Macbooks.

One specific Linux issue I ran into repeatedly is that Chrome and Chromium by default refuse to trust Linux graphics drivers and instead do software rendering. It turns out, software rendering makes your browser really slow and makes it burn tons of battery when not plugged in. I eventually figured out how to enable most acceleration for Chrome. However, there were several electron apps like Zoom that didn't expose any option to enable hardware acceleration. The zoom desktop app was completely unusable for me on Linux. Instead, I used the browser app exclusively.

Slack was similarly unusable without hardware acceleration but to its credit exposed an option to enable it.

> One specific Linux issue I ran into repeatedly is that Chrome and Chromium by default refuse to trust Linux graphics drivers and instead do software rendering.

https://i.imgur.com/u1sKBiu.png

I don't remember the details, but I remember it wasn't nearly as simple as toggling a switch. I remember it involving a mixture of:

* Setting custom startup flags to chrome

* accessing a hidden dev-specific page and turning on acceleration features that were deemed unsupported or experimental.

This page looks related though I don't remember if these exact instructions worked for me or not: https://www.linuxuprising.com/2021/01/how-to-enable-hardware.... I had to do a bunch of research before I arrived at a working solution.

After I enabled these features, my desktop started encountering a problem where I would have to kill and restart the display manager once, and thereafter the display manager would occasionally hang and I'd have to restart it.

It was manageable with a few days research and technical skill, but it's not the kind of thing you would expect most people to put up with.

Another thing to note, Chrome's software renderer didn't seem to play well with my skylake? integrated graphics. Not only was it slow, but buggy with screen tearing and other visual artifacts. So I had to get acceleration working so my browser would both render properly and be reasonably responsive and performant.

Anecdotal but no less amusing: I upgraded my desktop and used the extra parts to rebuild my Windows 10 system, the nearly cutting edge hardware on the newly rebuilt main desktop all worked when I reinstalled xUbuntu 20.04 on the new SSD.

The hand me down parts, while not ancient, were still old enough that I had expected Windows 10 to be able to support it when I installed it on the SSD for that machine. Wifi and Webcam both did not work after Windows finished installing and detecting hardware/updating.

Windows 10 later decided to reboot my system, unprompted, when I still had a project file open in Premiere.

How far Linux has come is honestly refreshing. How long Windows has continued to have absolute dealbreaker issues is astounding.

The immense majority of Windows installs are on computers that come with it. Because of that, OEMs make sure all bits and pieces they sell at the same time work with it.

Also, that’s why even printers need to come with a CD of Windows drivers (probably for the imaginary CD drive that no longer comes with the computer)

Out of interest, have you tried other distributions? Perhaps Debian based like Linux Mint / Pop OS, or others like Manjaro?

What keeps you using Ubuntu after all these years?

For me, because Ubuntu just works for everything I need it to. So I have not found the need to try a different distro.
I've personally tried some of those. Ubuntu simply works. I hate most of their defaults, most add bugs, Ubuntu is what most cloud providers use if you're a dev, every software provider targets Ubuntu if they target Linux, and so on.

You can install Ubuntu and it'll work. Easy. No other distro I've tried (Fedora, Suse, Manjaro, Mint, Mageia) is as easy.

I've had driver issues with things like arch and debian. I maybe enjoyed digging into that a decade ago. I don't anymore.
I know we're just sharing anecdotes, but I dropped Ubuntu during the "Megalomaniacal Shuttleworth" days, and I still don't accept his vision for Ubuntu.

If you remember the earliest builds, they included a video of Nelson Mandela explaining ubuntu and implied it as a light, legally unencumbered OS for the world. I was helping build labs in East Africa at the time, and it was a fantastic choice for running scientific operations because of its relative UI cohesion and simplicity over Debian while allowing access to its vast repositories and package groups.

I kind of lost all faith when the power trips started happening across the GNOME Foundation and elsewhere and moved to less divisively ambitious distros that were more responsive to their users.

I've never had issues installing or using Linux on hardware I picked, but I understand the struggles of working around non-spec and proprietary chipsets without drivers. I don't use non-free drivers in most cases, so having hardware that doesn't struggle with them is paramount.

Mint and Pop are still Ubuntu based, not to ignore the Debian underpinnings of Ubuntu.

I've stuck with xUbuntu because it seems to be the most sane of the bunch when it comes to defaults and preinstalled software. Once installed, it does a good job of staying out of my way UI wise.

You'll be surprised, but it's RedHat that made most of that happen. A lot of the important Linux projects are developed mostly by them - Gnome, Wayland, NetworkManager, Pipewire, flatpak, etc.

Ubuntu, on the other hand, seem to like to do many things their way. Like aggressive patching. I recall fontconfig being heavily patched from upstream. Then we have Mir (now almost abandoned), Unity (abandoned), snap (flatpak, done differently, not yet abandoned :).

I get annoyed when I see posts like this with revisionist history.

I can't comment on everything but:

> Unity (abandoned)

You probably don't recall how bad Gnome 3 was initially, and how much better Unity was over Gnome 2. Sure it also had its issues in the beginning, but it took a really long time for Gnome 3 to catch up.

> snap (flatpak, done differently, not yet abandoned :).

I am pretty sure flatpak didn't exist when snap was announced. Or it was around the same time.

Given the above two, I'd place very little credence on the rest of your points. I agree with the Mir situation to some extent, but look at how long wayland has taken to ship.

You are absolutely correct that Gnome 3.0 was bad. Even more importantly there isn't anything whatsoever inherently with going your own way. Doing so is ultimately how we end up with a useful marketplace of tools to pick from.

If you stop worrying about the victimless crime of fragmentation neither gnome sucking or the specific sequence of development matters.

For what its worth I think they date from around the same time.

https://launchpad.net/snapcraft/+milestones September 2015

https://en.wikipedia.org/wiki/Flatpak September 2015

The larger issue would seem to be that canonical has a habit of betting on losers it ultimately abandons. Snap looks like the next roadkill to me. Far from being universal it will probably never see substantial use outside Ubuntu.

It suggests perhaps that they should exercise better judgement.

> It suggests perhaps that they should exercise better judgement.

I have a feeling many of these decisions are driven by internal politics than proper analysis. The first question when you decide to go your own way is whether others will find this more useful than the competition. Build better tools is not sufficient if you don’t invest in evangelising and great branding.

> You probably don't recall how bad Gnome 3 was initially

I do, and I have never seen its face again since then and the huge upsetting of ruining what worked well, and to create something perverse. And unless it was fixed very recently, it still is, because I just tried `gnome-font-viewer` and there are fades in the interface that cannot seem to be disabled. Unjustifiable. Not just the desktop manager: the paradigm. Dis-functional effects imposed to the user for no reason. And in a context which replaced functions with minimalism.

I am still wondering what caused that stroke of lunacy - at the time, I thought it must had been literally a stroke.

> I am still wondering what caused that stroke of lunacy - at the time

Power users have privilege and need to be hobbled; their complaints ignored. The needs of users with the least privilege, the computer illiterate, should be prioritized.

Or something like that.

The general sentiment I see is that if a feature is only used effectively by a small handful of users then it's probably going to risk getting removed. That's just numbers, it doesn't make a difference whether it's "power users" or any other users. Either way maintainer time is limited and sometimes they have to make a decision to drop a feature that isn't pulling its weight.

But I've also never heard any description of the phrase "power user" that was clearly defined. Wikipedia says:

"A power user is a user of computers ... who uses advanced features"

"In enterprise software systems, 'Power User' may be a formal role given to an individual who is not a programmer, but who is a specialist in business software"

So which advanced features and which business software are we talking about here? That could be anything really.

> if a feature is only used effectively by a small handful of users

We do automated computing to have tools in general, as we may need them; and we use special features when we need them.

Figure imagemagick discriminating options or functions the same way ("Lanczos stays in, but we could ditch Hamming").

Those special features all have a maintenance cost, and if no one is around to pay it then their usefulness will diminish until they reach the threshold where it's not worth it anymore. Not sure why any filtering algorithm would be considered out of the ordinary. Do you know how many scientific and mathematics packages I've seen that are are really old, outdated, and suffering bitrot? Quite a few. In fact that seems to be a field where the old algorithms are discarded fairly regularly in favor of new ones. The older algorithms that remain popular do tend to stick around.
Then some mechanism of deprecation could be immensely better than removal (in software with tolerance - an image viewer or an audio editor are not the same as medical equipment firmware or banking software). It could also encourage the interested to review and update the code in case of need.

Some pieces of software are more free to grow, their value is in options (image processing), while others have value in their reliability (banking).

This said, one phenomenon that appeared in the "unfortunate decade" and which is extremely dubious is that of the propaganda that "less is more". No it is not. Freedom is "more". Constraints are "less". (In the general reality of desktop software applications.)

> there are fades in the interface that cannot seem to be disabled. Unjustifiable.

That's an accessibility option. GNOME Settings -> Accessibility -> Enable Animations; or `gsettings set org.gnome.desktop.interface enable-animations false`. Should apply everywhere.

> org.gnome.desktop.interface enable-animations

Yes, but it does not disable the fades, nor all the gratuitous animations I see in the GUI of gnome-font-viewer (one of the very few pieces I can try not having uninstalled it). Those animations must have been hardcoded in the software, it must probably be recompiled - and I do not take it for granted they can be disabled through a configuration flag.

I just tried it and it disabled the fades. Maybe you made a typo in the setting? Most GNOME apps are not going to have animations hardcoded, they typically use standard widgets like GtkStack or GtkRevealer that handle the animations automatically and respect the system setting. You can verify this by opening the GTK inspector in Font Viewer.
> Maybe you made a typo in the setting

Before posting I tried `gsettings get org.gnome.desktop.interface enable-animations` and it returns 'false', consistently (as it should) with `dconf-editor` used to see the options. And I verified (as I just re-did) the behaviour of `gnome-font-viewer`: changing the window content (switching the font) fades (messily) from former to latter, using the menu animates a "pull-down", activating the search slides down the interface...

I will try the GTK inspector today.

Well:

* NetworkManager is a dumpster fire.

* Wayland is 10 years in the making and it's still barely out of alpha and still missing crucial features such as fractional and consistent scaling.

* Pipewire is a welcome attempt to mitigate another source of grief, Pulse Audio.

* Gnome? Lets not get started...

Please. RedHat has been a boon to the Linux community but it's lack of - how can I put it tactfully - design taste? has stranded the platform into a decades-long quicksand of endless circular reinvention.

Well, Xorg is also missing fractional and consistent scaling - because there are many bugs with it
I use fractional scaling with Xorg so it is not missing. Not sure about consistency. It is acceptable for me though.
You're not wrong on wayland. I remember hearing people talking about how great wayland was gonna be a decade ago.

Gnome and Network Manager are fine though. My XPS 15 wifi has been supported for the last three years without any issues.

Wayland is a lot better than X. The problem with any of these low level enhancements is that they take a long time to plumb through the entire system. I wish it wasn't so, but it is.
"still missing crucial features such as fractional and consistent scaling"

This has very little to do with Wayland and mostly has to do with the apps and the toolkits. I haven't really seen many Linux native apps that are able to function correctly at a non-integer scale. The rendering of these apps may have to be entirely changed and refactored to use floating point instead of integers. That a big thing to ask every app to do. The hard part is doing that, and then it's trivial to put a flag in Wayland (or XWayland) for an app to say that it supports it.

Clipboard is consistently broken on Wayland. I don't use any XWayland application, it's all native Wayland. Sometimes when I copy things they don't paste, and I need to switch back to the original window for the copy to register. Or even copy again to be sure. This was never, ever a problem in more than 10 years using X11.

But, fractional scaling is working like a charm on Gnome + Wayland (after a gsettings command). Very crisp, despite people saying it doesn't work. On X11, even on KDE, I can't get fractional scaling this crisp. This is the only reason I'm using Wayland; all the rest sucks.

But, the problem is, GTK doesn't support fractional caling natively. Even GTK 4 supports only integer scaling. So for fractional scaling the compositor has to scale up, then down. This approach generally causes blurring (though I don't know why Gnome on Wayland here isn't blurred).

When I see screenshots of people with fractional scaling on Gnome, it appears very blurry. Comparing side by side, here it isn't. I don't know why and at this point I'm afraid of messing it with and ruining everything.

"Sometimes when I copy things they don't paste, and I need to switch back to the original window for the copy to register."

I have honestly never had that problem in years of using GNOME Wayland, but I experienced it many times with misbehaved X11 apps. Maybe you want to come up with a reproducible test case and then report it?

"Even GTK 4 supports only integer scaling. So for fractional scaling the compositor has to scale up, then down. This approach generally causes blurring (though I don't know why Gnome on Wayland here isn't blurred)."

That's what I mean, it has to be done in the toolkits first. The first step would be to add support for that to GTK which is unlikely to happen until at least GTK5. Then after the apps can start to support it, I think you're looking at at least a few years before there is a realistic chance of having that. Sorry to disappoint, it's just not an easy thing to have. And I don't think there is much incentive to support this from a hardware perspective either since most people that I see asking for this are using it as a workaround for oddly sized 4K monitors.

"This is the only reason I'm using Wayland; all the rest sucks."

I feel your frustration but I actually would not suggest using Xorg in 2021 unless you really know what you're doing. It's not secure unless you take great pains to make it so. GNOME's Wayland session is the most secure Linux desktop there is outside of security-focused distros.

I think the main (or only? not sure) culprit is Firefox (running natively on Wayland) https://bugzilla.mozilla.org/show_bug.cgi?id=1726360 - it reports to be fixed in Firefox 93 but I'm on Firefox 92 still, I guess I should just update.

> And I don't think there is much incentive to support this from a hardware perspective either since most people that I see asking for this are using it as a workaround for oddly sized 4K monitors.

All 14" hidpi laptops (meaning, more than 1366x768) suffer from this problem. 1x is too small, 2x is too large.

Those laptops I think would fall in that same category of displays, where the PPI is around 120-180. It's not enough of an enhancement to make the text crisp and not pixelated, and it makes everything look bad unless the apps native to 96 PPI start to implement a certain type of floating point scaling. The higher end laptops of the same size just give you a the same screen but with a higher PPI. Scaling up then scaling down doesn't cause noticeable blurring once you get past 250 PPI, so it's only that class of low end displays/laptops that would benefit from this. I wonder if those displays will even still be around in a few years time, I certainly would like to get a cheaper laptop around that size but with a higher PPI.
From my point of view, my screen - 1920x1080 at 14", at 189ppi, isn't really what I would call low end. Or at least, not in my country (Brazil).

Low end is 1366x768 at 14", which is 135ppi. Most laptops I see have this resolution.

I mean low end in the category of high DPI laptops. I think that would be considered mid range in the category of all laptops, that was my take from looking at prices recently anyway. There are high end laptops that are around the same size and have 4K screens.
> think the main (or only? not sure) culprit is Firefox (running natively on Wayland) https://bugzilla.mozilla.org/show_bug.cgi?id=1726360 - it reports to be fixed in Firefox 93 but I'm on Firefox 92 still, I guess I should just update.

I was just about to write the same, the only clipboard issues I've had in wayland were with firefox. I don't know what they do, but even in windows I get weird behavior at times (e.g. when copying out of Jupyter cells for example), much less than wayland though.

Lack of functional fractional scaling is what makes me want to switch to Windows or Windows+VM or Windows + ssh to compile.
Ah sorry... so the major issue is not with Wayland itself, but with the major toolkits that in 10+ years haven´t bothered or figured out how to transition away from a rasterized buffer model.

Right. It doesn't matter if the fault is with GTK, Qt or the Wayland APIs not providing enough support for this to happen, sometime in the last 10 years. The problem is that it didn't.

In the meantime I've been using MacOS that has been doing vector graphics since what? 15 years?

SMH...

This isn't about vector graphics. There is always going to be a rasterized buffer, that's unavoidable. Even more so as apps are moving to newer rendering APIs like Vulkan and Metal. Apps doing custom rasterization is probably going to get even more common. The real issue there is what scale you do the rasterization at, because some things just cannot be expressed in terms of vectors. I believe Qt does support doing floating point scaling in some cases [1] but I've heard it's really broken because the apps still need to make changes to support it. You can't just take any old Qt app and recompile it with the moral equivalent of "#define int float".

This is also not a matter of "fault", by necessity the majority of the work that needs to be done here in the toolkits and apps. That's just the way it is. It's not that hard to implement this on the server side, you just don't scale that buffer when rendering. MacOS is an not a good example because that also uses an integer scale.

[1] https://doc.qt.io/qt-6/highdpi.html

Ok, let me rephrase. What I mean is - how I see it - that Apple just made the choice for every developer and gave them a conceptual model and tooling that does not depend on individual pixels or require them to make an extra effort in adoption (because you know how that goes.)

It baffles me that Linux is still stuck on this pixel grid that just hangs together at a specific density of 96dpi; something that harks back to the VGA days

https://docs.microsoft.com/en-gb/archive/blogs/fontblog/wher...

agreed, Redhat developers are behind many foundational packages (longterm thinking?), but I credit Ubuntu with bringing many users into Linux. They continue this with the WSL stuff.. while I see how distribution non-cooperation is difficult, at least the users of Redhat and Ubuntu-derived distributions have vastly more in common than what they differ by.
The fontconfig patches are a big reason I stay with Ubuntu. Fonts look _so_ much better on Ubuntu than Arch/etc.
You can install their patched version of fontconfig on Arch

- https://aur.archlinux.org/packages/fontconfig-ubuntu/

Then you can use their font config confs

Here is the list they are using: https://hastebin.com/fukibunuji.conf

Copy paste what you have in your ubuntu install, then believe me, fonts will look similar!

Make sure to also install the ubuntu font familly

https://archlinux.org/packages/community/any/ttf-ubuntu-font...

And set your font hinting to: slight

Screenshots:

https://i.imgur.com/lKgvBeG.png

Looks good even on YouTube with Dark Theme:

https://i.imgur.com/dohPxoL.png

I moved from Debian teating to Ubuntu on the desktop in 206 as I felt the repos were more uptodate. The last couple of Ubuntu releases have announced me significantly though, netplan and subiquity especially
> Nowadays everything works out of box.

Except for decent power management on laptops, and certain Bluetooth headsets.

PopOS has decent power management.
PopOS does slightly better than most distros out of the box on my Thinkpad. Installing tlp greatly improves battery life across all distros I have tried and basically eliminates the advantage PopOS has. Unfortunately compared to this level of improvement I still get about a 30% improvement in battery life using Windows without any tweaking at all.
Have you checked out Fedora? Out of the box I had as good as (or close enough to) Windows' battery life on my ThinkPads and normal consumer hardware due to certain optimizations [1] they've made, to the point where I don't even run tlp anymore.

Furthermore they've introduced power-profiles-daemon in Fedora 35 [2] by default, which allow granular-ish control similar to Windows' "Power Mode" option and PopOS' system76-power.

[1] https://fedoraproject.org/wiki/Changes/ImprovedLaptopBattery... [2] https://fedoraproject.org/wiki/Changes/Power_Profiles_Daemon

I have tried Fedora and battery life was still awful in comparison. Looking at the details of the changes referenced in your 1st link they are for Intel chips or chipsets. My Thinkpad is Ryzen based.

I even tried the beta of Fedora 35 which still had awful power management for me. After a couple of days I installed the latest to tlp to see if it had improved the situation since my last try. Still no where near Windows and requires disabling the new power profiles daemon.

Maybe things would be better for me at this point if I had an Intel based laptop but my previous one was and the situation then was the same.

- About 90% of the (GUI) software ever developed? I'm happy to hear that there are quality Linux alternatives nowadays, but there's just many order of magnitudes more choice on Windows (and far less, but still more on Mac). For a lot of categories, this might change in the next decade (Electron and other cross-platform frameworks, tech like Proton) but for things like media editing or even image viewers, or until there is some tech to seamlessly emulate, this won't be a fight.

- Trivial app portability - I absolutely love the concept of portable Windows software. Have a single folder with configuration and binaries, that can run for sure anywhere (give or take a .Net/VisualC install) - and you can achieve this for 90%+ of all available apps. With a some sync tool it's simple to have the same (as in reproducible/copiable) work environment on many machines (in the context of ad-hoc gui user applications). I know this concept isn't really transferable to Linux (separated locations per app, "just build from source") and there are attempts (Snap) but due to the fractured scene and #1 it's not that practical for end-users.

- Hardware compatibility - cool that you didn't have device issues, but this could be because you just don't use non-mainstream hardware. Even when I did, a lot of special functionality was bound to (Mac/Win) drivers. Sure, not Ubuntu's fault, but still.

I think Ubuntu/Linux success stories are infinitely subjective - what you need as an end-user, how much time or patience you have, or how much you value privacy/lack of telemetry/security.

Re 2: It's actually gotten a lot better. There exists Flatpak, AppImage, Snapd, and of course Docker on the 'container' front.

A growing number of apps, probably due to Go, are just as you described - a binary you can run anywhere.

I will say, I've been solely a Linux user for almost 20 years now, and still prefer the Windows structure as you described. I like the idea of applications in their own folder, with the binaries and configs and everything just there. In Linux, of course they are divided - confs go here, binaries go here, libraries here. The problem is that -here- isn't well defined. Directions for one distro don't necessarily translate directly to another wrt to locations.

> Trivial app portability

The "registry" is not an issue anymore?

A negligible percentage of apps use the registry to store configuration, and even if, when missing, it's not an issue. If absolutely needed, conf can be easily exported/imported on a per app basis. What's far more common is to store stuff in AppData, but that can be synced as well (with a whitelist).
I'm not sure how this is easier than just synching up your dotfiles on Linux
You can do the same thing in Windows if the software supports dotfiles. There's plenty of Linux software that requires additional configuration beyond dotfiles.
Like?
(comment deleted)
Apparently an idea that GNOME thought it was worthwhile to copy.
DConf is great and not a 1:1. Also with flatpak apps store plain text configs privately and dconf is more of a system store now.
Exactly like the registry since application virtualization was introduced for MSIX packages and WinRT/UWP, and the application manifests introduced previously in Windows XP.
Well, completely different on format, they are just ini files now.
Some of this feels out of date. I've used a fair amount of what seems like obscure peripherals and they've all worked fine for at least a few years. That definitely was not the case in 2008 and desktop Linux was legitimately hell at times back then.

As far as relocatable installs, this is entirely a choice on the part of distro maintainers and a consequence of how the packages are built. They can be built in a way that allows you to put them elsewhere, but it would defeat the purpose of having a package manager. Which makes me wonder, does winget support relocatable installs? I'm sure you can at least understand why Linux distros have chosen to do packaging this way. The killer app for Linux is server installs. It might be perfectly fine to allow users to move around software they've installed after first installing it on a single-user home PC, but it destroys the possibility of automation. A package manager can't know where the software is if it's constantly moving, meaning it can't upgrade or remove it without significant user interaction, which can't possibly scale to data centers full of servers. Different needs for different markets, unfortunately, but to me, even at home, this is an advantage of Linux, because I have many devices.

I guess not being choose between hundreds of media viewers might matter if you're actually a professional media editor or creator, but very people are that. Granted, any professional use of a computer other than making software is going to benefit from Windows. Professional software just targets Windows. That's on the creators of those packages, not the system itself. Whether it's CAD, media editors, the Adobe suite, software teams that charge for use don't like Linux. But they don't like it because people aren't using it. It's a chicken and egg problem.

I'm not sure I actually agree with the ease of adding and moving Windows software, though. One of the big problems is it's often impossible to completely uninstall something. Applications quite frequently drop files all over the place that Windows Installer doesn't know about if it wasn't registered upon installation, and it's even worse if your "installation" doesn't use Windows installer at all and it just you copying an executable file somewhere. Did it leave data in %PROFILE%/LocalLow/AppData, %PROFILE%/Local/AppData, or %PROFILE%/Roaming/AppData, and what the heck is even the difference between those? Where is it putting logs? Where is it expecting config? Without any sort of filesystem hierarchy standard like Linux has, there is no way to know, and systems just gather cruft over the years to the point that common advice is periodically wipe your entire root filesystem and start from scratch.

Except for the last sentence, most of this is wrong in some way or the other.

>- About 90% of the (GUI) software ever developed? I'm happy to hear that there are quality Linux alternatives nowadays, but there's just many order of magnitudes more choice on Windows (and far less, but still more on Mac). For a lot of categories, this might change in the next decade (Electron and other cross-platform frameworks, tech like Proton) but for things like media editing or even image viewers, or until there is some tech to seamlessly emulate, this won't be a fight.

I think this is highly subjective, sure if you need some specific piece of software (e.g. photoshop), but for everything else you are pretty much covered. In particular free software for common tasks like image viewing is much better on linux, on windows everyone uses some piece of software they received with some camera or similar, which is often unmaintained and riddled with bugs.

> - Trivial app portability - I absolutely love the concept of portable Windows software. Have a single folder with configuration and binaries, that can run for sure anywhere (give or take a .Net/VisualC install) - and you can achieve this for 90%+ of all available apps.

App binaries and configuration in the same folder? On my windows install there are lots of files in some subfolder o f C:\Users\<Username>\AppData\ and C:\Program Files\Common Files\

And finding the correct subfolder is not always trivial if you try to nuke your configuration. Mind you that is not necessarily easier in Linux either however things got better and more and more software adheres to the XDG standard locations.

>With a some sync tool it's simple to have the same (as in reproducible/copiable) work environment on many machines (in the context of ad-hoc gui user applications). I know this concept isn't really transferable to Linux (separated locations per app, "just build from source") and there are attempts (Snap) but due to the fractured scene and #1 it's not that practical for end-users.

Syncing your work environment over to a different computer is trivial in Linux compared to Windows (not that this is a very typical end-user work case either). Sure if you put a different distro on every computer it's not so easy, but why would you do that?

>- Hardware compatibility - cool that you didn't have device issues, but this could be because you just don't use non-mainstream hardware. Even when I did, a lot of special functionality was bound to (Mac/Win) drivers. Sure, not Ubuntu's fault, but still.

Yes you still run into the odd bit of hardware that doesn't work, but that's quite rare even on very recent laptops. This is also not a solved problem on windows either, if you don't use the pre-installed OS on your windows PC then installing a new version can result in quite a bit of chasing drivers.

There are issues with Linux still, but the ones you listed are not among them IMO (and Windows isn't really better on this either). One of the things that I find annoying at times is that developers don't seem to consider upgrades to the configuration files when releasing new versions. After some upgrade the previously saved configuration doesn't work anymore, because the file format changed or parameter names changed or similar. While I suspect this happens in windows as well, it's more of a problem in Linux because one upgrades more frequently.

> About 90% of the (GUI) software ever developed? I'm happy to hear that there are quality Linux alternatives nowadays, but there's just many order of magnitudes more choice on Windows

Most of the people don't need this though. I've migrated many individuals and middle offices from Windows to Ubuntu (for myself I prefer Manjaro though) starting from 2007. They only use Firefox/Chrome, Skype/Telegram, Thunderbird, LibreOffice, PDF&picture viewers and VLC (so it's not even about alternatives - all the essential apps already are cross-platform and even easier to install/update on Linux) and never asked any questions - everything feels intuitive and works great. WiFi used to be hard to set-up in 2007-2009 but not anymore. Printing and scanning works slightly unstable with some printers (mostly because they go to sleep and disappear or stop working in Ubuntu). The only Windows app I really miss on Linux is Paint.Net - to me it seems the ultimate perfect non-professional graphics editor while its Linux clone (Pinta) is slightly crappy, although does the job generally and I still am very grateful it exists. If only Linux also had full Visual Studio and Adobe Illustrator+Photoshop it would be hard for me to name a reason to use Windows at all. Most of the new apps I encountered during the recent years (e.g. Obsidian, Typora, MS Teams, etc.) just use Electron and work seamlessly on Linux as well as Windows and Mac this way (I know MS Teams is deprecating Electron and worry about this). The situation with games has also changed (to good) significantly during the recent years AFAIK and probably is even better than on the Mac OS now.

VSCode is fine if you are doing .net core. Paint.NET is great though, its genuinely the only thing I miss at my debian machine.
> VSCode is fine if you are doing .net core.

I know. But it lacks ReSharper and I also just feel better and happen to be significantly more productive in the full Visual Studio because of its look-and-feel (this is a mild OCD-related phenomenon). VSCode also notably lacks visual WinForms designer (a thing I would actually pay to get on Linux) and many other features many programmers use.

> Paint.NET is great though, its genuinely the only thing I miss at my debian machine

Try Pinta really, if you still didn't. It's worse but does approximately the same job in the most of the use cases. I would feel really sad and do any hacking to return it if it would be discontinued.

> Trivial app portability - I absolutely love the concept of portable Windows software. Have a single folder with configuration and binaries, that can run for sure anywhere

The Linux way of installing the apps is merely a convenient tradition. You can still put the app files anywhere and run. It will put its configuration files wherever the developer wanted them (conventionally the app dir is meant to be immutable and the files are meant to be stored under the user's home dir though). In fact many apps (incl. Chrome and PyCharm actually are installed the Windows way under /opt which is an equivalent to C:\Program Files\).

> there are attempts (Snap)

I actually hate this concept because it encourages duplication (same program files installed under different users) and adds performance overhead (often significant). So, when no traditional package is available I rather get an AppImage and just drop it in \opt (the downside is it won't automatically appear in the menus though so I have to create .desktop files and update the app itself manually).

This also seems very bad for the office setting. I have dozens of employees set-up on dozens Ubuntu computers in the office and want a single-install/update to apply to everyone seamlessly. Now I see Firefox moved to Snap in Ubuntu 21.10 and this scares the shit out of me, but it's supposed to be possible to force it the traditional way in 21.10. They say they will move it to snap only in 22.04 though so I will probably abandon Ubuntu and switch to some distro which is not corrupted by this bullshit. This is sad as Ubuntu still is the most polished and muggle-friendly out of the box, their GNOME mod in particular.

> The Linux way of installing the apps is merely a convenient tradition. You can still put the app files anywhere and run. It will put its configuration files wherever the developer wanted them (conventionally the app dir is meant to be immutable and the files are meant to be stored under the user's home dir though). In fact many apps (incl. Chrome and PyCharm actually are installed the Windows way under /opt which is an equivalent to C:\Program Files\).

I don't think he was disputing the technical possibility of it. It doesn't help him from a user perspective though to know that this is merely a convention and not a technical limitation.

So what's the problem? Nobody forces him to follow the convention. Do you believe he really is concerned by the fact most of the people do? I would even speculate there possibly is a niche distro (now I'm also curious, whoever knows such - please mention) which manages the apps the Windows way entirely.
For my work PC, I use Ubuntu, period. Too many third party apps just don't work very well outside of the Ubuntu ecosystem, apps which I need in order to function in my workplace.

I'd probably use something like Arch or rolling my own for work if these apps weren't necessary!

fyi: There are distros which are fundamentally Ubuntu, like PopOS.

I'm curious if the apps you're talking about are not mainstream.

Could you elaborate? Which apps run in Ubuntu and not in Arch?
In theory you can probably get most apps working on Arch, but if you want support and an easier life it's generally best to stick with the official packages from the developer which are almost always packaged for Ubuntu and RHEL only.
I would also be interested to hear.

I'm using Fedora on my personal hardware where I don't remember encountering much (Linux-supported) software that wouldn't work. I had to tweak something to get e.g. the native Spotify client working, and it would probably have been easier on Ubuntu for which it's packaged, but problems are relatively few and far between.

On the other hand, in the workplace I've only had Windows in recent years, so it'd be nice to know if there are blind spots in work-oriented software that I've missed.

So you’re saying 2021 is the year of Linux desktop?
>Am I missing anything ignoring closed source Windows and MacOS?

I went back to Windows with WSL. My employer relies heavily on Outlook and especially the Outlook calendar. The equivalent in Thunderbird does not work well at all with missed invites/missed reminders/missed meetings.

WSL with Ubuntu is amazing for dev work!

Kernel panic is also free.

I'm using Ubuntu for 7 years and I have to admit that more unstable system I can't find. No dist upgrade was successful for me, I don't have a week without something crashed, and right now I had to make downgrade of kernel in Ubuntu 21.10 just to boot the computer.

But I still can't shutdown or restart is safely because it crashes during the process of turning off.

I don't know why I'm here, in Linux land. All this is so pathetic I can't even describe it.

Servers on linux are cool, but desktop is a pain. Change my mind!

The one thing that I don't like about Ubuntu is that you don't have a taskbar.

It is such a productivity boost to see a list of all windows and their titles.

And it let's me organize my work much better when I can organize this list by changing the order of the buttons.

Is anybody here using Ubuntu with a taskbar?

What do you mean? Mine has a taskbar from default install. Which window manager are you using?
What do you mean by "What do you mean?"?

I don't know which window manager. I just use Ubuntus defaults. It looks like this:

https://ubuntu.com/wp-content/uploads/a728/2020-04-23-13.05....

That is a launcher + taskbar. Open an app, it will show that the app is open. Open a new app, it will show there. Similar to the OSX dock.
Yes. I have been using it for a few weeks now and it sucks.

Because it does not show the titles of all open windows.

And I cannot organize the entries as I wish.

It's great for tablets, though

/s

Switch window managers and you'll be able to do that.
Desktop Environments is what they meant (GNOME, Unity, other variants).

If your desktop look like similarly to the image you posted, the soft black vertical bar on the far left side of the screen is the taskbar. I think you are using Unity as your DE which is default DE for Ubuntu.

You can change to different DE if Unity is not your liking. There is a couple variants you can use, you can find them in the package manager and install it from there.

I thought the vertical left bar is a "dock".

It does not display the titles of the open windows and does not let me arrange the entries. That are the two problems I described.

It feels like this is meant to be used on a mobile device rather than on a desktop. On a desktop it makes me way less productive compared to a normal taskbar.

It is the same thing, all OS taskbar does not always behave similarly. That is Unity DE unfortunately, they are trying to "Fisher-Price" everything in there.

If you want a better taskbar/dock, try different DE and see how you like it.

That's not Unity, that's GNOME with extensions mimicking Unity.

Also instead of changing desktop environments, he could install the clean/stock GNOME session and then add Dash to Panel + Arc Menu, which would give it a Windows-like taskbar.

Unity is no longer the default DE, Ubuntu uses Gnome3. Unity has not been the default since before 18.04.
As others have mentioned it looks like like you are using the default Window Manager. You can install others that will provide a more familiar taskbar for you (that is a taskbar on the left of your screenshot). I've like LXDE and XFCE in the past, Im currently using KDE + Plasma, its only been a couple weeks so Im still learning it but might switch to another. Long story short you can definitely find a taskbar that will meet your needs for Ubuntu.
I recommend you try LXDE or Xfce with Ubuntu or any other distro. They are the closest I've used to "just clone Windows 95 with a few enhancements and leave it alone", which I like.
No premade flavor for it, but icewm is great at this.
An easy way to get xfce is with the Xubuntu distribution. I've run that since 14.04, or maybe longer. I get all the benefits of Ubuntu with a lot less UI churn.

If you already have an Ubuntu box, you can also install the `xfce` package or do this:

    sudo add-apt-repository ppa:xubuntu-dev/staging
    sudo apt update
    sudo apt install xubuntu-desktop
Horizontal bar, with icon and title, for the windows open in the current desktop; vertical bar, with bigger icon, for the windows from all desktops.
Yes, I just install KDE. Gnome drives me crazy too.
Install the “Dash to Panel” Gnome extension.
I love Ubuntu but maybe not snaps so much.
Had been with Ubuntu for so long but some problems with snaps finally drove me away from it. For now, I'm using Mint due to familiarity without snaps but flirted with "user friendly" Arch derivatives (had problems with both) and NixOS (got tired of specializing in a programming language just to use my OS and ran into some problems I couldn't find a solution to.)
I had no issues with snaps. If anything, I wish more userspace software is provided via snap packages.
The problem with snap is not the software selection, but how obnoxious it is on the system.
Can you explain that a bit?
I've written this comment several times, but it basically spams your system folders, mounts, daemons, and more. Integration is clumsy and poor. It doesn't give much ability to configure it either. Canonical just doesn't have the human-enginering chops/resources to polish all the rough edges. Sorta reminds me of docker, good ideas, middle-brow execution.

Add in poor startup performance, and I removed it. Replaced Chromium snap with a PPA, which was faster and 10x less intrusive.

It's been a while since I evaluated them all since I'm a Nix user so my portability needs are met already, and it seems like the sandboxing stuff is still getting worked out, but my impression the last time I looked was that Flatpak was better thought out.

The mountpoints thing seems very minor and cosmetic to me, though.

I guess it sucks to be surprised by something that's only kind of okay.

Just gave Snap another try last night and I was astonished at the slowness (both for package installation and program startup times)

can't really think of a single thing about the experience that I liked, and it even seemed bad compared to other container systems, like Docker and Flatpak

If you want to solve security, portability, and distribution in proper way, you will end with something similar.

Security: Snap are running in sandbox by default and have proper support for system permissions. They are installed in user home directory. There is central store that allow for reporting and regularly perform security scanning.

Portability: Snaps works on most distros. They allow building once and distribute everywhere model. You no longer need to build multiple packages for every package manager in universe. They make building software for Linux easy[1]. I remember doing rpm to deb conversion, installing from source and running stuff in VM/docker.

Distribution. Most distros do not accept proprietary apps. Most importantly, you are no longer at the mercy of distro maintainers deciding when you can release your own software. Because your snaps are portable, your users will get updates even if they are on an older distro. Hopefully no more PPA hell that can brick your system.

[1] https://www.electronjs.org/docs/latest/tutorial/snapcraft

>Portability: Snaps works on most distros.

The sandbox doesn't work on any distros that aren't using the latest AppArmor, such as Fedora and derivatives.

Flatpak tries to solve the same problem at least for desktop apps, but with a few key differences:

- The sandbox is implemented entirely using user namespaces, not using Apparmor or Selinux, hence works on basically any modern distro.

- The user remains firmly in the driver's seat in terms of when applications get updated. Yes, you can enable automatic updates, but unlike with snaps, you can also opt out.

Others have met these requirements with better integration, UI, etc. See sibling comment for one.
Ugh, totally this. Upgrading Ubuntu to 21.04 broke IntelliJ's Chromium debugger because chromium moved from apt to snap (DESPITE installing it through apt!) with the extra sandboxing rules.

The proprietary nature of snap and being unable to install alternative sources without partnering with Canonical/uploading a public package drives me mad.

I've upgraded my desktop install from 16.04 all the way to 21.04 without any issues and I plan on upgrading to 21.10 later this week. However, the moment the setup collapses, I'm moving to something Arch-based. I don't want to deal with snaps and the snap problem is only going to get worse as time moves on. If the snap package manager was completely open source and had self-hostable repositories, I'd consider staying, but right now I might as well use the Windows Store/winget if only the client's source is open and alternate package sources are decidedly not a supported use case.

I've heard good stories about EndeavourOS and my laptop is already running Manjaro. I've got a feeling I might be switching to one of those before the next Ubuntu LTS.

I love Ubuntu. But I wish their package manager supported "undo".
It does, if you use ZFS, for which there's an option during the install: https://www.maketecheasier.com/use-zfs-snapshots-ubuntu/
etckeeper helps, too, if you're not on a CoW filesystem
ZFS is currently broken in Ubuntu 21.10, as mentioned in the release notes. Don't install or upgrade to Ubuntu 21.10 if you're using ZFS, or you may experience filesystem corruption.
I loved Ubuntu around 2007-2009 or so. Nowdays it feels like there are plenty of alternative distros that "just work" without so many of the idiosyncratic stuff canonical keeps dumping into what used to be "debian for the masses"

> As Linux evangelist Mark Pilgrim once quipped, Ubuntu "is an ancient African word meaning 'can't install Debian'".

https://www.theregister.com/2009/02/16/debian_lenny_review/

Debian has a strange approach to security these days.

There are over 100 unpatched vurnurabilities in their version of Chromium for example:

https://security-tracker.debian.org/tracker/status/release/s...

Because of this, I don't see debian as an option for the Desktop anymore.

I hope they still fix the server software in their repos.

Looks like all the CVEs are fixed in Debian Sid at least.

Edit: Not all, apparently. The whole bottom of that Chromium CVE list is still unfixed in Bookworm/Sid.

Which makes a good case for rolling release distros. Not that Sid is released but things tend to get fixed upstream quickly and there’s less lag than both testing and stable.

The flip side is stuff breaks more regularly of course.

Is this a 'chromium is not a priority because google' ?

Or maybe lack of resources and the maintainer needs help.

Probably google. Chromium has made the decision to bundle all their dependencies instead of play nice with system libraries. Which means you either need to re-roll all of chromium when something is found, or you need to undo google's efforts. I don't blame distributions for refusing to give chromium poor support - it is intentionally not playing nice.
Yeah because when your software is at the scale of Chrome, "playing nice" with system libraries as you put it means your software is unreliable, difficult to debug and reason about. You want as few unbundled dependencies as possible.
That is their excuse, but I don't buy it. Plenty of other projects manage just fine.
Is that the case for all distros? For Arch I see only libEGL/libGLESv2 are bundled, every other library is an external dependancy: https://archlinux.org/packages/extra/x86_64/chromium/
All is far too strong to apply when there are as many different distributions as their are. Arch must have done the work to separate out all those dependencies, Debian has also stated their position is dependencies must be separated out as well.
How many of those vulnerabilities have patches available ?
From what I can tell, the problem with these packages is that the security fixes need to be backported into earlier versions of packages because upstream fixed them in major version releases.

Chromium 90 does not contain all security fixes found in Chromium 93 so there are tons of CVEs open on Debian systems still rocking Chromium 90.

Most packages have fixes available but Debian doesn't have the manpower to backport every single security fix for every single package. This is a result of the way their project is structured: they guarantee that no major software updates happen within Debian releases, helping you get a completely stable system, but that comes at the cost of an incredible amount of work for the Debian maintainers.

Debian chooses to modify or repackage upstream versions for compatibility or branding purposes (to the ire of many open source developers, like notably that guy that made XScreenSaver. I'd link to his rant about it, but his website shows some angry rant when HN is in the referer header...) That means that maintainers still need to do manual work even when upstream has already provided them with a fix for the latest version supported in Debian.

This is why I prefer to run packages from repositories maintained by the developers themselves rather than relying on Debian's maintainers. The risk of needing to update config or check for breaking changes is much higher, but the security risk and patch cycle length is much lower. Even for browsers that release actively-abused 0day patches it can take up to a day or longer for some distributions to update their packages.

I’m a long time Ubuntu user and haven’t really shopped for other distros. Any recommendations besides Debian?
Fedora, Arch. You can basically look for any popular distro, they're all working very well if you're not entirely out of your depth wrt Linux
Agreed. I've done a lot of Ubuntu and Arch. Arch is fantastic. I recently have been trying out Fedora and I have been enjoying it a lot.
Yeah I switched to Fedora recently, with pipewire setup by default its really easy to get great audio performance out of the box, I used to have to build custom kernels for jackd.
openSuSE Leap is nice if you don't have anything against rpms. Upgrades just work and the distribution has an 18 month support window. The packages are pretty polished too. We're currently using that and Debian and also Ubuntu 18 on the developer workstations, which we'll switch to Debian 11.
PopOS. Ubuntu with better power management and a tilling WM.
I’ve been really happy with Mint. It’s based on Ubuntu internally, but it feels light and fast.
Manjaro seems pretty popular now. It's based in Arch with rolling releases and everything but gives a good experience out of the box while Arch is a full time job to maintain
> Arch is a full time job to maintain

I've never understood that sentiment. Are there things I don't know about I should be doing?

I installed Arch probably four years ago on my laptop, and have never had to do anything but install updates and read the announcements on archlinux.org since.

I do understand the appeal of Manjaro - I did use it briefly when it first came out - but I don't see how maintaining Arch Linux would appear as being particularly complicated. I literally don't do anything with it I wouldn't do with any other OS.

The fact that any update may break your system if you're not careful is quite stressful when you're working. It's only a few hours from time to time, but when work is pilling up "just for an update" it feels like days.

Also, it seems to me that ArchLinux had less very impactfull changes in the past years because it has matured quite a lot. It's only an impression though!

If you like (or are okay with) GNOME, I'd recommend giving Fedora a try.

Been using for a few years now and it has been the closest thing to "set up and forget" to me (I needed to install some codecs to play H.264/HEVC video). Painless upgrades, decent software catalog... It has been extremely reliable. Highly recommend it.

My home server uses Fedora. I've upgraded it on every release, from Fedora 29 all the way to 34 today. I've been dailying the 35 beta on my desktop and it's been great so far as well.
Mint is arguably better at being what Ubuntu was originally intended to be. And is still based on Ubuntu, so all your mad apt-get skills still apply, the packages are readily available etc.
Ubuntu is a commercial distro. They have their own infra, they have their own security team, they have large amounts of reliable funding and contracts.

Mint is worked by a few people, had several large security flaws including not distributing security updates timely. They had issues in the past with their ISO being hacked.

I can empathize with the whole mint, small time dev-base stuff. It just doesn't make sense to me compared with just going straight ubuntu + cinnamon.

KDE Neon. Based on Ubuntu but with a UI built by and for actual users, not a UI built by experts for grandmothers.
If you want to use a multitouch trackpad fluently, Elementary is is the only game in town. It has macOS-level support which is pretty cool.
How do they get it? Can't those tools also work in Debian or Gentoo? What's the magic sauce? Kernel patches?
Can't edit my comment but thanks for pointing this out. For anyone not wanting to watch the video, apparently this release includes trackpad multitouch support comparable to elementary.

It looks like Ubuntu is now comparable to Elementary. I'm going to be trying this out ASAP. Ubuntu with Wayland does a much better job with high and mixed DPI display setups. Maybe now I won't have to choose between running my 4k display at full resolution and using my trackpad.

If anything, Cannonical is aligning with mainstream in recent years: upstart -> systemd, unity -> gnome, mir -> wayland

New things that are Canonical specific are netplan and snap. I think snap is solving software packaging in Linux. If anything, I wish that snap brand stores were more affordable.

It would seem that snap brand stores are essentially hosted private repos something one could do for Ubuntu for as little as $5 a month. Why not just use those?
Use flatpack
Use AppImage + firejail (optionally, to fully sandbox AppImage)
I've tried AppImage, Flatpack, and Snap, and AppImage is the only one that approaches tolerable.
Still dumping snapd into their server distro for some reason though.
what's wrong with snap? is it that it needs a deamon?
Four issues with Snap: 1) You don't have control over how it updates packages. By default it can eat your LTE if you run your laptop after a while, for example. 2) It's eating into apt world. They are migrating programs into it which could've been usual apt packages. 3) It normalized longer startup times. 4) There are still issues with file system interop etc, but I personally can't provide an example.
> There are still issues with file system interop etc, but I personally can't provide an example.

Is that why my firefox downloads file into a tmp directory instead of ~/Downloads?

I also used to have vscode unable to sudo but it's no longer the case, maybe it's flatpak now, haven't checked

As someone who left Ubuntu at Hardy Heron (8.04), what are the problems with Ubuntu these days ? I know they tried to do desktop differently but failed to convince other distros and projects to change paradigms but it seems to me they are back to more common infrastructure now.
Assuming I don't really give a crap about what mechanism is used to update Firefox, and just want a browser that works, what am I missing out on by sticking with Ubuntu?

It's always been my OS of choice because I don't really care about my OS. Is there another distro that is similarly easy for me to get up and running With current versions of Firefox, chrome, vscode, and docker, and on whatever random hardware I happen to have available?

I use Fedora personally for these exact reasons.
I’ve seen that quote so many times used in forums and I find it annoyingly condescending. Actually I think that kind of attitudes are one of the worst things in the linux community in general. Anyways, I used to stupidly joke back saying that “Debian is a code word that means: no relevant contribution to the linux ecosystem for the last 15 years”.
My setup for last 3 years is Ubuntu with i3wm (gaps) and NIX as a package manager. I keep Ubuntu as it is, just upgrade OS packages from time to time. All custom setup goes to nix package manager. This way I have more flexibility there and up to date tools that I use. I have all dependencies in a repo, so can quickly spin-up the same desktop environment in another computer if needed, as an example I do it between my personal and work laptop. This is preatty handy and I don't feel any difference switching between computers.
Then why not just go full nixos?
I just like to have a backup,and be able in case there would be some issues (for whatever reason) just use Ubuntu. For example some package just not exist in nix
Any chance your repo is public? Care to share a URL? I'm just getting curious about Nix, and would love to see this specific use case in the wild.
After using Ubuntu for a couple years, I switched to Arch and never even think about going back. Ubuntu is great for people new to Linux, but it is like buying a new PC. Some people know very little about computers, so they just get an HP or Dell. Then once you start learning about graphics cards, SSDs, cooling, processors, etc... You either build your own or buy one with the components you actually want. That is why I use Arch.
What is so great about Arch? Is it just gentoo for the younger generation? I used to use gentoo and build all my own stuff, but I just don't care about that anymore and want it to just work. That's why I use Ubuntu after using Linux for 20 years :)
It's a DIY KISS distro, but with a lot less building packages from source like on Gentoo. And with systemd as default which to me is a benefit.
Arch has a lot of the flexibility of Gentoo (no default desktop/window manager/network software/etc., very small minimal install) but binary packages (with pacman, a package manager that many prefer to apt/yum), as well as the optional but very enticing AUR, which is essentially a first-party hosting of third-party packages (kind of like a one-stop shop for PPAs, if you're used to those). Arguably, the only strong opinion Arch holds is defaulting to systemd; you _can_ replace it, but it's a lot of work and a lot of the package in the main repo won't work as-is if you do.
It’s great to see continued work on Nvidia GPU virtualization. A few years ago it was a monsterous challenge.
I think 20.04 LTS with its 10 years support separates it from the crowd. As soon as you’re updating every nine months there are many great alternatives however.
10 year support is great for servers and "set it up once" type setups - but soon enough the libraries provided begin to be out of date, and you end up hacking things in.

It was a problem on CentOS before it died the death, anything remotely PHPish was always really unhappy.

The IUS Repo did much in the way of solving PHP Hell on RHEL(type) machines.
Ubuntu isn't perfect, but as someone who has used Linux as a daily desktop driver for the last 3 years or so, I think it's the best we've got (including downstream derivatives like Pop and Mint). Its release cadence seems to be in the sweet spot between 'bleeding edge and may break things' like Fedora and Arch, and 'too slow for a developers desktop' like Debian. I think for the Linux desktop role, it still manages to edge out the other distros.
A lot of negativity in this thread.

I've been using Ubuntu for about 10 years and is my favorite distro after trying a few others. I went through the whole distro hoping thing and using Arch to set up everything just the way I wanted phase, and while very fun & educational, it isn't good for getting things done.

Ubuntu just works and let's me be productive with things I care about.

Thank you Ubuntu team!

Same, getting close to 20 years of use here and I keep coming back to it.

Big thanks to the team and community. I'll see if I can read a Full Circle again soon. :-)

I've had a similar phase and just switched back to Ubuntu a week ago after having used a number of different distros since 2011. As a software developer myself, I think there is a mix of two emotions that lead to this; fear of missing out (FOMO) and imposter syndrome. I was trying to learn as much as possible for a while, adding skills to my resume, thinking my peers were doing the same. (They were not). All that time I ended up suffering from some pretty poor UX issues (Audio/Bluetooth/Wifi) that I tried fixing unsuccessfully or ignoring for the longest time, that I forgot what it was like to use a system THAT JUST WORKED out of the box.
Not enough negativity I think. Positive feedback loop without a reality check is not confronting the real issues. Ubuntu has many.
Does this release allow ZFS-on-root via the server installer? (previous releases allowed ZFS-on-root, but only via the desktop installer)
ZFS is currently broken in Ubuntu 21.10 and causes filesystem corruption. See the known issues section in the release notes.
I had rotated a lot "pre-ubuntu" trying to discover a distribution that works a decade+ before. It was always trying to get the video card (at high res) and wifi dongle to work.

Ubuntu just worked out of the box and I was very happy with that. So. Cool. The magic was also the boot live install that also worked. It really was magical.

I am using Ubuntu on desktop and a mac via VM now which is also good performance (no need to dual boot), so I think tech in general has come a long way.

===

Thought someone might be able to help here with something on my mind: 1) smooth mousepad scroll? 2) able to utilize multiple "desktops" (ie: swipe to different desktop). the mac seems to captures the vm as a single application so I can't get multiple desktops other than within the guest vm on a single screen.

"the most productive environment for cloud-native developers and AI/ML innovators across the desktop, devices and cloud."

Whoever wrote this phrase checked all the boxes in the buzzword list.

I've been running Ubuntu on servers for over 12 years. It generally works great... until you upgrade it to the next major release. I haven't had a smooth Ubuntu upgrade in years. During one upgrade, the system lost the default route. There was some bug with multiple NICs. Another time, it decided to rename all the network interfaces, requiring a bunch of manual reconfiguration. Then for some reason my boot device got switched (perhaps this was really a UEFI issue?) and the system failed to restart.

Some of these systems have 3 or 4 NICs, multiple HDs and NVMEs in RAID configurations. Is this that exotic a configuration?

It probably isn't a configuration that is well tested. I only update servers between LTS releases and take the opportunity to start with a fresh install. I think this makes sense even for Windows servers. Too many things change, not only in hardware configuration/drivers, but also major bumps in software packages eg: nginx, apache, postgresql etc.
Yes, part of my problem was a few of these systems had been through multiple upgrades: 14.04 -> 16.04 -> 20.04. Still, these are all LTS releases. I was able to fix all of these problems by dropping to single user mode. But I've been working with Linux since 1993...
I'd love to see Ubuntu being the defacto standard for OS, far better than the fashion-driven MacOS and telemetry-driven Windows. But, I am pretty much against the self-congratulating rhetoric in this thread. Everytime I use Ubuntu, it hangs up. Just today, I tried to install new fonts and the Font manager just froze. The basic UI framework has so many hangups that it is impossible to imagine saying anything positive about it unless 1) People have no expectations 2) Haven't used MacOS or Windows 3) People have low standards for excellence.

That said, this is an open source effort by volunteers. The fact that we have OSS that even come to compare with commercial offering spending billions is amazing and also an indictment that it will never surpass it. Especially with Big Tech making their own custom chips with close integration in the OS.

Someone in SV should start a Gitlab-like venture, but for operating system instead of git. VC-backed and open source.

which laptop do you guys use? it seems you basically cannot install linux on macbooks anymore
I have a HP EliteBook 850 G7, which I use with Kubuntu 20.04.2 LTS. Mainboard audio had some wonkiness and I'm not sure about the fingerprint reader, I never used it. Everything else worked out of the box: webcam, function keys, touchpad, pointing stick, video card, every USB device I have thrown at it.
At home I use Ubuntu and it just works. Mostly, because it can't recognise correct external monitor resolution, it's stuck to fhd instead of qhd, which with windows 10 job pc works like a charm.I don't have the time to troubleshoot these issues anymore. Other things works, really zero issues (wifi, bt...)
Your monitor is probably broken with bad EDID, Linux just respects that more. Can always override it.
The saddest thing about it so far is they didn't bundle the most recent GNOME.
> support for Bluetooth LDAC and AptX codecs

Hooray!

> Firefox version 93 is now seeded as a snap by default

Fooooooo!

They say they will still support the classic deb as an option in 21.10 but are going to move it to snap-only in 22.04 though so I will probably abandon Ubuntu and switch to some distro which is not corrupted by this bullshit. I have dozens of employees set-up on dozens Ubuntu computers in the office and want a single-install/update to apply to everyone seamlessly, not having to install/update an app separately under every user on every PC. Snap also notably doesn't work with LightDM's guest user mode (which I found the coolest feature introduced in Ubuntu after the Unity desktop).