[pulseaudio-discuss] Trying to get Pukseaudio playing nice with KDE 4.6 on Arch Linux

Colin Guthrie gmane at colin.guthr.ie
Mon Feb 14 10:04:25 PST 2011

'Twas brillig, and Gene Kodadek at 14/02/11 16:54 did gyre and gimble:
> I would consider PA running all the time to be an acceptable solution except 
> for one thing: as it sits right now, I only have sound when Jack is running.

Well as your default.pa does not even use module-udev-detect, then it's
unsurprising that you don't have sound when jack isn't running. You've
specifically told PA to only load the jack sink modules.

This is your configuration, so you are free to configure it as needed.
You could just run e.g.:

pactl load-module module-alsa-card device_id=0
(or something similar - I can't remember the exact arguments) and you'll
get direct alsa modules, but you will of course have to unload those
modules and load the jack ones when you switch to using jack.

For a fairly static setup (e.g. no hotplug support) scripting this
should be pretty trivial with a few pactl or pacmd commands (i.e. pactl
unload-module $MID (where $MID is the module id you want to unload)
would be used to unload jack modules then pactl load-module
module-alsa-card device_id=0 would be used to load the alsa modules.
Then you have to reverse the process (unload the alsa-card module and
load the jack modules when you want to switch the other way.

This will ultimately be fully automated, but for now you are on your
own. I think various scripts for achieving basically this have been
posted in the past however.

Personally what I would do is as follows:

1. Do not run jack at boot.
2. Let PA run with the upstream default.pa (no modifications).
3. When you want to run jack, do something like:
 pacmd set-card-profile 0 off
(assuming the 0 card is the one you want to change - check pacmd
list-cards for details on the index to use).
4. pacmd load-module module-jack-sink (and source)

Then when you stop running jack run somehting like:
1. pacmd unload-module $JMID (where $JMID is the jack module id). This
step may not be needed as the modules may automatically unload when
jackd dies.
2. pacmd set-card-profile 0 $WHATEVER (where $WHATEVER is the card
profile (shown in pacmd list-cards) you want to use.

This setup can probably be automated in jack startup and shutdown
scripts (not really sure) and means you get full hotplug support for USB
devices etc.





Colin Guthrie

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

More information about the pulseaudio-discuss mailing list