<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Colin.Guthr.ie &#187; mandriva</title>
	<atom:link href="http://colin.guthr.ie/tag/mandriva/feed/" rel="self" type="application/rss+xml" />
	<link>http://colin.guthr.ie</link>
	<description>Illegitimi non carborundum</description>
	<lastBuildDate>Thu, 03 Nov 2011 14:04:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>One Point Oh!</title>
		<link>http://colin.guthr.ie/2011/09/one-point-oh/</link>
		<comments>http://colin.guthr.ie/2011/09/one-point-oh/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 11:10:11 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=458</guid>
		<description><![CDATA[It is with great pride that I announce PulseAudio 1.0! It's been a long time coming and I'm very glad this is finally out of the door and I look forward to a much more streamlined release process in the future. There are too many people to thank but in particular I'd like to thank [...]]]></description>
			<content:encoded><![CDATA[<p>It is with great pride that I announce <a href="http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-September/011451.html">PulseAudio 1.0</a>!</p>
<p>It's been a long time coming and I'm very glad this is finally out of the door and I look forward to a much more streamlined release process in the future.</p>
<p>There are too many people to thank but in particular I'd like to thank Arun Raghavan, Tanu Kaskinen, David Henningsson, Maarten Bosmans, Daniel Mack, Jason Newton, Jyri Sarha, Lu Guanqun, Luiz Augusto von Dentz, Marc-André Lureau, Pierre-Louis Bossart, Siarhei Siamashka and of course Lennart Poettering.</p>
<p>There is more info over on the <a href="http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-September/011451.html">announce mail</a>, so give it a read and also see our <a href="http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/1.0">release notes</a>.</p>
<p>Obviously there is still a huge amount to be done, both in the daemon itself, improving documentation and improving integration into the desktop environment itself. Any help is gratefully received!</p>
<p>So stay tuned for future improvements! And speaking of staying tuned, I'd also like to announce <a href="http://freedesktop.org/software/pulseaudio/planet/">Planet PulseAudio</a>. This is an aggregated feed of posts about PulseAudio. If you have a blog and write about PA, please get in touch and we can add your feed. The design is heavily borrowed from <a href="http://planet.gnome.org/">Planet GNOME</a> so it should be familiar for some readers.</p>
<p>Packages are already available for Mageia Cauldron and backports for Mageia 1 will be available sometime soon. Hopefully someone will update the packages in Mandriva as I'm not actively doing stuff over there these days.</p>
<p>Happy listening!</p>
<p style="font-size: smaller;">PS I'm sure there will be a brown bag moment to come with a 1.0 release, but fingers crossed.... :p</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F&amp;title=One%20Point%20Oh%21&amp;bodytext=It%20is%20with%20great%20pride%20that%20I%20announce%20PulseAudio%201.0%21%0D%0A%0D%0AIt%27s%20been%20a%20long%20time%20coming%20and%20I%27m%20very%20glad%20this%20is%20finally%20out%20of%20the%20door%20and%20I%20look%20forward%20to%20a%20much%20more%20streamlined%20release%20process%20in%20the%20future.%0D%0A%0D%0AThere%20are%20too%20many%20people%20to%20than" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F&amp;title=One%20Point%20Oh%21" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F&amp;title=One%20Point%20Oh%21&amp;notes=It%20is%20with%20great%20pride%20that%20I%20announce%20PulseAudio%201.0%21%0D%0A%0D%0AIt%27s%20been%20a%20long%20time%20coming%20and%20I%27m%20very%20glad%20this%20is%20finally%20out%20of%20the%20door%20and%20I%20look%20forward%20to%20a%20much%20more%20streamlined%20release%20process%20in%20the%20future.%0D%0A%0D%0AThere%20are%20too%20many%20people%20to%20than" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F&amp;t=One%20Point%20Oh%21" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F&amp;submitHeadline=One%20Point%20Oh%21&amp;submitSummary=It%20is%20with%20great%20pride%20that%20I%20announce%20PulseAudio%201.0%21%0D%0A%0D%0AIt%27s%20been%20a%20long%20time%20coming%20and%20I%27m%20very%20glad%20this%20is%20finally%20out%20of%20the%20door%20and%20I%20look%20forward%20to%20a%20much%20more%20streamlined%20release%20process%20in%20the%20future.%0D%0A%0D%0AThere%20are%20too%20many%20people%20to%20than&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=One%20Point%20Oh%21%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F&amp;title=One%20Point%20Oh%21&amp;annotation=It%20is%20with%20great%20pride%20that%20I%20announce%20PulseAudio%201.0%21%0D%0A%0D%0AIt%27s%20been%20a%20long%20time%20coming%20and%20I%27m%20very%20glad%20this%20is%20finally%20out%20of%20the%20door%20and%20I%20look%20forward%20to%20a%20much%20more%20streamlined%20release%20process%20in%20the%20future.%0D%0A%0D%0AThere%20are%20too%20many%20people%20to%20than" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=One%20Point%20Oh%21&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F09%2Fone-point-oh%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2011/09/one-point-oh/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Network Boot Mageia: PXE + NFS Root goodness</title>
		<link>http://colin.guthr.ie/2011/06/network-boot-mageia-pxe-nfs-root-goodness/</link>
		<comments>http://colin.guthr.ie/2011/06/network-boot-mageia-pxe-nfs-root-goodness/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 17:16:13 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=440</guid>
		<description><![CDATA[So a while back I wrote about setting up Mandriva for network boot and I'm still running a similar configuration albeit upgraded every six months or so as new Mandriva releases come out. Well as I'm now mostly running Mageia, I decided it was worth posting a follow up article. Read on if you're interested [...]]]></description>
			<content:encoded><![CDATA[<p>So a while back I wrote about setting up <a href="http://colin.guthr.ie/2007/12/network-booting-nfs-root-with-mandriva/">Mandriva for network boot</a> and I'm still running a similar configuration albeit upgraded every six months or so as new Mandriva releases come out.</p>
<p>Well as I'm now mostly running Mageia, I decided it was worth posting a follow up article. Read on if you're interested in the nitty gritty of how such a system works.<span id="more-440"></span></p>
<p>So most of the details in that previous article still stand true, although thankfully it's now much simpler and requires very little in the way of patching of system files etc.</p>
<p>The Mandriva and Mageia rc.sysinit files both support the "early local" script (like rc.local, but executed much earlier in the boot process) which allows us to inject the necessary tweaks.</p>
<p>What are those necessary tweaks? Well primarily it's for setting up some tmpfs files and some unionfs or aufs2 mounts. The standard system init does actually do quite a lot towards getting this working automatically, but I've never had much success with that and there are a still a few things missing (related to dbus) so I prefer to keep things simple!</p>
<p>When I first upgraded my chroot to Mageia, the first hurdle was that mkinitrd-net was not available for Mageia. Thankfully I already had this installed from Mandriva days and the package still works fine. I'll make sure we import this package into Mageia so this won't be a problem ongoing. The second problem was that when booting with the latest kernel, the kernel panicked quite quickly relating to unionfs. It seems unionfs+nfs don't really agree that much. So I reverted back to the old Mandriva kernel which worked fine. So with a little research, I found out that aufs2 is basically replacing unionfs these days. With a couple of checks I was able to add aufs2 support to my rc.early.local script easily enough. This allowed the boot to work without any issues.</p>
<p>In actual fact, even with unionfs and the old kernel, things didn't work perfectly and relied on various tmpfs mounts done by the standard rc.sysinit. Without these, I found various issues relating to kernel panics and general slow performance. With aufs2 these problems don't seem to exist anymore and I can bypass these mounts for a simpler mount setup which is all rather nice.</p>
<p>So once things booted the second problem turned out to be related to keyboard support... I can't quite remember what this was, but I suspect it just related to me not having evdev installed... my memory is sketchy tho'. It certainly wasn't a big problem. What was a big problem was that my user had no rights to various hardware devices. I quickly realised that this related to console kit not marking my login (which was via the autologin package) as "active". This took a little more sleuthing but I finally realised this was down to not bringing the autologin package up to date with the recent(ish) changes in console kit, namely the pam ck connector. With a little bit of patching of the /etc/pam.d/autologin file, I was up and running again! I've reported this to the <a href="http://thread.gmane.org/gmane.linux.mageia.devel/5352">Mageia devel list</a>. Hopefully someone who knows this stuff better than me can comment and we can push an update soon now the updates and QA processes are in place.</p>
<p>So without further ado, here is the contents of my rc.early.local. The comments should mean the file kinda speaks for itself.<br />
<code><br />
#!/bin/bash</p>
<p># This file is sourced early on in rc.sysinit and this means<br />
# we can do some very early setup for the read only / filesystem.</p>
<p># Firstly, we need some writable directories.<br />
# We do this using unionfs or aufs to combine the readonly versions with<br />
# a tmpfs location to provide writable space.</p>
<p>USE_AUFS=$(uname -r | grep -v 2.6.33 | wc -l)<br />
UFS=unionfs<br />
if [ $USE_AUFS -gt 0 ]; then<br />
  UFS=aufs<br />
fi</p>
<p># Mount somewhere we can use in ram<br />
TMPFS=/mnt/tmpfs<br />
mount -t tmpfs none $TMPFS -o size=2g</p>
<p>for fs in etc var tmp root; do<br />
  echo "Mounting $UFS on /$fs to make it writable (any changes will not be saved)"<br />
  mkdir -p $TMPFS/$UFS/$fs<br />
  mount -t $UFS -o dirs=$TMPFS/$UFS/$fs=rw:/$fs=ro none /$fs<br />
done</p>
<p># Rather than have the stupid mounts done by rc.sysinit<br />
# our aufs stuff above is much cleaner. But we need to<br />
# tell rc.sysinit that we are READONLY all the same.<br />
echo "READONLY=yes" >>/etc/sysconfig/readonly-root</p>
<p>if [ $USE_AUFS -gt 0 ]; then<br />
  # If we use aufs all is well and we don't need stateful dirs<br />
  # Or the complexity of copying over files from the underlying filesystem<br />
  # to our stateful directories. So we just nuke rwtab and rc.sysinit<br />
  # will do mostly nothing.<br />
  echo -n "">/etc/rwtab</p>
<p>  # We also fudge the code in rc.sysinit to not mount it's own tmpfs<br />
  # space seeing as we already do that above. There is no combo of<br />
  # options to let this happen so we just create a fake mount point<br />
  . /etc/sysconfig/readonly-root<br />
  [ -z "$RW_MOUNT" ] &#038;& RW_MOUNT=/var/lib/stateless/writable</p>
<p>  mkdir -p $TMPFS/ignore-me $RW_MOUNT<br />
  echo "$TMPFS/ignore-me $RW_MOUNT noauto bind 0 0" >>/etc/fstab<br />
else<br />
  # Sadly if we are using unionfs, the module is simply not<br />
  # reliable enough to work properly, thus we must use the tmpfs<br />
  # approach built in to rc.sysinit.</p>
<p>  # Sadly, the official version of this file forgets about keeping<br />
  # the dbus machine-id file consistent (which is used by PulseAudio<br />
  # to store setup info) so we have to manually add this here.<br />
  echo "files	/var/lib/dbus" >>/etc/rwtab<br />
fi</p>
<p># We need dev to have ACL support for Console Kit, but<br />
# unionfs does not support this, so we just mount a clean<br />
# /dev. When aufs is used rather than unionfs, we can just<br />
# include this in the above.<br />
mkdir -p $TMPFS/dev<br />
mount -o bind $TMPFS/dev /dev</p>
<p># Mark /tmp as temp<br />
chmod ugo+rwxt /tmp</p>
<p># Mount the correct config directory for our hostname<br />
HN=$(hostname -s)<br />
if [ -d /var/configs/$HN ]; then<br />
    mount /var/configs/$HN /var/config -o bind<br />
else<br />
    echo "Warning: Config directory /var/configs/$HN does not exist"<br />
fi</p>
<p># Fake an eth0 configuration<br />
cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF<br />
DEVICE=eth0<br />
ONBOOT=yes<br />
NOZEROCONF=yes<br />
EOF<br />
</code></p>
<p>If anyone has any suggestions for improvements or wants to discuss any of the bits in detail, just leave a comment!</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F&amp;title=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness&amp;bodytext=So%20a%20while%20back%20I%20wrote%20about%20setting%20up%20Mandriva%20for%20network%20boot%20and%20I%27m%20still%20running%20a%20similar%20configuration%20albeit%20upgraded%20every%20six%20months%20or%20so%20as%20new%20Mandriva%20releases%20come%20out.%0D%0A%0D%0AWell%20as%20I%27m%20now%20mostly%20running%20Mageia%2C%20I%20decided%20it%20was%20wort" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F&amp;title=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F&amp;title=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness&amp;notes=So%20a%20while%20back%20I%20wrote%20about%20setting%20up%20Mandriva%20for%20network%20boot%20and%20I%27m%20still%20running%20a%20similar%20configuration%20albeit%20upgraded%20every%20six%20months%20or%20so%20as%20new%20Mandriva%20releases%20come%20out.%0D%0A%0D%0AWell%20as%20I%27m%20now%20mostly%20running%20Mageia%2C%20I%20decided%20it%20was%20wort" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F&amp;t=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F&amp;submitHeadline=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness&amp;submitSummary=So%20a%20while%20back%20I%20wrote%20about%20setting%20up%20Mandriva%20for%20network%20boot%20and%20I%27m%20still%20running%20a%20similar%20configuration%20albeit%20upgraded%20every%20six%20months%20or%20so%20as%20new%20Mandriva%20releases%20come%20out.%0D%0A%0D%0AWell%20as%20I%27m%20now%20mostly%20running%20Mageia%2C%20I%20decided%20it%20was%20wort&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F&amp;title=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness&amp;annotation=So%20a%20while%20back%20I%20wrote%20about%20setting%20up%20Mandriva%20for%20network%20boot%20and%20I%27m%20still%20running%20a%20similar%20configuration%20albeit%20upgraded%20every%20six%20months%20or%20so%20as%20new%20Mandriva%20releases%20come%20out.%0D%0A%0D%0AWell%20as%20I%27m%20now%20mostly%20running%20Mageia%2C%20I%20decided%20it%20was%20wort" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=Network%20Boot%20Mageia%3A%20PXE%20%2B%20NFS%20Root%20goodness&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fnetwork-boot-mageia-pxe-nfs-root-goodness%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2011/06/network-boot-mageia-pxe-nfs-root-goodness/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Randa, round baby right round</title>
		<link>http://colin.guthr.ie/2011/06/randa-round-baby-right-round/</link>
		<comments>http://colin.guthr.ie/2011/06/randa-round-baby-right-round/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 23:32:34 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=433</guid>
		<description><![CDATA[OK, so it's been about a year since I was last in this sleeply little town on the path to Zermatt and a lot has changed. While last year it felt like I was the lone voice singing the praises of PulseAudio (although there were a few supporters!), but this year it feels like everything [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so it's been <a href="http://colin.guthr.ie/2010/05/recharging-my-geek-batteries/">about a year</a> since I was last in this <a href="http://en.wikipedia.org/wiki/Randa,_Switzerland">sleeply little town</a> on the path to Zermatt and a lot has changed.</p>
<p>While last year it felt like I was the lone voice singing the praises of PulseAudio (although there were a few supporters!), but this year it feels like everything has gone 180° with pretty much everyone on board! This is a great result for me personally as I've been pretty much the only person working on KDE+PulseAudio integration, so I was very pleased to get this feedback. It's good to know that the hard work and effort you put in is appreciated. It's all too often that the people who appreciate your work are the silent majority (if you do a really good job, they don't know you've done anything as things Just Work™), while the vocal minority are quick to shout and judge and generally flame.</p>
<p>So I was off to an lovely start and I got down to hacking. What did I do this year? Well I continued some work on the interface I made last year called "<a href="http://colin.guthr.ie/2010/07/speaker-setup-now-or-forever-hold-your-peace/">Speaker Setup</a>". I realised just a short while ago that there was no interface in KDE to be able to change the Source Ports (i.e. pick Mic vs. Line In on your laptop) so I set about extending speaker setup to cope with this. I added a Mic VU meter for good measure (mainly to use up the space with something vaguely useful!). I would ultimately like to do more with this UI but this would need more changes in PulseAudio itself (come listen to <a href="https://www.desktopsummit.org/program/sessions/pulseaudio-control-and-command-state-desktop-integration-gnome-kde">my talk</a> in Berlin at the <a href="https://www.desktopsummit.org/">Desktop Summit</a> if you want to know more about this!).</p>
<p>As well as this, I did some tweaks in Phonon to tidy some things up. Various bits and bobs within Phonon and the KCM had bit rotted a little, so minor tweaking saw that all brought up to speed.</p>
<p>I also spent some time hacking on PulseAudio itself, improving some earlier work related to adding Source Output volume controls to PA to take on peer review comments (for those of you unaware, this is capture stream volume control - PA has long supported "per-application" volume control but this only actually applied to outputs. It's not really very common for users to record multiple streams at the same time so support for per-capture stream volumes was never introduced. Now that PA supports Flat Volumes (a feature that always tries to use the hardware volume whenever possible to get the most efficient volume adjustment path), it makes sense to use this for inputs too. It also establishes a degree of symmetry to the API which has always felt a little weird in the past - especially if you are developing a VoIP app (the guys from Skype were a little confused about this disparity for example)). I also spent some time making some minor improvements to pavucontol (shh, don't tell the KDE guys but this is a GTK app!) as this is still my main debug tool when hacking on PA (I mainly improved it to deal more gracefully with errors - like when PA itself crashes and leaves behind the X11 root window's PULSE_SERVER property which results in an invalid argument error from the context with the result that the automatic reconnect mode doesn't work! - but also added some simple keyboard shortcuts that I generally miss when switching windows quickly). I also added support for Source Output volumes to KMix, but this will stay in my private branch until I've committed the PA code as the version check will currently match git master code even if it doesn't yet have the support needed!</p>
<p>I also started to look at Arun and Pierre's awesome work to support passthrough. As there is no reliable way to query receivers for the encodings they support (AC3, DTS etc.) we have to provide a way for users to specify this manually. I worked to rejig how PA stores various bits of information in internal databases to allow for arbitrary lengths of data to be stored rather than the fixed size blobs supported currently. This will pave the way to adding a protocol extension to set the formats for which support will have to be added to the Speaker Setup GUI somehow...</p>
<p>In addition, I also looked at <a href="http://www.videolan.org/">VLC</a>'s PulseAudio output layer. I've known for a while that it's kind of lacking and Rémi from upstream VLC has become rather exasperated about the lack of good documentation we provide. I fully appreciate our docs are lacking (some mails on our mailing list today highlight that internal docs for module development are also severely lacking), but I was able to use what was out there to add what I think is quite robust support to VLC. As VLC is used as a Phonon backend by some distros, I felt this was an important task to work on during this KDE sprint.</p>
<p>All in all it was a pleasure to stay here again and meet some now familiar as well as some new people (especially Bart and Trever who are big PA fans!) I look forward to seeing several of them again in Berlin and hopefully next year here in Randa too!</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F&amp;title=Randa%2C%20round%20baby%20right%20round&amp;bodytext=OK%2C%20so%20it%27s%20been%20about%20a%20year%20since%20I%20was%20last%20in%20this%20sleeply%20little%20town%20on%20the%20path%20to%20Zermatt%20and%20a%20lot%20has%20changed.%0D%0A%0D%0AWhile%20last%20year%20it%20felt%20like%20I%20was%20the%20lone%20voice%20singing%20the%20praises%20of%20PulseAudio%20%28although%20there%20were%20a%20few%20supporters%21%29%2C%20b" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F&amp;title=Randa%2C%20round%20baby%20right%20round" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F&amp;title=Randa%2C%20round%20baby%20right%20round&amp;notes=OK%2C%20so%20it%27s%20been%20about%20a%20year%20since%20I%20was%20last%20in%20this%20sleeply%20little%20town%20on%20the%20path%20to%20Zermatt%20and%20a%20lot%20has%20changed.%0D%0A%0D%0AWhile%20last%20year%20it%20felt%20like%20I%20was%20the%20lone%20voice%20singing%20the%20praises%20of%20PulseAudio%20%28although%20there%20were%20a%20few%20supporters%21%29%2C%20b" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F&amp;t=Randa%2C%20round%20baby%20right%20round" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F&amp;submitHeadline=Randa%2C%20round%20baby%20right%20round&amp;submitSummary=OK%2C%20so%20it%27s%20been%20about%20a%20year%20since%20I%20was%20last%20in%20this%20sleeply%20little%20town%20on%20the%20path%20to%20Zermatt%20and%20a%20lot%20has%20changed.%0D%0A%0D%0AWhile%20last%20year%20it%20felt%20like%20I%20was%20the%20lone%20voice%20singing%20the%20praises%20of%20PulseAudio%20%28although%20there%20were%20a%20few%20supporters%21%29%2C%20b&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=Randa%2C%20round%20baby%20right%20round%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F&amp;title=Randa%2C%20round%20baby%20right%20round&amp;annotation=OK%2C%20so%20it%27s%20been%20about%20a%20year%20since%20I%20was%20last%20in%20this%20sleeply%20little%20town%20on%20the%20path%20to%20Zermatt%20and%20a%20lot%20has%20changed.%0D%0A%0D%0AWhile%20last%20year%20it%20felt%20like%20I%20was%20the%20lone%20voice%20singing%20the%20praises%20of%20PulseAudio%20%28although%20there%20were%20a%20few%20supporters%21%29%2C%20b" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=Randa%2C%20round%20baby%20right%20round&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Franda-round-baby-right-round%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2011/06/randa-round-baby-right-round/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>(Version) One for the Road (to Randa)</title>
		<link>http://colin.guthr.ie/2011/06/version-one-for-the-road-to-randa/</link>
		<comments>http://colin.guthr.ie/2011/06/version-one-for-the-road-to-randa/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 06:40:37 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=426</guid>
		<description><![CDATA[Good news everyone! Mageia 1 is out!!!! Just as I travel to Randa for the KDE Multimedia Development Sprint, I hear that all the hard work put in by the various contributors (in all their forms: packagers, admins, translators, testers and artists) has come to fruition! Go read the official announcement and release notes and [...]]]></description>
			<content:encoded><![CDATA[<p><iframe width="425" height="349" src="http://www.youtube.com/embed/1D1cap6yETA" frameborder="0" allowfullscreen></iframe><br />
Good news everyone! Mageia 1 is out!!!! Just as I travel to Randa for the <a href="http://sprints.kde.org/sprint/10">KDE Multimedia Development Sprint</a>, I hear that all the hard work put in by the various contributors (in all their forms: packagers, admins, translators, testers and artists) has come to fruition! Go read the <a href="http://blog.mageia.org/en/2011/06/01/mageia-1/">official announcement</a> and <a href="http://mageia.org/en/1/notes/">release notes</a> and then <a href="http://mageia.org/en/downloads/">download it!</a></p>
<p>I've not had nearly as much time to contribute as much as I would have liked to this release, due to various personal, work and upstream project commitments, but I know my good friends and colleagues have done a stellar job (and I've helped out when I can).</p>
<p>I should say that this shouldn't be expected as a ground breaking release. We're not using Gnome 3 or Systemd yet (both will most likely come in Mageia 2) as this release more signifies the establishing of all the various infrastructure needed to create a distro (build cluster, community management, mirror management etc.) especially the proper cleaning and rebuilding of all of the Mandriva packages thought to be essential or vaguely useful. This was a momentous task and one that I think has been achieved in good time.</p>
<p>Onwards and upwards! (to 2!)</p>
<p>&nbsp;</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F&amp;title=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29&amp;bodytext=%0D%0AGood%20news%20everyone%21%20Mageia%201%20is%20out%21%21%21%21%20Just%20as%20I%20travel%20to%20Randa%20for%20the%20KDE%20Multimedia%20Development%20Sprint%2C%20I%20hear%20that%20all%20the%20hard%20work%20put%20in%20by%20the%20various%20contributors%20%28in%20all%20their%20forms%3A%20packagers%2C%20admins%2C%20translators%2C%20testers%20and%20artists%29%20" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F&amp;title=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F&amp;title=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29&amp;notes=%0D%0AGood%20news%20everyone%21%20Mageia%201%20is%20out%21%21%21%21%20Just%20as%20I%20travel%20to%20Randa%20for%20the%20KDE%20Multimedia%20Development%20Sprint%2C%20I%20hear%20that%20all%20the%20hard%20work%20put%20in%20by%20the%20various%20contributors%20%28in%20all%20their%20forms%3A%20packagers%2C%20admins%2C%20translators%2C%20testers%20and%20artists%29%20" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F&amp;t=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F&amp;submitHeadline=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29&amp;submitSummary=%0D%0AGood%20news%20everyone%21%20Mageia%201%20is%20out%21%21%21%21%20Just%20as%20I%20travel%20to%20Randa%20for%20the%20KDE%20Multimedia%20Development%20Sprint%2C%20I%20hear%20that%20all%20the%20hard%20work%20put%20in%20by%20the%20various%20contributors%20%28in%20all%20their%20forms%3A%20packagers%2C%20admins%2C%20translators%2C%20testers%20and%20artists%29%20&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F&amp;title=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29&amp;annotation=%0D%0AGood%20news%20everyone%21%20Mageia%201%20is%20out%21%21%21%21%20Just%20as%20I%20travel%20to%20Randa%20for%20the%20KDE%20Multimedia%20Development%20Sprint%2C%20I%20hear%20that%20all%20the%20hard%20work%20put%20in%20by%20the%20various%20contributors%20%28in%20all%20their%20forms%3A%20packagers%2C%20admins%2C%20translators%2C%20testers%20and%20artists%29%20" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=%28Version%29%20One%20for%20the%20Road%20%28to%20Randa%29&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F06%2Fversion-one-for-the-road-to-randa%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2011/06/version-one-for-the-road-to-randa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop Summit</title>
		<link>http://colin.guthr.ie/2011/03/desktop-summit/</link>
		<comments>http://colin.guthr.ie/2011/03/desktop-summit/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 09:43:43 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=404</guid>
		<description><![CDATA[This is just a quick reminder that the Call for Papers for the Desktop Summit ends on Friday. So get your thinking caps on and write some abstracts! I've submitted my own proposal which would discuss the UI layers which expose PulseAudio in both KDE and GNOME, how they differ and what is missing (hopefully [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.desktopsummit.org/"><img alt="Desktop Summit Logo" src="https://www.desktopsummit.org/sites/dev.desktopsummit.org/files/acquia_prosper_logo.png" title="Desktop Summit" class="alignright" width="266" height="182" /></a>This is just a quick reminder that the <a href="https://www.desktopsummit.org/cfp">Call for Papers</a> for the <a href="https://www.desktopsummit.org/">Desktop Summit</a> ends on Friday. So get your thinking caps on and write some abstracts! I've submitted my own proposal which would discuss the UI layers which expose PulseAudio in both KDE and GNOME, how they differ and what is missing (hopefully a lot less will be missing by the time the summit comes around in August!!).</p>
<p>I've included my abstract below just in case you are interested.<br />
<span id="more-404"></span></p>
<blockquote><p>PulseAudio integration has come a long way. The times when detractors derided it for crashing or simply not working are mostly in the past (there are always exceptions!) and the various distributions now have solid integration and configuration options available. ALSA has also come a long way to support the timer-based scheduling that PulseAudio uses by default.</p>
<p>Today, a major hurdle is UI and Desktop Environment integration. In this talk I intend to look at the current UIs in both GNOME and KDE and the kind of interfaces that are missing and are still needed and what options still need to be exposed from the underlying ALSA level. I'll look at the routing logic chosen under the (more exposed) KDE and the (more minimal) GNOME interfaces and how we support that at the PA level. I'll also look at how we should be configuring some of the more advanced features of PA in a way that can fit in neatly to the DE with their own, native UI.</p></blockquote>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F&amp;title=Desktop%20Summit&amp;bodytext=This%20is%20just%20a%20quick%20reminder%20that%20the%20Call%20for%20Papers%20for%20the%20Desktop%20Summit%20ends%20on%20Friday.%20So%20get%20your%20thinking%20caps%20on%20and%20write%20some%20abstracts%21%20I%27ve%20submitted%20my%20own%20proposal%20which%20would%20discuss%20the%20UI%20layers%20which%20expose%20PulseAudio%20in%20both%20KDE%20" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F&amp;title=Desktop%20Summit" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F&amp;title=Desktop%20Summit&amp;notes=This%20is%20just%20a%20quick%20reminder%20that%20the%20Call%20for%20Papers%20for%20the%20Desktop%20Summit%20ends%20on%20Friday.%20So%20get%20your%20thinking%20caps%20on%20and%20write%20some%20abstracts%21%20I%27ve%20submitted%20my%20own%20proposal%20which%20would%20discuss%20the%20UI%20layers%20which%20expose%20PulseAudio%20in%20both%20KDE%20" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F&amp;t=Desktop%20Summit" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F&amp;submitHeadline=Desktop%20Summit&amp;submitSummary=This%20is%20just%20a%20quick%20reminder%20that%20the%20Call%20for%20Papers%20for%20the%20Desktop%20Summit%20ends%20on%20Friday.%20So%20get%20your%20thinking%20caps%20on%20and%20write%20some%20abstracts%21%20I%27ve%20submitted%20my%20own%20proposal%20which%20would%20discuss%20the%20UI%20layers%20which%20expose%20PulseAudio%20in%20both%20KDE%20&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=Desktop%20Summit%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F&amp;title=Desktop%20Summit&amp;annotation=This%20is%20just%20a%20quick%20reminder%20that%20the%20Call%20for%20Papers%20for%20the%20Desktop%20Summit%20ends%20on%20Friday.%20So%20get%20your%20thinking%20caps%20on%20and%20write%20some%20abstracts%21%20I%27ve%20submitted%20my%20own%20proposal%20which%20would%20discuss%20the%20UI%20layers%20which%20expose%20PulseAudio%20in%20both%20KDE%20" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=Desktop%20Summit&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F03%2Fdesktop-summit%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2011/03/desktop-summit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Magic is Back!</title>
		<link>http://colin.guthr.ie/2011/02/the-magic-is-back/</link>
		<comments>http://colin.guthr.ie/2011/02/the-magic-is-back/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 09:52:41 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=389</guid>
		<description><![CDATA[As many users in the community know, the Mandriva Linux distribution was forked a few months ago to form Mageia. This is a community driven effort to setup a properly organised and people-powered version of our favourite distro. I've personally not had nearly as much time to concentrate on helping the efforts here as I'd [...]]]></description>
			<content:encoded><![CDATA[<p>As many users in the community know, the Mandriva Linux distribution was forked a few months ago to form Mageia. This is a community driven effort to setup a properly organised and people-powered version of our favourite distro. I've personally not had nearly as much time to concentrate on helping the efforts here as I'd have like (various work and real life things getting in the way), but I've been stunned by the amount of time, effort and good will piling into the project from all corners. Various Mandriva contributors, both past and present have helped set things up and today I was <a href="http://blog.mageia.org/?p=492">able</a> to update and reboot into my new operating system!</p>
<p><code>[colin@jimmy ~]$ uname -a<br />
Linux jimmy 2.6.37-desktop-3.mga #1 SMP Tue Jan 25 14:16:42 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux<br />
[colin@jimmy ~]$ cat /etc/mageia-release<br />
Mageia release 1 (Cauldron) for x86_64</code></p>
<p>Yay! Now I should be able to step up the pace of my contributions as I find it much easier and more natural to work and test as I go on my own computer rather than in a virtualised environment.</p>
<p>Personally I upgraded my computer from Cooker which I had frozen in a pre-rpm5 state, diligently not doing any updates despite wanting several newer packages (esp the latest Firefox 4 beta). The upgrade itself went fairly smoothly, but had some hiccups. These were mostly solved when I realised I still had a bunch of stuff in my urpmi skip.list and cleaned it out (I had various rpm things in there to prevent rpm5 being accidentally installed - I'm sure it'll be good eventually, but I'll hold off for a little while <img src='http://colin.guthr.ie/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>So now I can update my computer again, the magic can return! Mageia has arrived!!!</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F&amp;title=The%20Magic%20is%20Back%21&amp;bodytext=As%20many%20users%20in%20the%20community%20know%2C%20the%20Mandriva%20Linux%20distribution%20was%20forked%20a%20few%20months%20ago%20to%20form%20Mageia.%20This%20is%20a%20community%20driven%20effort%20to%20setup%20a%20properly%20organised%20and%20people-powered%20version%20of%20our%20favourite%20distro.%20I%27ve%20personally%20not%20h" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F&amp;title=The%20Magic%20is%20Back%21" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F&amp;title=The%20Magic%20is%20Back%21&amp;notes=As%20many%20users%20in%20the%20community%20know%2C%20the%20Mandriva%20Linux%20distribution%20was%20forked%20a%20few%20months%20ago%20to%20form%20Mageia.%20This%20is%20a%20community%20driven%20effort%20to%20setup%20a%20properly%20organised%20and%20people-powered%20version%20of%20our%20favourite%20distro.%20I%27ve%20personally%20not%20h" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F&amp;t=The%20Magic%20is%20Back%21" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F&amp;submitHeadline=The%20Magic%20is%20Back%21&amp;submitSummary=As%20many%20users%20in%20the%20community%20know%2C%20the%20Mandriva%20Linux%20distribution%20was%20forked%20a%20few%20months%20ago%20to%20form%20Mageia.%20This%20is%20a%20community%20driven%20effort%20to%20setup%20a%20properly%20organised%20and%20people-powered%20version%20of%20our%20favourite%20distro.%20I%27ve%20personally%20not%20h&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=The%20Magic%20is%20Back%21%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F&amp;title=The%20Magic%20is%20Back%21&amp;annotation=As%20many%20users%20in%20the%20community%20know%2C%20the%20Mandriva%20Linux%20distribution%20was%20forked%20a%20few%20months%20ago%20to%20form%20Mageia.%20This%20is%20a%20community%20driven%20effort%20to%20setup%20a%20properly%20organised%20and%20people-powered%20version%20of%20our%20favourite%20distro.%20I%27ve%20personally%20not%20h" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=The%20Magic%20is%20Back%21&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2011%2F02%2Fthe-magic-is-back%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2011/02/the-magic-is-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bobby Digital: In 5.1 Surround</title>
		<link>http://colin.guthr.ie/2010/12/bobby-digital-in-5-1-surround/</link>
		<comments>http://colin.guthr.ie/2010/12/bobby-digital-in-5-1-surround/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 18:58:24 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=359</guid>
		<description><![CDATA[OK, so this question crops up quite often, so I figured it's worth a post. People often ask how to enable 5.1 digital output with PulseAudio. In the past the answer is typically "you can't because S/PDIF only accepts stereo PCM or passthrough data" and while this is true, we can relatively easily hook up [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so this question crops up quite often, so I figured it's worth a post. People often ask how to enable 5.1 digital output with PulseAudio. In the past the answer is typically "you can't because S/PDIF only accepts stereo PCM or passthrough data" and while this is true, we can relatively easily hook up an AC3 encoder which is helpfully provided in the ALSA plugins package.<span id="more-359"></span></p>
<p>While the "a52" plugin is part of the official ALSA plugins source, some distros do not compile it by default. It's available in Mandriva out of the box, but on Ubuntu for example you'll need to compile it yourself or find someone who provides a custom build for you (feel free to suggest a PPA in the comments below). Someone did tell me about <a href="http://ubuntu-ky.ubuntuforums.org/showthread.php?t=1608804">pretty good instructions</a> about building the plugin yourself.</p>
<p>So after building the plugin all you need to do is add a snippet of ALSA configuration to setup the a52 plugin with a named PCM that PulseAudio checks for and then everything should work automatically.</p>
<p>Here is the snippet. I'd recommend adding it to your ~/.asoundrc file (just create it if it doesn't exist;  ~/ is just a shortcut to your home directory).</p>
<pre>pcm.a52 {
  @args [CARD]
  @args.CARD {
    type string
  }
  type rate
  slave {
    pcm {
      type a52
      bitrate 448
      channels 6
      card $CARD
    }
    rate 48000 #required somehow, otherwise nothing happens in PulseAudio
  }
}
</pre>
<p>(just as a note, the previously linked article has an error when is suggests using echo to add this to your ~/.asoundrc as it doesn't double escape the $CARD)</p>
<p>Once this is in place, then PulseAudio will automatically probe it and provide you the option of selecting a 5.1 Digitial Output profile. You can use pavucontrol's Configuration tab to pick your profile (or gnome-volume-control or the Speaker Setup tab in KDE).</p>
<p>One other thing you may have to do to get this working properly is change the default sample rate used by PA to be 48kHz. To do this, just edit daemon.conf in either /etc/pulse or ~/.pulse and include the line:</p>
<pre>
default-sample-rate = 48000
</pre>
<p>&nbsp;</p>
<h1>What about Passthrough?</h1>
<p>At  present Passthrough support isn't available in the latest released  version of PA (it is supported in git master). Even when this is  available it will be exclusive (as will any other codec support  such as MP3 for Bluetooth and RAOP etc.) and as such mixing will not be  available which leads to a whole set of UI and configuration problems,  so in many ways using a software AC3 encoding system like the A52 plugin  here has many advantages over using passthrough. Obviously there is  processing and mixing overhead but for many people (myself included)  this is perfectly acceptable.</p>
<p>One odd thing about the setup is  that some applications will consider this an "Analog[ue]" output (e.g.  in XBMC I have to select Analog Output and choose 5.1 speakers to get  everything working correctly, but at least it works <img src='http://colin.guthr.ie/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>PS, yes the title is a <a href="http://en.wikipedia.org/wiki/Bobby_Digital_in_Stereo">Wu-Tang</a> reference <img src='http://colin.guthr.ie/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F&amp;title=Bobby%20Digital%3A%20In%205.1%20Surround&amp;bodytext=OK%2C%20so%20this%20question%20crops%20up%20quite%20often%2C%20so%20I%20figured%20it%27s%20worth%20a%20post.%20People%20often%20ask%20how%20to%20enable%205.1%20digital%20output%20with%20PulseAudio.%20In%20the%20past%20the%20answer%20is%20typically%20%22you%20can%27t%20because%20S%2FPDIF%20only%20accepts%20stereo%20PCM%20or%20passthrough%20data%22%20a" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F&amp;title=Bobby%20Digital%3A%20In%205.1%20Surround" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F&amp;title=Bobby%20Digital%3A%20In%205.1%20Surround&amp;notes=OK%2C%20so%20this%20question%20crops%20up%20quite%20often%2C%20so%20I%20figured%20it%27s%20worth%20a%20post.%20People%20often%20ask%20how%20to%20enable%205.1%20digital%20output%20with%20PulseAudio.%20In%20the%20past%20the%20answer%20is%20typically%20%22you%20can%27t%20because%20S%2FPDIF%20only%20accepts%20stereo%20PCM%20or%20passthrough%20data%22%20a" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F&amp;t=Bobby%20Digital%3A%20In%205.1%20Surround" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F&amp;submitHeadline=Bobby%20Digital%3A%20In%205.1%20Surround&amp;submitSummary=OK%2C%20so%20this%20question%20crops%20up%20quite%20often%2C%20so%20I%20figured%20it%27s%20worth%20a%20post.%20People%20often%20ask%20how%20to%20enable%205.1%20digital%20output%20with%20PulseAudio.%20In%20the%20past%20the%20answer%20is%20typically%20%22you%20can%27t%20because%20S%2FPDIF%20only%20accepts%20stereo%20PCM%20or%20passthrough%20data%22%20a&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=Bobby%20Digital%3A%20In%205.1%20Surround%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F&amp;title=Bobby%20Digital%3A%20In%205.1%20Surround&amp;annotation=OK%2C%20so%20this%20question%20crops%20up%20quite%20often%2C%20so%20I%20figured%20it%27s%20worth%20a%20post.%20People%20often%20ask%20how%20to%20enable%205.1%20digital%20output%20with%20PulseAudio.%20In%20the%20past%20the%20answer%20is%20typically%20%22you%20can%27t%20because%20S%2FPDIF%20only%20accepts%20stereo%20PCM%20or%20passthrough%20data%22%20a" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=Bobby%20Digital%3A%20In%205.1%20Surround&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F12%2Fbobby-digital-in-5-1-surround%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2010/12/bobby-digital-in-5-1-surround/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling and running PulseAudio from git</title>
		<link>http://colin.guthr.ie/2010/09/compiling-and-running-pulseaudio-from-git/</link>
		<comments>http://colin.guthr.ie/2010/09/compiling-and-running-pulseaudio-from-git/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 16:48:27 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=307</guid>
		<description><![CDATA[A few budding developers have asked me recently about this and to make life easy, I decided to write up this guide! There are some gotchas to look out for so please read carefully! Are we ready? OK, lets being! The shell output shown below will include my machine's name, "jimmy". My bash prompt also [...]]]></description>
			<content:encoded><![CDATA[<p>A few budding developers have asked me recently about this and to make life easy, I decided to write up this guide! There are some gotchas to look out for so please read carefully!<span id="more-307"></span></p>
<p>Are we ready? OK, lets being!</p>
<p>The shell output shown below will include my machine's name, "jimmy". My bash prompt also shows the current git branch thanks to the git-prompt package in Mandriva (you can enable it manually by following <a href="https://fedoraproject.org/wiki/Git_Quickref#Display_current_branch_in_bash">this guide</a>). Note that for various reasons I wont go into in this guide, the development version of PA is currently 0.9.19, this is despite the current released version being 0.9.21. Its due to how the git tree is organised, and I'm hoping to fix this soon. <em>Edit: Git master is now tracking PA 1.0 (not for any specific milestone of 1.0, but just because a 3-point version number is kinda annoying. Essential the version policy is now decided and all should be working fine now. There may still be a 0.9.23 based of the current stable-queue branch, but the next release from master will be 1.0.</em></p>
<h2>May the Source Be With You</h2>
<p>The first job is to clone our code repository. You first have to pick where you want to keep your development version. In the example below I've decided to use a folder under my home directory called "padev"</p>
<pre>[colin@jimmy ~]$ git clone git://git.0pointer.de/pulseaudio.git padev
Cloning into padev...
remote: Counting objects: 39578, done.
remote: Compressing objects: 100% (6760/6760), done.
remote: Total 39578 (delta 32779), reused 39578 (delta 32779)
Receiving objects: 100% (39578/39578), 14.56 MiB | 1.97 MiB/s, done.
Resolving deltas: 100% (32779/32779), done.
[colin@jimmy ~]$</pre>
<p>Now you should have a ~/padev/ folder containing the code.</p>
<p>Compile Time</p>
<p>Now it's time to compile the code, but before we do this, we have to prepare the checkout for compilation. Handily there is a script provided to make this easy for us.</p>
<pre>[colin@jimmy ~]$ cd padev/
[colin@jimmy padev (master)]$ ./bootstrap.sh -V
+ case $(uname) in
++ uname
...
+ make clean
make: *** No rule to make target `clean'.  Stop.
[colin@jimmy padev (master)]$</pre>
<p>There is an error about not being able to "make clean" here but you can safely ignore that.</p>
<p>Next we'll create a build directory. This is not mandatory, but it helps keep temporary build files etc. separate from the code in the checkout (there are special git commands to delete such files but all the same, I feel this is cleaner). After creating the build directory, we change to it and run the configure script.</p>
<pre>[colin@jimmy padev (master)]$ mkdir build
[colin@jimmy padev (master)]$ cd build/
[colin@jimmy build (master)]$ ../configure --prefix=$(pwd)
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...
config.status: executing po/stamp-it commands

---{ pulseaudio 0.9.19-562-g395da }---

prefix:                        /home/colin/padev/build
sysconfdir:                    ${prefix}/etc
localstatedir:                 ${prefix}/var
System Runtime Path:           ${prefix}/var/run/pulse
System State Path:             ${prefix}/var/lib/pulse
System Config Path:            ${prefix}/var/lib/pulse
Compiler:                      gcc -std=gnu99
CFLAGS:                        -g -O2 -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include

Have X11:                      yes
Enable OSS Output:             yes
Enable OSS Wrapper:            yes
Enable CoreAudio:              no
Enable Alsa:                   yes
Enable Solaris:                no
Enable GLib 2.0:               yes
Enable Gtk+ 2.0:               yes
Enable GConf:                  yes
Enable Avahi:                  yes
Enable Jack:                   yes
Enable Async DNS:              yes
Enable LIRC:                   yes
Enable DBUS:                   yes
Enable HAL:                    yes
Enable udev:                   yes
Enable HAL-&gt;udev compat:       no
Enable BlueZ:                  yes
Enable TCP Wrappers:           yes
Enable libsamplerate:          yes
Enable IPv6:                   yes
Enable OpenSSL (for Airtunes): yes
Enable tdb:                    yes
Enable gdbm:                   no
Enable simple database:        no
Enable fftw:                   yes

System User:                   pulse
System Group:                  pulse
Access Group:                  pulse-access
Enable per-user EsounD socket: yes
Force preopen:                 no
Preopened modules:             all
[colin@jimmy build (master)]$</pre>
<p>You should pay particular attention to the --prefix argument passed to configure. Rather than "installing" this version of PulseAudio, we'll just run it from the source tree. This is both quicker and saves any potential conflict with your system-installed PulseAudio packages.</p>
<p>You should also pay attention to the table at the end which lists the available support. In order for automatic card detection to work properly with your build, you really should ensure that udev support in particular is available. If it does not print a "yes" line in the output then you probably do not have the "udev-devel" package for your distro installed.</p>
<h2>Let's Build</h2>
<p>OK, so you're ready to build! But not quite. Due to an <a href="https://bugs.launchpad.net/intltool/+bug/605826">upstream bug</a>, the translations for .desktop files are not written if the destination folder does not exist, so let's create it manually</p>
<pre>[colin@jimmy build (master)]$ mkdir -p src/daemon
[colin@jimmy build (master)]$</pre>
<p>OK, with all the prep work done, we really do build it.</p>
<pre>[colin@jimmy build (master)]$ make
echo 0.9.19-562-g395da &gt; ../.version-t &amp;&amp; mv ../.version-t ../.version
make  all-recursive
...
file=`echo zh_TW | sed 's,.*/,,'`.gmo \
 &amp;&amp; rm -f $file &amp;&amp; /usr/bin/msgfmt -o $file ../../po/zh_TW.po
make[2]: Leaving directory `/home/colin/padev/build/po'
make[2]: Entering directory `/home/colin/padev/build'
make[2]: Leaving directory `/home/colin/padev/build'
make[1]: Leaving directory `/home/colin/padev/build'
[colin@jimmy build (master)]$</pre>
<p>Now that it's built successfully we can run it, but we'll do a little bit of preparation first. As ALSA currently lacks UCM  (Use Case Management) (although this is due to be added soon),  PulseAudio supports a fairly robust "probing" system to determine how  your sound hardware works. In order to run these probes it has to know  where to look for the "mixer profile" definitions. As we are running  from the build tree, we'll cheat a little and use a symlink so that our  development build can find the files.</p>
<pre>[colin@jimmy build (master)]$ mkdir -p share/pulseaudio
[colin@jimmy build (master)]$ ln -s ../../../src/modules/alsa/mixer share/pulseaudio/alsa-mixer
[colin@jimmy build (master)]$</pre>
<p>In order to run some test tools, we also need to manually create some symlinks that are normally done as part of the install process.</p>
<pre>[colin@jimmy build (master)]$ ln -s pacat src/paplay
[colin@jimmy build (master)]$ ln -s pacat src/parec
[colin@jimmy build (master)]$</pre>
<h2>Run, Forest, Run!</h2>
<p>Now that things are built and some symlinks are in place, we can run our nice shiny development version. You should first ensure that the system-installed PulseAudio daemon is not running. In order to do this, you should disable autospawn by doing:</p>
<pre>echo "autospawn=no" &gt;&gt; ~/.pulse/client.conf</pre>
<p>Once this is done, you should reboot. PulseAudio will likely still start when you log in to X11 by virtue of the start-pulseaudio-x11 script that is run at login, but some systems that rely on PA autospawn may not initialise correctly (e.g. under KDE knotify and kmix may start in 'ALSA mode'. This is generally not a problem, but you should be aware of the consequences.</p>
<p>So if your system PA has been run, simply execute:</p>
<pre>pulseaudio -k</pre>
<p>To kill the currently running daemon. You can then start your development version via:</p>
<pre>[colin@jimmy build (master)]$ src/pulseaudio -n -F src/default.pa -p $(pwd)/src/.libs/ -vvvv
W: main.c: Couldn't canonicalize binary path, cannot self execute.
I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: core-rtclock.c: Timer slack is set to 50 us.
D: core-util.c: RealtimeKit worked.
I: core-util.c: Successfully gained nice level -11.
I: main.c: This is PulseAudio 0.9.19-562-g395da
...</pre>
<p>This will produce a lot of debug output, so you should leave that terminal running. The command line arguments are as follows: "-n" says "do not process the (system) default.pa". This is generally only needed if you have a ~/.pulse/default.pa file, but it does no harm to include it always. "-F src/default.pa" says to "process the script src/default.pa" and "-p $(pwd)/src/.libs" tells PA where to look for it's modules (i.e. from your build tree).</p>
<p>Note that the state files saved by PulseAudio in ~/.pulse/ folder will very likely NOT conflict with your system PA's files. This is because our development PA build does not know the right path to look for /var/lib/dbus/machine-id. Because of this, the prefix used on files will default to the host name of your machine, not the string of apparently random numbers and letters that you may see in there already. If you cross reference, the output from cat /var/lib/dbus/machine-id will show the same number as used here. We do this to ensure we can have separate preferences for different machines when your home directory is shared over e.g. NFS - the machine-id is more stable than the hostname which is why we prefer that as a prefix.</p>
<h2>Running a Client App</h2>
<p>So now that everything is running, you should be able to run a client application. As the build tree comes with some utilities you can run them directly from there:</p>
<pre>[colin@jimmy build (master)]$ src/paplay -vv /usr/share/sounds/ia_ora-startup.wav
Opening a playback stream with sample specification 's16le 2ch 22050Hz' and channel map 'front-left,front-right'.
Connection established.
Stream successfully created.
Buffer metrics: maxlength=4194304, tlength=176400, prebuf=174640, minreq=1764
Using sample spec 's16le 2ch 22050Hz', channel map 'front-left,front-right'.
Connected to device alsa_output.pci-0000_00_1b.0.analog-stereo (0, not suspended).
Stream started.
Stream underrun.
Playback stream drained.: 1007045 usec.
Draining connection to server.</pre>
<p>If, however you want to run a more advanced client application, then you need to employ a little hack to tell your system to use your development version of libpulse. This is quite trivial:</p>
<pre>[colin@jimmy build (master)]$ export LD_LIBRARY_PATH=$(pwd)/src/.libs
[colin@jimmy build (master)]$ mplayer /path/to/your/fav.mp3
...</pre>
<p>Easy eh? That's all you need to do to run PulseAudio from git. You can now easily try out patches, write your own modules and help contribute! Happy hacking.</p>
<h2>Some notes on Overlinking</h2>
<p>So, just before I sign off, I thought it was best to mention overlinking. PulseAudio itself uses a shared library that is used by both client and server. This library is "libpulsecommon-0.9.x.so". Client applications should NOT link to this file directly - instead libpulse will load it in for you. This can lead to some strange results. e.g. consider the following output:</p>
<pre>[colin@jimmy ~]$ ldd `which paplay` | grep pulse
	libpulse.so.0 =&gt; /usr/lib64/libpulse.so.0 (0x00007f5bd9fc7000)
	libpulsecommon-0.9.21.so =&gt; /usr/lib64/libpulsecommon-0.9.21.so (0x00007f5bd9d76000)
[colin@jimmy ~]$ ldd `which mplayer` | grep pulse
	libpulse.so.0 =&gt; /usr/lib64/libpulse.so.0 (0x00007f617c1f4000)
	libpulsecommon-0.9.21.so =&gt; /usr/lib64/libpulsecommon-0.9.21.so (0x00007f6175f08000)</pre>
<p>This looks more or less the same right? Not quite. Compare this to:</p>
<pre>[colin@jimmy ~]$ objdump -p `which paplay` | grep pulse
  NEEDED               libpulse.so.0
  NEEDED               libpulsecommon-0.9.21.so
  required from libpulse.so.0:
[colin@jimmy ~]$ objdump -p `which mplayer` | grep pulse
  NEEDED               libpulse.so.0
  required from libpulse.so.0:</pre>
<p>So what you can see here is that my paplay really does need both, but mplayer actually only does not directly need libpulsecommon-0.9.21.so. But what does this mean to you when running things? Well, due to the fact that PulseAudio has this kind of circular dependancy internally, we cannot use the --no-undefined or --as-needed build options. This means that the PulseAudio package is Over linked. This is why the paplay utility needs libpulsecommond-0.9.21.so directly, unlike mplayer, which does not.</p>
<p>So if you try and use the above guide and ultimately run the system provided paplay utility, you'll find you run into problems. This is because the system libpulsecommon-0.9.21.so will be used, not your freshly compiled version (which could have a completely different version number - e.g. libpulsecommon-0.9.19.so!).</p>
<p>While we don't need to run the system paplay (as we have built our own version), it's easy to forget this quirk and break things. If you want to be sure, you can place a symlink in your build folder to fool the system into loading your libpulsecommon, even when the versions don't "match". As this is an overlinking problem, there is little danger in doing this hack:</p>
<pre>[colin@jimmy build (master)]$ ln -s libpulsecommon-0.9.19.so src/.libs/libpulsecommon-0.9.21.so
[colin@jimmy build (master)]$</pre>
<p>This puts the necessary symlink in place to make my dev build (0.9.19) replace the system build (0.9.21). This only has effect with the LD_LIBRARY_PATH variable set, so it wont interfere with anything on your system.</p>
<p>Depending on your your distro packages things, the problems of overlinking may be present in more than just the paplay utility. So check this out and use objdump -p to confirm the client application you want to run is linked correctly and use the symlink hack if needed.</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F&amp;title=Compiling%20and%20running%20PulseAudio%20from%20git&amp;bodytext=A%20few%20budding%20developers%20have%20asked%20me%20recently%20about%20this%20and%20to%20make%20life%20easy%2C%20I%20decided%20to%20write%20up%20this%20guide%21%20There%20are%20some%20gotchas%20to%20look%20out%20for%20so%20please%20read%20carefully%21%0D%0A%0D%0AAre%20we%20ready%3F%20OK%2C%20lets%20being%21%0D%0A%0D%0AThe%20shell%20output%20shown%20below%20will" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F&amp;title=Compiling%20and%20running%20PulseAudio%20from%20git" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F&amp;title=Compiling%20and%20running%20PulseAudio%20from%20git&amp;notes=A%20few%20budding%20developers%20have%20asked%20me%20recently%20about%20this%20and%20to%20make%20life%20easy%2C%20I%20decided%20to%20write%20up%20this%20guide%21%20There%20are%20some%20gotchas%20to%20look%20out%20for%20so%20please%20read%20carefully%21%0D%0A%0D%0AAre%20we%20ready%3F%20OK%2C%20lets%20being%21%0D%0A%0D%0AThe%20shell%20output%20shown%20below%20will" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F&amp;t=Compiling%20and%20running%20PulseAudio%20from%20git" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F&amp;submitHeadline=Compiling%20and%20running%20PulseAudio%20from%20git&amp;submitSummary=A%20few%20budding%20developers%20have%20asked%20me%20recently%20about%20this%20and%20to%20make%20life%20easy%2C%20I%20decided%20to%20write%20up%20this%20guide%21%20There%20are%20some%20gotchas%20to%20look%20out%20for%20so%20please%20read%20carefully%21%0D%0A%0D%0AAre%20we%20ready%3F%20OK%2C%20lets%20being%21%0D%0A%0D%0AThe%20shell%20output%20shown%20below%20will&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=Compiling%20and%20running%20PulseAudio%20from%20git%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F&amp;title=Compiling%20and%20running%20PulseAudio%20from%20git&amp;annotation=A%20few%20budding%20developers%20have%20asked%20me%20recently%20about%20this%20and%20to%20make%20life%20easy%2C%20I%20decided%20to%20write%20up%20this%20guide%21%20There%20are%20some%20gotchas%20to%20look%20out%20for%20so%20please%20read%20carefully%21%0D%0A%0D%0AAre%20we%20ready%3F%20OK%2C%20lets%20being%21%0D%0A%0D%0AThe%20shell%20output%20shown%20below%20will" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=Compiling%20and%20running%20PulseAudio%20from%20git&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fcompiling-and-running-pulseaudio-from-git%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2010/09/compiling-and-running-pulseaudio-from-git/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>There is no spoon (but there is a fork)</title>
		<link>http://colin.guthr.ie/2010/09/there-is-no-spoon-but-there-is-a-fork/</link>
		<comments>http://colin.guthr.ie/2010/09/there-is-no-spoon-but-there-is-a-fork/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 18:23:57 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mageia]]></category>
		<category><![CDATA[mandriva]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=298</guid>
		<description><![CDATA[As many followers of the Linux ecosystem will already be aware, Mandriva Linux (my personal distro of choice) has been through some turbulent times of late. Financial troubles meant that Edge IT (a subsidiary of Mandriva SA) was liquidated and all employees made redundant as a result. While it was not widely known, many of [...]]]></description>
			<content:encoded><![CDATA[<p>As many followers of the Linux ecosystem will already be aware, Mandriva Linux (my personal distro of choice) has been through some turbulent times of late. Financial troubles meant that Edge IT (a subsidiary of Mandriva SA) was liquidated and all employees made redundant as a result. While it was not widely known, many of the core developers were technically employees of Edge IT rather than Mandriva SA, so this lay off was actually quite drastic.</p>
<p>Those of us involved in the community surrounding Mandriva have obviously been worried that the future of our favourite distro is in doubt, so it is with great pleasure that I pass on news of the upcoming fork of Mandriva Linux: <a href="http://www.mageia.org/">Mageia</a></p>
<p>Obviously the obligatory <a href="http://linux.slashdot.org/story/10/09/18/1437248/Developers-Fork-Mandriva-Linux-Creating-Mageia">slashdot</a> story only really draws comments on the choice of name. Personally, I quite like it (more so than the name "Mandriva" (which itself was a contraction of Mandrake and Conectiva - partly due to the use of the name Mandrake drawing some legal issues)). And choosing a name is no easy business: there are trademark issues to consider and domain names to secure: this can seriously limit your choice. Regardless of the practicalities, "that which we call a rose, by any other name, would smell as sweet". In other words, the name doesn't matter, what really matters is the work done and the contributions to be made to the wider Linux ecosystem.</p>
<p>Mandriva has long been regarded as a good participant in upstream projects, contributing to the Kernel, Graphic and Audio subsystems as well as being a very active contributor to higher level desktop environments such as KDE (and GNOME and XFCE and others too). With so many of the key contributors following this fork and contributing to Mageia, I feel this tradition will continue and grow with time.</p>
<p>So, as I said in one of the many "goodbye" emails I've had to write following the lay offs: The future is unwritten. Let's write it!</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F&amp;title=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29&amp;bodytext=As%20many%20followers%20of%20the%20Linux%20ecosystem%20will%20already%20be%20aware%2C%20Mandriva%20Linux%20%28my%20personal%20distro%20of%20choice%29%20has%20been%20through%20some%20turbulent%20times%20of%20late.%20Financial%20troubles%20meant%20that%20Edge%20IT%20%28a%20subsidiary%20of%20Mandriva%20SA%29%20was%20liquidated%20and%20all%20em" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F&amp;title=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F&amp;title=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29&amp;notes=As%20many%20followers%20of%20the%20Linux%20ecosystem%20will%20already%20be%20aware%2C%20Mandriva%20Linux%20%28my%20personal%20distro%20of%20choice%29%20has%20been%20through%20some%20turbulent%20times%20of%20late.%20Financial%20troubles%20meant%20that%20Edge%20IT%20%28a%20subsidiary%20of%20Mandriva%20SA%29%20was%20liquidated%20and%20all%20em" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F&amp;t=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F&amp;submitHeadline=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29&amp;submitSummary=As%20many%20followers%20of%20the%20Linux%20ecosystem%20will%20already%20be%20aware%2C%20Mandriva%20Linux%20%28my%20personal%20distro%20of%20choice%29%20has%20been%20through%20some%20turbulent%20times%20of%20late.%20Financial%20troubles%20meant%20that%20Edge%20IT%20%28a%20subsidiary%20of%20Mandriva%20SA%29%20was%20liquidated%20and%20all%20em&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F&amp;title=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29&amp;annotation=As%20many%20followers%20of%20the%20Linux%20ecosystem%20will%20already%20be%20aware%2C%20Mandriva%20Linux%20%28my%20personal%20distro%20of%20choice%29%20has%20been%20through%20some%20turbulent%20times%20of%20late.%20Financial%20troubles%20meant%20that%20Edge%20IT%20%28a%20subsidiary%20of%20Mandriva%20SA%29%20was%20liquidated%20and%20all%20em" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=There%20is%20no%20spoon%20%28but%20there%20is%20a%20fork%29&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F09%2Fthere-is-no-spoon-but-there-is-a-fork%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2010/09/there-is-no-spoon-but-there-is-a-fork/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Speak[er Setup] Now, or Forever hold your Peace.</title>
		<link>http://colin.guthr.ie/2010/07/speaker-setup-now-or-forever-hold-your-peace/</link>
		<comments>http://colin.guthr.ie/2010/07/speaker-setup-now-or-forever-hold-your-peace/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 08:33:41 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[pulseaudio]]></category>

		<guid isPermaLink="false">http://colin.guthr.ie/?p=275</guid>
		<description><![CDATA[Well it's taken me a little time to commit this work, but here it is. This is the fruits of my labour from the KDE Multimedia Sprint earlier this year. As well as taking part in various discussions, I was able to spend some time cooking up a UI to control the configuration of PulseAudio [...]]]></description>
			<content:encoded><![CDATA[<p>Well it's taken me a little time to commit this work, but here it is. This is the fruits of my labour from the KDE Multimedia Sprint earlier this year.</p>
<p>As well as taking part in various discussions, I was able to spend some time cooking up a UI to control the configuration of <a href="http://pulseaudio.org/">PulseAudio</a> and the various cards attached.<span id="more-275"></span>When adding PulseAudio support to the various parts of KDE that need it (Phonon, KMix), there was an important part of the puzzle missing: a card profile selector, and a sink/source port selector. I had always intended to include this functionality somewhere, but the KMix framework didn't really allow for it neatly (I could have created a separate dialog of course but it didn't quite feel right).</p>
<p>The eagle eyed readers may have seen a sneak preview of this feature when looking at the KDE-specific help page I wrote up on the <a href="http://pulseaudio.org/wiki/KDE">PulseAudio website</a>. So I give you this: the Speaker Setup tab in System Settings.</p>
<p style="text-align: center;">
<div id="attachment_276" class="wp-caption aligncenter" style="width: 310px"><a href="http://colin.guthr.ie/wp-content/uploads/2010/07/ss1.png"><img class="size-medium wp-image-276 " title="Speaker Setup GUI" src="http://colin.guthr.ie/wp-content/uploads/2010/07/ss1-300x211.png" alt="Speaker Setup GUI" width="300" height="211" /></a><p class="wp-caption-text">Speaker Setup GUI</p></div>
<p>The little icon in the middle is your user icon, so you'll see this differently unless your a weird stalker type and have set your icon to mine :s</p>
<p>The various drop downs allow fully control over all cards that are attached to the system. The buttons on the main pane allow you to test each speaker separately. In order to test the speakers, <a href="http://0pointer.de/lennart/projects/libcanberra/">libcanberra</a> is used. libcanberra is an implementation of the <a href="http://freedesktop.org/wiki/Specifications/sound-theme-spec">Free Desktop Sound Theme specification</a>. It allows this test to be implemented with minimum hassle and I'm not personally interested in reinventing the wheel, hence the use of this library and the additional dependency.  Some people dislike using libcanberra in KDE (as was apparent from some discussions at the Multimedia Sprint), but I believe the reasons were often personal ones and not related to the usefulness of the code. If someone really wants to factor this out, they can but I have no interest in doing so and will prefer to use the existing implementation whenever possible (and this would include any future implementation I may or may not do with regards to support the Sound Theme Specification in KDE (or maybe Qt) directly)</p>
<p>When a 5.1 surround system is presented, the GUI is obviously a bit more advanced:</p>
<p style="text-align: center;">
<div id="attachment_277" class="wp-caption aligncenter" style="width: 310px"><a href="http://colin.guthr.ie/wp-content/uploads/2010/07/ss2.png"><img class="size-medium wp-image-277 " title="Speaker Setup GUI (5.1)" src="http://colin.guthr.ie/wp-content/uploads/2010/07/ss2-300x213.png" alt="Speaker Setup GUI (5.1)" width="300" height="213" /></a><p class="wp-caption-text">Speaker Setup GUI (5.1)</p></div>
<p>For those naysayers, I've tried my best to ensure that the compile will work fine without PulseAudio installed. It should also degrade gracefully when it is compiled with PA support, but PA is not configured to be used at runtime. The whole tab will simply not be available.</p>
<p>There is still one small problem left in that I don't handle disconnection/reconnection yet. This causes the GUI to crash if the PA server is stopped and restarted. This is not typically something that happens, but it's still something I will fix shortly all the same.</p>
<p>This code is now in trunk (r1154776) so feel free to try it out and report other bugs etc. This GUI is also included in Mandriva Cooker (I did want to include it prior to 2010.1 release, but the timing didn't work out - tho' it probably would have been OK considering the delays that cropped up in the release process). I expect this functionality to be included in any updated/backported versions of KDE for 2010.1.</p>
<p>For reference, in case you didn't spot it yourself, this GUI was heavily inspired by the <a href="http://0pointer.de/blog/projects/speaker-setup">gnome-speaker-setup</a> utility.</p>
<div class='sociable'><div><span class='sociable-tagline'>Share and Enjoy:</span></div><ul><li><a rel="nofollow"   href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F&amp;title=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace.&amp;bodytext=Well%20it%27s%20taken%20me%20a%20little%20time%20to%20commit%20this%20work%2C%20but%20here%20it%20is.%20This%20is%20the%20fruits%20of%20my%20labour%20from%20the%20KDE%20Multimedia%20Sprint%20earlier%20this%20year.%0D%0A%0D%0AAs%20well%20as%20taking%20part%20in%20various%20discussions%2C%20I%20was%20able%20to%20spend%20some%20time%20cooking%20up%20a%20UI%20to" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow"   href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F&amp;title=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace." ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li><li><a rel="nofollow"   href="http://delicious.com/post?url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F&amp;title=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace.&amp;notes=Well%20it%27s%20taken%20me%20a%20little%20time%20to%20commit%20this%20work%2C%20but%20here%20it%20is.%20This%20is%20the%20fruits%20of%20my%20labour%20from%20the%20KDE%20Multimedia%20Sprint%20earlier%20this%20year.%0D%0A%0D%0AAs%20well%20as%20taking%20part%20in%20various%20discussions%2C%20I%20was%20able%20to%20spend%20some%20time%20cooking%20up%20a%20UI%20to" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a></li><li><a rel="nofollow"   href="http://www.facebook.com/share.php?u=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F&amp;t=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace." ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow"   href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F&amp;submitHeadline=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace.&amp;submitSummary=Well%20it%27s%20taken%20me%20a%20little%20time%20to%20commit%20this%20work%2C%20but%20here%20it%20is.%20This%20is%20the%20fruits%20of%20my%20labour%20from%20the%20KDE%20Multimedia%20Sprint%20earlier%20this%20year.%0D%0A%0D%0AAs%20well%20as%20taking%20part%20in%20various%20discussions%2C%20I%20was%20able%20to%20spend%20some%20time%20cooking%20up%20a%20UI%20to&amp;submitCategory=science&amp;submitAssetType=text" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a></li><li><a rel="nofollow"   href="http://twitter.com/home?status=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace.%20-%20http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow"   href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F&amp;title=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace.&amp;annotation=Well%20it%27s%20taken%20me%20a%20little%20time%20to%20commit%20this%20work%2C%20but%20here%20it%20is.%20This%20is%20the%20fruits%20of%20my%20labour%20from%20the%20KDE%20Multimedia%20Sprint%20earlier%20this%20year.%0D%0A%0D%0AAs%20well%20as%20taking%20part%20in%20various%20discussions%2C%20I%20was%20able%20to%20spend%20some%20time%20cooking%20up%20a%20UI%20to" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a></li><li><a rel="nofollow"   href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow"   href="http://slashdot.org/bookmark.pl?title=Speak%5Ber%20Setup%5D%20Now%2C%20or%20Forever%20hold%20your%20Peace.&amp;url=http%3A%2F%2Fcolin.guthr.ie%2F2010%2F07%2Fspeaker-setup-now-or-forever-hold-your-peace%2F" ><img src="http://colin.guthr.ie/wp-content/plugins/sociable-30/images/default/16/slashdot.png" class="sociable-img sociable-hovers" title="Slashdot" alt="Slashdot" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://colin.guthr.ie/2010/07/speaker-setup-now-or-forever-hold-your-peace/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

