Really leaving the Linux desktop behind

I’m excited to start a new chapter of my life tomorrow. I will be starting a new job working at an excellent company with excellent benefits and a comfortable wage.

It also has nothing to do with Linux distributions.

I have asked, and been granted, clearance to work on open source software during my off time. And I do plan on writing libre software. However, I really no longer believe in the dream of the Linux desktop that I set out to create in 2015. And I feel it might be beneficial for everyone if I describe why.

1. Stability.

My goal for the Linux desktop started with stability. Adélie is still dedicated to shipping only LTS releases, and I still feel that is useful. However, it has made more difficult because Qt has removed LTS from the open source community, plainly admitting they want us to be their beta testers and that paid commercial users are the only ones who deserve stability. This is obviously an antithesis to having a stable libre desktop environment.

Mozilla keeps pushing release cycles narrower together, in a desperate attempt to compete with evil G (more on this in the next section). This means that the yearly ESR releases, which Adélie depends on for some modicum of stability, are unfortunately being left behind by whiz bang web developers that don’t understand not everyone wants to run Fx Nightly.

I think that stability may be the point that is the easiest to argue it could still be fixed. You might be able to sway me on that. There are some upstreams finally dedicating themselves to better release engineering. And I’ve been happy to find that even most power users don’t care about running the bleeding edge as long as their computer works correctly.

My overall hope for the future: more libre devs understand the value of stable cycles and release engineering.

My fear for the future: everything is running off Git main forever.

2. Portability.

It’s been harder and harder for me to convince upstreams to support PowerPC, ARM, and other architectures. This even as Microsoft and Apple introduce flagship laptop models based on ARM, and Raptor continues to sell out of their Talos and Blackbird PPC systems.

A significant portion of issues with portability come from Google code. The Go runtime does not support many non-x86 architectures. And the ones it does, it does poorly. PPC support in Golang is 64-bit only and requires a Power8, which is equivalent to an x86 program requiring a Skylake or newer. You could probably get away with it for an end-user application, but no one would, or should, accept that in a systems programming language.

Additionally, the Chromium codebase is not amenable to porting to other architectures. Even when the Talos user community offered a PowerPC port, they rejected it outright. This is in addition to their close ties to glibc which means musl support requires thick patches with thousands and thousands of lines. They won’t accept patches for Skia or WebP for big endian support. They, in general, do not believe in the quality of portability as something desireable.

This would be fine and good since GCC Go works, and we do have Firefox, Otter (which can still use Qt WebKit), and Epiphany for browsers. However, increasingly, important software like KMail is depending on WebEngine, which is a Chromium embedded engine. This means KDE’s email client will not run on anything other than x86_64 and ARMv8, even though the mail client itself is portable.

This also has ramifications of user security and privacy. The Chromium engine regularly has large, high-risk security holes, which means even if you do have a downstream patch set to run on musl or PowerPC, you need to ensure you forward-port as they release. And their release models are insanely paced. They rewrite large portions of the engine with significant, distressing regularity. This makes it unsuitable for tracking in a desktop that requires stability and security, in addition to portability.

And with more and more Qt and KDE apps (IMO, mistakenly) depending on WebEngine, this means more and more other apps are unsuitable for tracking.

My overall hope for the future: more libre devs care about accepting patches for running on non-x86 architectures. The US breaks up Google and kills Chromium for violating antitrust and RICO laws.

My fear for the future: everything is Chrome in the future.

3. The graphics stack.

I’ve made no secret of the fact that my personal opinion is that it would still, even today, be easier to fix X11 than to make Wayland generally acceptable for widespread use. But, let’s put that aside for now. Let’s also put aside the fact that they don’t want to work on making it work on nvidia GPUs, which represent half of the GPU market.

At the behest of one of my friends, who shall remain nameless, I spent part of my December break trying to bring up Wayland on my PowerBook G4. This computer runs KDE Plasma 5.18 (the current LTS release) under X11 with no issues or frameskip. It has a Radeon 9600XT with hardware OpenGL 2.1 support.

