date : 2023-12-09
You should strive to reduce the number of layers between you and the hardware.
I know you are thinking "but b4rkod, that requires a lot of time and efford but i don't have that" or something similar. Don't worry, there is a easier way to do this. You should take every software you have issues with outside your stack and replace them with smaller components until you have 20 shell scripts that might break second that tie 50 small thangs together, live in the edge!
Advices don't work well when you can't show people the advice works in practice. Soo i will talk about my linux journey(every linux users wet dream, tbh).
Around 5-6 years ago i was a little barkod sticker, around the same size but much stupider, running a equally stupid windows 10 install to play even stupider games. One day for some class homework i had to use my computer for some homework that had quite a lot of affect on my notes. Of course i started doing it at the last day at 10 pm but OF COURSE the windows failed me and started a update it couldn't finish. I don't rember how but at around 6 AM in the morning, the work was finished. The very next day i was installing ubuntu on my computer.
Of course ubuntu was better than win10 but had issues, first issue was that systemd was spending 1.30 minutes to do
At the first proper GUI i saw on my system i burned the arch ISO and started installing it late at night. I think it took around 5 hours to install it working with network and XFCE. Arch was far cooler than ubuntu but the systemd issue that made me sometimes wait for 1.30 minutes before boot persisted. I think i used arch for a year, it worked flawlessly until it didn't.
Pulseaudio was the culprit, Poetteringware always is the culprit. The audio stopped working randomly and i couldn't fix it again. At this point i knew how to use vim and thanks to the arch people around me i wasn't scared of the command line anymore. I started reading about linux audio system and realised pulse audio was a second layer on top of a audio system. I just deleted it and audio started working again. I learnt anything from this as you would see.
As time went on i understood that i wasn't going to find a solution for that wait before the boot. Systemd wasn't working as intended or i wasn't supposed to poweroff with mounted flash drives and external hard drives that weren't in /etc/fstab. I choose to chance systemd as you would expect.
There came Artix, i installed it without issue on my desktop. At this point, i was already using the suckless tools and when i made the change i decided i would compile them all in a TTY after setting everything else up. That was far easier than i thought. Now the userspace ran like this after runit
- tty comes up with name already writtten
- i write my password
- startx gets executed if the tty is tty1
- startx executes dwm,sxhkd and several st terminals
- I open programs with sxhkd and move the windows with dwm
Pretty efficient, really error resistant because there is not much that could be broken and 1337. I was running the dream setup, didn't know it could get better. How you might ask
Pulseaudio, the cancer was there! Poetteringware in its purest form. I don't even remember the exact story or the technicalities but i had some issues with audio that i fixed by just deleting pulseaudio and restarting. I learnt nothing from this.
After years of using this system, i bought a x201(my beloved Asena). The change was soo simple it made me feel weird. I took the harddisk from a system with r5 2600 and RX 480 and put it in a system that had M540 and intel HDG. It just ran, no issue no nothing. I just installed the fingerprint reader software and added it into the software stack.
But i was stupid once again! Not even long ago, i am talking this week ago. I tried pipewire because i couldn't get the dmix part of alsa to work(i tried to play a video alongside music and didn't even test it). I thought pipewire would be some neat basic software that made things easier. It was absolutely the worst software i have ever seen.
Where should i start it, where should i kill it, why doesn't it run from .bash_profile, why does it require 2 different software to work when one could execute the other, why does it require a graphical environment? i don't know and i don't wanna learn.
Anyways, turns out i set mpd to interact with the sound card directly and it didn't allow other programs to interact with it as long as it ran (it always runs in background). I was even ok with just not having a dmix working and fixed alsa while reducing the lenght of my mpd config file.
If you ask me why i have a complicated mpd setup instead of a basic mpv/mpg123 setup, it is because i was trying to show someone open source doesn't equal ugly and ncmpcpp visualiser was just far too beatiful to pass at the time. Here is the funny thing, i don't even use its visualizer now. I use a visualizer called vis but the album cover script still requires mpd.
As much as i like simple, i also like the shiny because i believe if your computer doesn't look beatiful, you won't want to work on it as much. Function over form but not function without form, at least digitally(i dress ugly, simple as).