Monthly Archives: July 2013

Meet the Pooch!

And so as I’m traveling and not carrying my laptop, I was starting to miss Linux. I couldn’t install it on my wife’s work laptop either, so I was left to ponder a different solution: Live USBs.

The concept is to install Linux onto a USB stick and boot using the USB. Now that’s all good except that most Live USBs are based on the USB model and by default may not include the ability to save between reboots. The missing feature is called persistence. And so that lauched me into a search for something that would work.

It turns out the major distros have something available that helps. I tried Debian first – but by default the WiFi wouldn’t work, and I had to wire myself up, which didn’t seem very feasible. I figured Ubuntu possibly would work too, but I’ve really grown not to like Ubuntu lately. After some poking around I found Puppy Linux! And I love this pooch.

Cool things:
1. It’s damn small – 175 MB
2. Persistence is available by default
3. Everything works Out of the Box!
4. Extending it is extremely easy and adding more utilities is no hassle

So, here I am with this amazing pooch and Tux!

Sound on Linux

And I stumbled down the rabbit-hole of Linux’s sound maze. And then I think how did I get here? Oh yes, it started with KDE. I really liked this aspect of KDE, which was the amazing ability to define the hierarchy of sound output devices. If you’re going "huh!?", I mean that with KDE, when I was listening to music, I could configure it so that sound would normally play from the audio speakers, and when I connected my USB headset, then it would play from there instead. And upon unplugging it would revert to playing from my speakers. No KDE means no such feature, unless I decide to install Kmix – which would mean blah blah bloated install.

Qualia of Sound

So, yes I’m in this maze. To understand what was going on, I decided to understand what lay underneath. And it is a maze.

Here’s some of what I’ve read:

http://insanecoding.blogspot.in/2009/06/state-of-sound-in-linux-not-so-sorry.html

http://tuxradar.com/content/how-it-works-linux-audio-explained

http://en.wikipedia.org/wiki/PulseAudio

So, basically what it comes down to is the following structure:

Sound Hardware <== ALSA (kernel) <== PulseAudio <== Gstreamer | AlsaMixer

This is what it appears to be on my Debian 7 machine. Now, what I’d like to do is possibly get rid of the middle Pulse Audio layer. And replace it with Jack.

Gstreamer has a plugin that allows it to interface with ALSA. And it’s possible to reroute PulseAudio through Jack too.

So, I could do this:

Sound Hardware <== ALSA (kernel) <== Jack <== Gstreamer | AlsaMixer | PulseAudio

or

Sound Hardware <== ALSA (kernel) <== Jack <== PulseAudio <== Gstreamer | AlsaMixer

Dunno when I’ll actually get that done. But it’s in the works.