It took days to bring up anything on it because wlroots was being excessively difficult with handling the r300 for some reason. Once that was solved, it turned out it was drawing colours wrong. Days of hacking at it revealed that there are likely some issues in Mesa causing this, and that this is likely why Qt Quick requires the Software backend on BE machines.

When I asked the Wayland community for a few pointers at what to look at, since Mesa is far outside of my typical purview of code (graphics code is still intimidating to me, even at 30), I was met with nothing but scorn and criticism.

In addition, I was still unable to find a Wayland compositor that supports framebuffers and/or software mode, which would have removed the need to fix Mesa yet. Framebuffer support would also allow it to run on computers that run LXQt fine, like my Pentium III and iBook G3, both of which having Rage 128 cards that don’t have hardware GL2. This was also met with scorn and criticism.

Why should I bother improving the Wayland ecosystem to support the hardware I care about if they actively work against me, then blame the fact that cards like the S3 Trio64 and Rage128 don’t have DRM2 drivers?

My overall hope for the future: either Wayland compositors supporting more varied kinds of hardware, or X11 being improved and obviating the need for Wayland.

My fear for the future: you need an RX 480 to use a GUI on Linux.

4. Usability.

This is more of an objective point than a subjective one, but the usability of desktop Linux seems to be eternally stuck just below that of other environments. ElementaryOS is closest to fixing this, but there is still much to be desired from my point of view before they’re ready for prime time.

In conclusion.

I still plan to run Linux – likely Adélie – on all servers I use. (My fallback would be Gentoo, even after all these years and disagreements, if you were wondering.)

However, I have been slowly migrating my daily personal life from my Adélie laptop to a Mac running Catalina. And, sad as it is to say, I’ve found myself happier and with more time to do what I want to do.

It is my genuine hope that maybe in a few years, if the Linux ecosystem seems to be learning any of these lessons, maybe I can come back to it and contribute in earnest once again. Until then, it’s system/kernel level work and hacking POSIX conformance in to musl for me. The Linux desktop has simply diverged too far from what I need.

The Pandemic Nightmare

Note: Typically, I don’t publish or discuss my dreams publicly. This one, however, I felt compelled to share.

I walk through the aisles of the Target store in Tulsa. (For those who live locally: 71st and highway 169.) It’s 11:35 AM, March 20, 2030 according to my iPhone. I push the cart down towards the pharmacy section. I put a bottle of Tylenol in the cart for my mother, who is at home. Then, I amble towards the counter.

The line is extremely long. There are about a dozen people in front of me. Some have carts, some do not. One is holding a basket with a vitamin bottle in it. The people filing out are repositioning their N95 masks. The line moves at a decent pace, about one person per minute.

Finally, it is my turn. A short Cherokee woman, about 5’4″ with long brown hair with blonde highlights, asks in a small voice, “what will it be for you today?”

She shows me a small printed menu. Chamomile, lavender, peppermint, honey, rainforest, spring blossom, … ah. There it is. Cinnamon bread.

“Cinnamon bread”, I politely respond.

“30 seconds for 4.00$, 60 seconds for 8.00$, or we can do the premium package for 10$.”

“Premium package?” I ask, being quite unfamiliar with more options than just duration.

“The scent will surround your whole body, instead of just being a scratch and sniff card,” she replied. “It’s an aerosol spray. You can turn around in the chamber for the entire duration, which will be 60 seconds.”

A full 60 seconds in the chamber… with the scent around my entire body, not just in a scratch and sniff card? How exciting!

“I would love the premium package. Can I still tap and pay with Apple Pay?”

“Yes, ma’am. Of course you can. Just tap, then follow me.”

I tap my iPhone against the reader, then walk behind the counter, leaving my cart in the waiting area. She leads me to a small chamber made of clear plexiglass. It’s just big enough for someone of my size. Next to it, there is a chamber that would be more suited for heavier set people.

She opens a small hatch and I stand inside. She closes the door. I take my N95 off. The smell rains down from the ceiling. I twirl around, closing my eyes and feeling warm and happy. I almost begin to dance, my arms flailing in slow, rhythmic movements as I breathe in deeply.

