While being busy testing all the distros on the mini-PC and on the newer laptop, I forgot to properly test them on the old one. It’s from 2016, with a slow CPU, but it’s still fine. It’s this guy, with the difference that it had an extra HDD that I replaced with a SATA SSD, so it now has two SSDs. I intend to replace its first SSD (mind you, it’s not NVMe, despite being M.2 2280, but also SATA!) with a new one that I already purchased. I couldn’t trust such an old, used, and abused SSD for much longer!

But here’s the catch.

They broke the kernel end-2020 till the end of time!

I forgot that there’s an issue in the Linux kernel with the analog audio jack on ALC282-based systems. As I explained in detail back in 2021, there was a time when I needed to use workarounds to have it detect when I inserted headphones. Then the workarounds stopped working!

They broke the kernel on Dec. 16, 2020: ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658.

The only dummy items were the retards who committed this crap.

In brief, this patch attempts to fix the situation when the kernel expects a separate mike jack in Acer TravelMate P648/P658, by telling it there’s no such thing. But it also does it for my Acer TravelMate P645 where there are two jacks! They fixed P648/P658 and they broke P645.

I used to live with that because, just like I noticed in 2020, when I was using XFCE, it was still possible to manually select the “Headphones (unplugged)” output device in pavucontrol (PulseAudio Volume Control), and the sound would go through, even if the system didn’t detect that the headphones jack had been inserted.

Then I stopped using wired headphones. I went into using Bluetooth, whether with headphones or speakers.

But now I wanted to use external, wired speakers, and it all came back to me: the sound only comes out of the laptop’s tiny and tinny speakers!

Not all desktop environments are in the same boat

While testing various distros and various desktop environments (long live Ventoy!) I got the confirmation that all kernels are still broken, regardless of the version. Hey, it was a fix, so it can’t be a bug, right? The seven other individuals who might have used Linux at some point on this laptop model have probably discarded the laptop by now.

🟢 First, the good news. The undetected audio jack can be used as an output source in:

  • KDE Plasma 5, by selecting it in plasma-pa.
  • XFCE, by selecting it in pavucontrol.
  • LXQt, by selecting it in pavucontrol-qt.

🟠 The “bad, but possibly not hopeless” news: selecting the undetected headphones in MATE‘s mate-volume-control cuts off the sound altogether!

🔴 And the really bad news: it’s impossible to select the undetected headphones in the following desktop environments:

  • GNOME
  • Cinnamon
  • Unity

Whoever designed them suffered from the extreme arrogance known to the users of either Microsoft or Apple: “We know better; let’s not bother the users with too much freedom!”

How was this possible?

Let’s put it in reverse chronological order.

One: Idiots are writing code, and their benevolent dictator couldn’t care less. We all know that the Linux kernel introduces new bugs with every major release and, in many cases, with minor releases too. With the crazy pace at which the code gets inserted into the kernel and with the so little testing it gets, it’s a miracle that the Linux kernel is still usable. (Not that they would care. At the Linux.conf.au 2015, from minute 38 in this video, Linus Torvalds himself was very relaxed about the fact that no one understands how the kernel works and that only some major concepts are documented, because he’s an adept of … biology and evolution!) Except that since 5.15 you shouldn’t trust the Paragon ntfs3 driver. In this particular case, a broken patch is meant to stay there for eternity. Sticking to an LTS version for as long as possible is a wise choice. Using an LTS distro (including RHEL clones and openSUSE Leap) is also wise.

Two: The kernel architecture mandates in-kernel drivers. Why can’t we have, like Windows always had, third-party drivers that can be installed independently of the exact kernel version of the OS? Even if most drivers are running in kernel space, they used to be provided independently of the OS. I still remember the times when I installed drivers from floppy disks. In Linux, only some file systems can be user-space, and they’re terribly slow. But why is that so? Because Linus Torvalds and Greg Kroah-Hartman refuse to consider a stable driver interface, and they insist on “the very good side effects of having your driver in the main kernel tree.”

Three: Sheer stupidity and lack of common sense. In this very niche case, there was no need to have a patch to a driver that’s in the kernel to tell the difference between two similar laptops, one of them with a unique in-out audio socket, and the other one with two sockets. It could have been an external configuration file. It could be a flag that a user could change if needed, or that a setup could have set, as a last resort, after having asked the user. The way it’s now hard-coded in the kernel, it’s fucked-up, unless I decide to rebuild the kernel myself every single time a kernel update happens!

Four: Even more idiocy: the love for software for the sake of the software. If you’re not a zoomer, you should probably remember how the (analog) audio sockets were designed in the days of radio receivers, tape or cassette recorders, and the like. When you inserted a jack, the internal speakers were automatically disconnected, and the signal was automatically redirected to the outside device, using this elementary contraption that involves electrical fucking contacts:

Nowadays, while the capability of sensing the insertion of a jack remains, everything is relegated to software. It’s for the software to decide WHERE the signal should go. WHY THE FUCKING FUCK IS THAT?! Even if contact oxidation were an issue, purely electronic switching is cheaper (because OS-independent) and more reliable than software. And because of such fucking morons, instead of having a thing that JUST WORKS upon the insertion of the jack, I’ll have to fucking curse the retards who broke the Linux kernel! (I remind you that in half of the major desktop environments, no workaround is possible.)

Coda

If I could, I’d kill the entire Linux kernel developing team. They deserve it. If an entire planet didn’t rely exclusively on Linux, not investing a dime in anything else, today we would have had FreeBSD, NetBSD, OpenBSD, and maybe more OSes that would work well on laptops, and generally be adequate desktop operating systems.