Why I prefer ALSA

20230227

The great thing about Linux is that if something doesn't work for you, you can try something different. Whatever it is, it can most likely be swapped out with a new system or hacked together with your own keyboard and spare time.

While I wasn't a Linux user during the time ALSA was the only choice, I definitely grew a distaste for the services we began to run on top of it. I always had many issues with PulseAudio, with PipeWire only adding fuel to that fire. It was difficult to keep either one functional for long without having to restart, having playback issues, not detecting audio devices. They would both constantly crash and I was only an early adopter of PipeWire for this very reason, but it was just the same.

I'm all for reporting bugs rather than complaining, but I had so many issues that I feel it'd be better to just rewrite the whole thing again if it's this bad. It's not a specific system configuration either, as I've had this happen on a few desktops and laptops of mine too. I consider sound to be one of those priorities. I can live without sound, but it wouldn't be ideal.

These servers were just running ontop of ALSA in the first place, and I knew that there was still a small group of old Linux users still holding onto it. They must have good reasons for their strong grip, and I found out they did. While it's definitely not any plug-and-play solution, it's way more reliable for just having something that just works. I've experienced no issues with ALSA so far, and configuring the audio setup makes me feel very in control of what's exactly is going on, which is what Linux should be about. While I definitely wouldn't recommend it to any new Linux user, I would consider it the best way for sound on Linux for more advanced users.

It isn't without it's caveats however. Most packages now are built using PulseAudio or PipeWire and some don't even have ALSA support. For PulseAudio, there is apulse, which isn't perfect sometimes works. As for PipeWire, there doesn't seem to be anything to do for it but run PipeWire, which I luckily hardly use anything with PipeWire. I can't even see any reasoning behind not supporting ALSA anymore. It's apart of the kernel, it's the de-facto way to support every linux system, and it isn't even that hard to maintain support. I might someday work on a replacement similar to apulse for PA and PW, since it'll take a lot to convince me to move from ALSA.

All in all, I am very happy with my switch and I am now a proud ALSA fan.


(c)2024 Wirlaburla