There is a slight ding. The scent stops. I walk out and take a quick gasp before putting the N95 back on. The inside of a Target store still smells how I remember it.

I look at the woman and quickly apologise. “I’m sorry, I know the mask has to go on as soon as the door is open, I just…”

“Don’t worry about it. Most of my customers enjoy the smell of the store, some more than the scent chamber itself.”

Just then, I see two uniformed Tulsa Police officers walking up the main aisle. I quickly run to my cart.

“Everyone hold it,” one of the two officers shouts. He’s a stern looking man in his 40s with visible stubble and a head suit covering his hair. His partner is younger, with thick glasses and a machine gun carried on his back.

The officer looks at the woman behind the counter. “Picking up a prescription, sir?” she asks, timidly.

“Ma’am, we have reason to believe you are running an illegal scent shop here. You know President Cornyn outlawed the sense of smell in 2029.”

“This is a pharmacy counter. That’s all!”

“Why is everyone fidgeting with their masks, then?”

I try to push my cart into the main aisle, towards the grocery section. The younger officer sees this, and immediately takes out his machine gun and points it at me. “HALT!”, he shouts.

“I just wanted to finish my grocery shopping,” I say in a breaking voice as I begin to cry. I reflexively put one hand to my head, desiring to survive this encounter. I use the other to hit the Emergency button on my iPhone, to clear all data from the past 10 minutes so they can’t use it to determine what I was doing.

“What were you doing at this counter?”

“I was… asking where the minerals and supplements were.”

“Then why were you going the opposite direction? Alright, hold it ma’am, you’re under arrest for suspicion of smelling!”

I awaken to my alarm. The sun is peeking out through the blinds of my window, and I can faintly hear Mum watching TV in her room.

This pandemic cannot end soon enough.

Compaq LTE 5150: Adventures in Tri-booting

My plans for setting up a Retro Lab are finally coming to fruition, and this article is being written live on my tablet as I set up the first computer as I want it to be!

The computer in question is a portable computer from the Compaq LTE 5000 series, the 5150. (No relation to the IBM PC.) Released in September 1995, it features a Pentium professor at 100 MHz, 40 MB RAM, a quad-speed TEAC CD drive, an 11.3″ CSTN panel, Infrared, and an upgraded 6 GB IBM TravelStar hard disk drive.

Additionally, I own the MultiBay ISA docking station. This adds a high-quality 2.1 channel speaker system, NE2000 Ethernet adaptor, and SVGA connector. I plan on using an external monitor for games. However, the portability of this machine means I can take the Retro Lab on the road!

The plan.

My plan for this computer is to tri-boot MS-DOS with Windows 3.1, Windows NT 3.51, and OS/2 Warp.

A 2 GB C: drive will have DOS and 3.1. A 2 GB D: drive will have OS/2. The remaining space will contain NT.

Implementing the plan.

My LTE 5150 does not have a working floppy disk drive, and it was released before the “El Torito” standard allowed for booting from CDs. This means it can only boot from the hard disk. How to install an OS, then, if it means the disk needs to be erased?

My solution: put the hard disk in another computer, set it up, then put it back in the LTE!

MS-DOS 6.22 set up running on an Athlon XP

I chose my Compaq Presario 2100 for installation tasks. It has a USB floppy disk drive that the BIOS is capable of emulating as a built-in one. DOS doesn’t even know the difference.

Windows for Workgroups 3.11 with standard VGA and EtherLink III drivers (the PCMCIA card I have) was simple to install from MSDN CD.

I have long read the NT should always be installed before OS/2, so that was next. Booting MS-DOS, I inserted the Windows NT Workstation CD-ROM and ran WINNT /B /X. This ensures that Windows NT copies boot files to the hard disk drive, removing the need for floppy disks. Once the file copy process was complete, I swapped the drive back in to the LTE 5150 so that Windows NT Setup would detect the proper hardware.

The plan goes awry.

I selected the E: partition and told Windows NT to format the drive. While formatting the drive, the display suddenly developed lines and streaks in it. This is disaster #1:

