Project Zebra: We are electric prophets, here to twist the world ►

THIS IS THE LATEST ENTRY

2022-05-28 📌 Project Zebra: It is good to be a cynic, it is better to be a contented cat

Tags All Linux Tech Personal

This entry is part of my Project Zebra series covering migration to Linux for personal computing use.

Title reference: H.P. Lovecraft, a jolly old soul.

A bit of a more substantial late entry. For 22.04 I did an early upgrade on the 18th then waited for it to update anything else. There were minor issues with that (as usual possibly attributable due to jumping the gun), including the Firefox snap hanging at "INFO Waiting for automatic snapd restart" then eventually giving a number of error messages about not being able to install, dpkg locks, and completing with errors. The upgrade apparently dropped out at around "Setting up libsigsegv2:amd64 (2.13-1ubuntu3) …" Running sudo apt-get update && sudo apt-get upgrade found lots still to do, and I did need to switch to sudo apt-get install <list> afterwards, and do a sudo dpkg-reconfigure libdvd-pkg for some reason. Doing a "snap list" showed a bunch of stuff brought along with Firefox (bare, core20, gnome-3-38-2004, gtk-common-themes).

So Firefox has now gone, as have the other snaps it brought along for the ride and snapd itself. The snap version became default browser in Ubuntu 21.10 apparently. Although Firefox has historically been an important FOSS project, in recent years it seems to have gone out of its way to alienate users with interface changes and now this. It's Mozilla's decision rather than Canonical's although the company's bullishness with such a messy, slow, wasteful etc packaging format upsets a lot of other people. Therefore Edge has been installed to be the pariah browser signed into Google for YouTube, with only the slight niggle of needing to add its key to get updates working with: wget https://packages.microsoft.com/keys/microsoft.asc && sudo apt-key add microsoft.asc

Back in December, Microsoft got hammered for stuffing buy-now-pay-later trash into Edge and more recently for putting ads into its file explorer, so I'm under no illusions that it's not crapware.

In this upgrade round, Plasma has removed XRender, making OpenGL the only option for the Kwin compositor, although to be fair OpenGL has apparently had a lot of work on it to try to make sure the software rendering alternative is less needed. Certainly it seems to work fine on the couple of older machines I've since live booted from USB on. The switch to OpenGL turned out to not be the root cause of an annoying issue of the panel and desktop flickering with repaints. Hitting Alt-Shift+F12 to toggle the compositor demonstrated that the repaint issue at least related to composition, and replacing the compositor with Compton did make an immediate improvement, minimising panel redraw when icons in the System Tray widget refresh. But Compton didn't fix the issue entirely. (If you ever want an alternative compositor the the Jammy repo version of Compton is certainly functional, just install then copy /usr/share/doc/compton/examples/compton.sample.conf to ~/.config/compton.conf and tweak to taste. It has the nice side-effect it gets rid of rounded corners on various things in Plasma). After some reverted messing around with Intel graphics options, it turned out that the clash was with the TearFree setting in an /etc/X11/xorg.conf.d/20-intel.conf file created per the Arch wiki and without that, the desktop environment seems better than ever.

As of Plasma 5.22 adaptive transparency (and more usefully, opaque) panels are an option for supported themes and this setting translates to the System Tray widget background, calendar and top level of the Application Menu (but weirdly not the sub-menus, nor tooltips for items on the panel). I note that Application Menu also allows a rectangular PNG as an icon, although to be honest I forget whether it did previously, I just recall it forcing buttons to be square in dimensions – which it still seems to do with an SVG file. The most dubious design decision is that the widget adds 4px padding to the icon and ignores Fitts Law i.e. if you've got a 30px panel then the button will be 22px tall and throwing the mouse to the corner of the screen and clicking won't open the menu. But it does let you set a wider target click area of say 22x88 for the times you don't just hit the Super key or a shortcut, and this also happens to be quite an important visual and spatial thing for me personally, I expect the icon to launch a file explorer that I place immediately to the right of it to be nearer to certain coordinates than it would be otherwise.

Having tried the new (?) Plasma functionality I'll admit I've gone back to my slightly edited Breeze plasma style that works around both of these issues by editing config files to modify the app menu button and modify various assets to be opaque, which might want redoing at some stage but doesn't currently seem to clash with anything else. As with the non-obvious tearing issue this is why I keep notes; I like the freedom to tailor things exactly as I want them, but sometimes you need to retrace your steps and undo a previous change. Particularly as I've been running the same core install since around October 2016 and I'm curious to see how long I can push it, it's always interesting when people mention they've got installs that go back much further.

Nemo seems to be a newer version and to have gained file contents searching, which is nice. Following a tip from here I added GTK_OVERLAY_SCROLLING=0 to /etc/environment (I thought I'd done something similar previously, but either an update undid it or I hadn't).

