Bye bye Ubuntu

· Read in about 5 min · (985 words) ·

It’s that time again - time for a new distribution. All said and done, I’ve not switched OS distributions too often; I’ve always stuck to one of the Debian derivatives

  1. Ubuntu

  2. Mint

  3. Stuck with Ubuntu from 16.04 onwards (as far as I can recall)

  4. Switched to KDE neon - but that’s still Ubuntu base

  5. Switched to Gnome 3.x for a couple of and actually liked it.

    • So now KDE Neon now also has gnome - becoming more and more of a frankenmachine 👻

The problems were piling up though - being on a fixed release cycle anyway meant that every time a new LTS came along, the upgrade process is tricky one to negotiate. Inevitably, there’s ppas to disable, then do the upgrade and then figure out what’s broken.

Then there’s the ongoing problem of newer software not being available. For me, this meant:

  1. No Wayland option - both with KDE and Gnome; With Gnome while a functional desktop was available, basic elements like screensharing being broken/non functional is a non starter; KDE neon is rebasing on 22.04 but then who wants to wait?

  2. Broken Bluetooth headset/headphone - pipewire fixed it for sometime but something broke recently so that my headset will frequently disconnect

  3. Just missing software:

  4. OBS studio - great for recording demos; but Background removal plugin wasn’t available and compilation is a pain. 2.

  5. For 3 above, where possible, I’d moved to using flatpaks anyway; They’re bulky but work - sort of…​ you’re still limited by the sandbox nature of it and takes some twiddling to work

Picking a new distribution

Top contenders were Fedora and Arch (or arch derivatives); I tried Arch on a VM with archfi installer script and liked it enough and the philosophy was closer to what I need; Good base repos and the AUR makes even non standard software a breeze (also easy to break things too); In the end, I went with Manjaro though for slightly more stability - we’ll see how that works out. I figure, I could always just go native arch if Manjaro’s more a hassle.

Installation

  1. Booted the live image for Manjaro Gnome.

  2. Decided to do this in two steps - once booting with live image and going through all the steps for installation with a note of what’s missing/broken without actually installing it. It worked out well.

  3. First problem - wifi dongle requires a module 8192eu; It’s not Manjaro/Arch but shitty realtek dongles…​ In any case built the kmod and saved it on a pen drive. On subsequent live image boot for real, getting functional Wifi was just insmod ing the kmod from a usb drive.

  4. Launched the installer. My plan was to install Manjaro side by side on a separate partition pointing to my existing /home. First thought was whether I should shrink my existing /home to create a partition; However, this wasn’t necessary as one of my SATA SSDs was unused and then there’s a small risk of hosing my working partition by trying to shrink it.

  5. Bootloader - I didn’t want another bootloader - rEFInd has served decently, I like the simpler configuration but I wasn’t sure how to tell the manjaro installer not to bother with a bootloader. Asked on r/ManjaroLinux and someone said that if I don’t pick the ESP & /boot partitions, I should be good. While this sort of worked out, in retrospective, I probably should have specified the /boot as my original KDE Neon boot partition so that the kernel image gets installed there. should have pointed the installer at my current /boot.

  6. Installed; used same username/pw for user and about 10 mins later was booted into brand spanking new Gnome 42 on Manjaro.

Post Installation

So I have a side by side installation - so if things don’t work out, I could always go back:

  1. Booted into X11 Gnome on Manjaro; that was puzzling…​ I’d come across some resources that said Wayland was on by default.

  2. Audio - no devices enabled - that’s a bit strange for 2022. Saw pulseaudio - that’s weird as well.. I thought pipewire was on by default. In any case, installing pipewire and wireplumber and a reboot sorted that out.

  3. Gnome 42 running on XOrg - nice but choppy - usual NVidia driver tweaks to work out.

  4. Problems that needed fixing:

    • suspend/resume screen corruption - related to nvidia again - This has to work for me to be usable

    • enable wayland - smoother UI was one of the reasons that got me thinking of switching distros in the first place.

    • OBS and Background removal plugin

Suspend/Resume

  1. Enabled Wayland - just uncomment line in /etc/gdm/custom.conf and restart

  2. Enabled kernel modesetting and then enabled nvidia driver options

    • Also added nvidia modules to /etc/mkinitcpio

    • run mkinitcpio -P.

  3. Gnome 42 required a [fix documented here](https://www.reddit.com/r/archlinux/comments/vq3uey/suspend_is_failing_with_nvidia_and_wayland/) that was preventing suspend

  4. Brought back my [automated monitor power script](/notes/monitor-power-on-suspend/)

Pipewire

  1. Installed pipewire and related from repos.

  2. Also found [noise suppression](https://github.com/werman/noise-suppression-for-voice) already in AUR - so simple to install it. Had to add a config file manually though.

OBS and backgroundremoval plugin

  1. This took a little longer and was a little more confusing because I was trying to get the native plugin working with a flatpak installation.

  2. Eventually caught on that it wasn’t going to work

  3. Switched back packaged version in repo and all was good.

Remaining problems

  1. I can’t get a neovim GUI to work reliably; Tried neovide, fvim and gnvim; First crawls and has a node process pegging a CPU and the GUI is sluggish. fvim - blank black screen; gnvim - works just the first time I launch it (sometimes); otherwise throws a panic

  2. Firefox Developer Edition (Aurora) - Oh so snappy under Wayland but somehow the icon’s missing on the top bar 🙁

    Missing Firefox icon
  3. I need a good ssh-askpass alternative…​ the default in /usr/lib/ssh/ssh-askpass is just too basic :)

That’s all for now.