Display with black vertical lines.

It copied the files successfully though, so the computer restarted to load up NT and then… disaster #2:

Boot loader signature AA55 not found (DC23 found)

I removed the CPU cover from the laptop and ensured the display connections were tight. Turned on the system while open and it was still not working properly. I asked my Mum, an electronics expert in her own right, if she had any ideas. She suggested messing with the grounding wire which worked. The display is restored to normal working order!

Unfortunately, the boot loader signature error persisted. I decided to use the NT disk setup to remove the D: and E: partitions and recreate them. This made it worse – now setup reported that “Drive C: cannot be examined”, and the computer presented a boot loop, booting directly into NT setup when rebooting. This is because $LDR$ has replaced NTLDR. This meant putting the hard disk drive back in the Athlon XP for some work involving boot floppies and CDs…

A simple SYS A: C: from a DOS floppy was enough to repair it enough to be bootable.

1 of 3

With my holiday break having just hours remaining, I gave up on NT and OS/2. I likely won’t be able to have any time for deep dives again until the Memorial Day weekend in May, so I need to make my time count.

I still have plenty of things I want to do with Windows 3.1, so I am going to just be happy with that.

Installing the audio drivers proved the most difficult. The SoftPAQ (SP2307) really wants to be installed from floppy. Extracting the files to the hard drive didn’t work at first. It turns out that what is needed is to extract the files from disk one to \ESS_1 directory and disk two to \ESS_2. Then running CPQINST from \ESS_1 worked for me.

Lotus Organizer 2.1 running on the Compaq LTE 5150

I already have Lotus Organizer, Corel DRAW 5, and Quicken SE installed. There are some games I plan on installing, including some of my fav Sierra titles, a few Trails (Oregon Trail, Yukon Trail, Amazon Trail – all CD editions!), and perhaps a Carmen Sandiego or two.

Overall, this laptop has been a blast to play with, but I am disappointed that I couldn’t get NT going.

Et tu, OS/2?

As a footnote: It looks like it isn’t a good idea to install OS/2 on a donor computer (like the Athlon XP), and I don’t believe it can be installed without booting off the floppies. Therefore, it is likely to be physically impossible to install.

How I imaged a stack of old IDE / PATA hard drives quickly, and planning out retrocomputing storage

The Retro Lab needs a lot of storage for a lot of computers. Luckily, I have a cache of IDE drives that have been pulled from various systems over the years. However, I’ve never taken backups or images of any of them.

When I was acquiring parts for my Talos build, I ended up finding a combination PATA and SATA USB enclosure at Wholesale Computer Supply for a low price. I never ended up using it, until this weekend!

iMicro 3.5" USB HDD Enclosure

Inside the box, we find cabling that lets you choose which type of disk to connect.

PATA cabling attached to the inside of the enclosure.

I went ahead and skipped putting the cover back on the enclosure since it was safe on my desk. I connected the enclosure to my Talos. For each disk to image, I attached it, turned the enclosure on, and then imaged using the dd command. Once it was done, turn off the enclosure, disconnect, and repeat for the next.

Five of the disks I imaged, next to the (empty) enclosure.

Only one disk out of eight is exhibiting any sign of degradation; one of the Seagate Barracuda 20 GB disks is throwing I/O errors when reading the last few sectors. I recall that in September 2001, I had an identical model drive do the same thing. The 2001 drive lasted long enough to back up most of the data but within 3 days it was dead. I will not be using the disk I just imaged in the Retro Lab for fear it will do the same.

I found some interesting Power Mac data on one of the drives, and a nearly fresh copy of Windows 98 with a few personal files from 2000-2001 on another. It was pretty interesting to see that some of these drives haven’t even been powered up since the Bush administration yet they seem to work just fine.

To be safe, I will be implementing a sort of backup system for the Retro Lab. I’m going to have a network share on a Windows NT Server to save copies of important data, and then mirror the share to “modern” storage on a weekly basis. It will actually be pretty interesting to see what sort of backup solutions I can find to set this up for NT 4.