Good Morning from my Robotics Lab! This is Shadow_8472, and today I have a few related projects I jumped between over the month. Let’s get started!
Kernel Regression
In the process of software development, it is generally impossible to continuously add features without ever introducing bugs. The heart of an operating system is no different. I never figured out exactly what happened, but my laptop started getting ridiculously long boot times after a Linux kernel update. Like: 10 minutes time spent not waiting on the user to enter decryption keys and login credentials – assuming it didn’t crash. However, by mashing F8 and F12 (only one of them is needed and I’m too lazy to figure out which one) during boot, I could access a menu to boot an old kernel without undue delay.
I honestly cannot recommend System76 enough. I’ve spent a while with different tech support agents, and my experience with System76 is consistently the best. I am very thankful they have native English-speaking agents who know their stuff. No one is paying me to say this.
After a few commands, I was told my hard drive was on the full side. That could explain some stuttering I was experiencing. So, I deleted a large game I don’t play anymore and installed a 2TB hard drive in my second of three M.2 slots. Opening the case to install it was as simple as unscrewing the bottom and pulling a little, following their guide. I installed PopOS 24.04 and it booted in a reasonable time. I want to eventually move over to it, but I so far haven’t figured out LVM management enough to mount my encrypted partition, and unfortunately that is outside the scope of System76 support.
Our conclusion was that either I had a weird configuration somewhere or the kernel had a regression. In either case, there’s been another new update, and my laptop boots normally again.
Headphones Jack Destroyed!!
Towards the end of the month, I had my laptop set up while out and about, and I got startled badly. Like really badly. Enough to rip my 3.5mm audio out from from the circuit board, ruining the audio wire while I was at it. First moral of the story: Never use a straight end on a sideways pointing headphones jack. An elbow in the wire makes the connection point a lot weaker as a lever, and might have saved an approximately $80 mistake after parts, shipping and tax. Again, thank you System76 for putting such exposed circuitry on an easily replaceable separate board (although the charge for shipping was painful).
As of publication, the board hasn’t arrived. In the meantime, I still need sound for my workstation. My first thought was to pass my audio through my Blue Yeti. By default, this microphone has a monitor function so you can hear yourself. I already disabled it, and it took just a little educated guesswork to route audio correctly. I don’t like the idea of keeping my good microphone set up all the time though when the same USB-C multi-adapter has a 3.5mm audio out.
However, educated guesswork wasn’t enough for round two. Seemingly no matter what I did while trying to play audio through the multi-adapter, sound would end up either not playing or finding its way over HDMI to my main monitor. On the odd case I got as much as a chirp out of my speakers, my video driver would blink to black, stabilize, then blink out a second time – before either to my monitor or eventually giving another split second of audio and doing the same loop all over again.
I got in touch with System76 again. The friendly agent had me run a couple commands to show what devices were connected, and I did what I could to provide any diagnostic information I could. Often, this would lead to an idea, which I would delay my reply e-mail until I could explore it. The biggest tip this session got me was to poke around with pavucontrol, a fancier audio mixer than the one built into KDE.
I found a mysterious LDC in my display configuration whenever 3.5mm audio is connected. I had a good independent exploration session memorable for my login screen being absorbed by this phantom screen, I looked it up and found the audio was being routed over HDMI, and duplicating my main screen to the LCD was my best move.
One night, I found myself playing a song on loop for an hour and I decided to time the malfunction. I ran a timer on the malfunctions and as luck would have it, when I set up the glitch loop and tried timing the split-second “chirp” it ran around 9.5 seconds before LCD disconnected and reconnected, completely busting whatever working theory I had at the time.
At some point, I muted my playback of my video in Firefox, and turned the volume up slowly. No glitch. I didn’t put it together until after I’d glitched it in another browser, website, and even a local game. The common factor was volume; my cheap not-quite-a-laptop-dock has some weak components, leading to signal blowout, resetting its HDMI phantom monitor when it the volume gets too loud. The solution was to turn the volume down and amplification up. A little prompting by a second agent at System76 led to me exploring the audio chirp into real monitor HDMI fail state, and I understand the Linux audio system better for it.
Takeaway
This laptop has been a very good learning opportunity for me. Running desktop Linux is almost the same, but switching between a workstation with two monitors and a speaker system and going on the go adds a new layer of complexity. I still have a while to go before I master PulseAudio. The day before posting, I had trouble accessing my internal microphone from where I disabled it somewhere deep in the OS. But overall, I’m learning a bit more with each fixed problem, even if it’s just to wait a bit while upstream fixes it.
Final Question
What crazy laptop repair stories do you have?





