Colin.Guthr.ie Illegitimi non carborundum

6Jan/1024

Mix it up

Hot on the heels of my Phonon PulseAudio integration, here is another set of patches for kdemultimedia that adds PulseAudio support to KMix \o/

Quick screenie before a more detailed description:

KMix window showing two devices, one Stereo, one 5.1

20Nov/0930

PulseAudio Phonon Support now in KDE trunk and heading towards 4.4

I've very pleased to announce that my work on Phonon to integrate support for PulseAudio has now been committed to trunk and will form part of KDE 4.4 \o/

There were a few teething problems due to some last minute merges I did (which I clearly didn't test properly - my bad) and which I then went on to mis-interpret which led me to commit two rather silly things in phonon (a revert and then a revert of that revert!). What can I say... I need more caffeine obviously!

29Oct/0910

So how does the KDE PulseAudio support work anyway?

So I think it's probably worth me writing up just exactly how the PulseAudio support in KDE's Phonon library actually works and why using it will give you some nice extra features!

11Oct/099

Finding (and purging) orphaned packages

For a couple of releases Mandriva's package management tool, urpmi, has come with a feature that tracks and reports on orphaned packages. It does this by tracking which packages were installed as dependencies of others and then reporting back when the package that contained the dependency is no longer present (or it's dep has changed). This works pretty well, but sometimes you want something that is not based on a tracked state, and just looks at the packages available and those that are installed.

11Oct/096

Mandriva 2009.1 and Intel Graphics

As many of you already (painfully) know, Mandriva 2009.1 was shipped at a rather awkward time in the Intel Graphics Driver's lifecycle. The upstream guys were in the middle of a rather extensive rewrite and consolidation. This meant that the version shipped with 2009.1 did not work all that well for several users. The new intel driver requires careful coordination of kernel, libdrm, mesa and intel driver packages to ensure they all work properly. This requirement meant that providing official updates was difficult due to the fact that kernel updates were often required.

For this reason, myself and Thomas Backlund have been operating a semi-official repository of packages built for 2009.1 specifically for Intel users of 2009.1.

10Oct/092

Update on KDE+PulseAudio

Just a small note to update on the progress.

The Test button now selects the right device. The way of achieving this is a little convoluted, but it seems to work well. We now generate a UUID for every phonon stream and push this into the PulseAudio stream proplist via an environment variable. We then look for all the streams in pulse and match up our UUID such that we can match up the pulse stream index to our phonon stream. We can then use this to move the stream to the appropriate device. Due to the async nature of PulseAudio, phonon sometimes requests the move before the stream is actually setup, so we have to queue up the move requests and process them when a stream appears. This approach also has the effect of causing the specific sink to be saved in module-stream-restore database, but this shouldn't matter in practice as phonon will always move it, so if the priority list changes, then we will always set the right device one way or the other even if the whole rigmarole could be avoided. But like I say, the practical outcome is fine, so let's just leave that for now.

The category is also passed through to PulseAudio now, so the the only thing that is not handled is when PulseAudio disconnects/restarts. Thankfully this is now getting less and less often as stability improves :)

2Oct/0919

KDE + PulseAudio != Sucks

So I've been spending altogether far too much time on getting this stuff working, but it's finally in a state where it no longer sucks.

For several releases we (Mandriva) have been patching KDE's phonon support to hide all the real devices if PulseAudio is used because the GUI really makes no sense (PulseAudio handles all the routing for us). This is an acceptable solution but it's far from ideal.

So with the latest set of three patches (one for pulseaudio, one for phonon and the final one for kdebase4-runtime) I now have a fully working system (albeit with some caveats!).

27Aug/098

Skype + Pulse Goodness

Looks like Auld Nick has got some ice skates..... There is a new version of Skype for GNU/Linux! And it supports PulseAudio pretty well :)

2Aug/0933

Sound on Linux Anti-FUD: Calm, Certainty and Confidence

Over the years I've listened to several opinions expressing doubt over the Linux sound stack. There are lots of ill informed comments out there concerning various things sound related, both positive and negative, but more often than not commentators miss out very important aspects of a modern, multi-user, desktop sound stack. So in this article I'll attempt to discuss some of the misconceptions out there, provide a balanced view of the current state of affairs, discuss some of the perceived mistakes in the rollout of new sound stacks and where things are going in the future.

2Aug/0910

Sound on Linux is Confusing: Defuzzing Part 2: PulseAudio

In an earlier article, I describe how the low level ALSA configuration allowed us to route all applications using the ALSA API via PulseAudio. In this article we'll take a look at the various configuration files and variables that control this side of the audio path.