Minor footnote as a memo to self: some time ago I jettisoned Cool Retro Term, ptask, elisa, mp4client, ktorrent, blender, gwenview, ldraw stuff, evince and vmware-player, none of which were being used. vmware-installer -u vmware-player is needed for the last one. Also, to stop AnyDesk running at startup, which I've got installed as an alternative to TeamViewer for remote support for people, use sudo systemctl disable anydesk.service. Also as a memo to self, in Crossover I've got: Office 2007, Image Composite Editor, Lego Digital Designer, DVD Shrink, foobar2000, S3 Browser, VirtualA5000. None of which I very actively use and I think CX may need reinstalling post-upgrade. (Update: or not, unsure if CX 19 will work with current Python, it might be time to investigate Wine properly for a change).

Elsewhere in the community we've got Fedora wanting to deprecate BIOS support in new installs which has, as you might expect, lit blue touch paper. It seems unlikely Debian or Ubuntu will follow, both being small-c conservative and having some imperative to support environments where BIOS may be the only stable option.

A while ago I set up my cheapie laptop as a DVD player, meaning I picked one of a number of old laptop DVD drives in an external case out of a bits box. It had apparently never had a region set on it, so the "regionset" package was necessary to get it working. As the Ubuntu help states, "Most players (e.g. MPlayer/VLC) with most DVD drives are able to ignore the value of the region setting. However, it must be set to something; if it hasn't been initialized, even non-region-restricted DVDs won't play."

In a twist to the kernel NTFS saga, the Register notes that the Paragon driver may already be having some maintenance issues due to world events (pandemic, invasion of Ukraine, etc);
https://www.theregister.com/2022/04/29/problems_for_the_linux_kernel_ntfs/
https://www.theregister.com/2022/05/09/only_microsoft_can_give_open/
However, the lead dev has now responded;
https://lore.kernel.org/lkml/0f48e2eb2b0740b1b85e3b8d910c4bd8@paragon-software.com/

Meanwhile, these days you can make ext4 behave case sensitively and there are options for ext4 from Windows although frankly that need hasn't come up since 2016.

Long story short, I've switched everything over to ext4 (case-sensitive for the drive in the PC) so the user space NTFS driver gets cut out of the equation. There were some learning points here, and interestingly I found a few instances in which Linux had created case-sensitive files on the NTFS partition, eg .jpg versions of files that already had .JPG equivalents. Also, I was reminded that Thunderbird unhelpfully translates symbolic links to full paths.

It's pretty straightforward: set the flags then set the casefold attribute for an empty folder on the partition:
mkfs -t ext4 -O casefold -E encoding_flags=strict /dev/vda chattr +F case_insensitive_folder

When you create an ext4 partition, 5% of the space is reserved for system processes and the root user to avoid the system running out of space. On a 2TB drive this is the difference between 1.8TiB and 1.7TiB available; i.e. about 100GiB, so for data partitions you'll want to do sudo tune2fs -m 0 /dev/mapper/veracrypt1 or whatever to free it.

You might also need to use chown -R <user> /mnt/point on an internal drive to ensure you can access it.

I'm now getting up to 130MiB/s onto NAS partitions on large files although performance to other USB drives varies; I need to do some testing with a good quality cable and possibly different USB ports, but I think some of it is just luck of the draw even with drives from the same manufacturer.

Since OpenGL is now working I've synced my SDDM and lock screen with the desktop wallpaper except altering the filters that are used to modify darker and busier wallpapers. If you go into /usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/WallpaperFader.qml and set target: clock to opacity 1 everywhere, target: clock.shadow to 0, and the readonly property real contrast/saturation/intensity to 1 to stop it buggering around with the colours, things look much better.

And my 10" satellite monitor seems to have almost packed up, getting stuck with the PC trying to switch back to it. It was a very niche thing (basically a netbook screen with a bezel and inputs, yet more expensive than a larger one) but useful for switching a main monitor between devices whilst keeping both accessible. So I've dug out an old eMachines 18.5" 1366x768 display, which was a weird size and native resolution in any era of TFT monitors but being oversized enough that you can see the individual pixels from metres away does make it good as a satellite device or simple applications such as TV. It has a decent viewing angle, especially for an early TFT. And IIRC it was about twenty quid shipped at a time I just needed one to leave somewhere at another address, not be bothered if it fell victim to construction work and be high enough off the desk to avoid neck strain, and would be a complete waste to get rid of. I might detach or modify the fixed stand though. It's perhaps a little bit too high where it is and I wonder if I could turn it upside down and secure it.

Incidentally, Thunderbird uses a non-standard font and sizing for its UI, and one way to slightly improve this is to go into about:config and change the layout.css.devPixelsPerPx setting to something higher to fine tune the anti-aliasing, although you can also use this to zoom the text much more if you want.