[pulseaudio-discuss] Pulseaudio server for playing 32-bit chroot sounds on 64-bit host machine

Ng Oon-Ee ngoonee at gmail.com
Mon Apr 27 10:52:13 PDT 2009


Colin Guthrie wrote:
> 'Twas brillig, and Ng Oon-Ee at 25/04/09 13:45 did gyre and gimble:
>> So, back to the matter at hand, any suggestions on what I might try 
>> when I regain access to my PC? Colin mentioned that networked Pulse 
>> should not be necessary, and that's my gut feeling as well, though I 
>> HAVE got it working with that. Perhaps I need to edit client.conf 
>> within the chroot to use the .pulse-cookie within the user's home 
>> directory, similarly to how I need to edit it when using networked 
>> Pulse? Shouldn't that be automatic, anyhow?
>
>
> Well you shouldn't *need* to enable networking, but it may be a quick 
> and simple way to get it working (albeit with increased overhead).
>
> You shouldn't need to edit client.conf as the built in mechanisms in 
> pulse should be sufficient to work out where to connect.
>
> FWIW, the logic is something like this:
>
> 1. Check for client.conf and use it if specified.
> 2. Check for PULSE_SERVER env var and use it if specified
> 3. Check for PULSE_SERVER X11 property (xprop -root | grep PULSE) and 
> use it if specified.
> 4. Connect to the local server via the socket in the "runtime" directory.
> 5. Autospawn a local pulse server and connect to it.
>
> The runtime directory is specified as a symlink inside ~/.pulse/ It 
> should look like "ac481238bcef82:runtime" where the random string of 
> characters is your "machine id". Make sure you don't have two 
> different machine ids listed in your ~/pulse folder pointing to 
> different runtime folders. If you do, then this is likely a problem. 
> Report back and we'll try and work that one out.
>
> Col
>
Ah, what a hectic day. Starting off with an accidental system reformat 
is never a good thing. Things are back in working order, though, and I 
gained an additional x86_64 install to test on. I have not done anything 
special except for setting up the 32-bit chroot and installing 
pulseaudio and alsa-related stuff on both the host and the 32-bit 
chroot. Client.conf has been left virgin, PULSE_SERVER env var is not 
set, neither does xprop -root | grep PULSE return anything. When I start 
up my machine, this is the output of `ls -la ~/.pulse`

total 60
drwx------  2 ngoonee ngoonee  4096 2009-04-27 17:37 .
drwx------ 53 ngoonee ngoonee  4096 2009-04-27 17:39 ..
-rw-------  1 ngoonee ngoonee 12288 2009-04-27 17:37 
97d309d0bcf94d1cd753ce7449f50f47:card-database.x86_64-unknown-linux-gnu.gdbm
-rw-r--r--  1 ngoonee ngoonee    19 2009-04-27 17:38 
97d309d0bcf94d1cd753ce7449f50f47:default-sink
-rw-r--r--  1 ngoonee ngoonee    18 2009-04-27 17:38 
97d309d0bcf94d1cd753ce7449f50f47:default-source
-rw-------  1 ngoonee ngoonee 13736 2009-04-27 17:38 
97d309d0bcf94d1cd753ce7449f50f47:device-volumes.x86_64-unknown-linux-gnu.gdbm
lrwxrwxrwx  1 ngoonee ngoonee    23 2009-04-27 17:37 
97d309d0bcf94d1cd753ce7449f50f47:runtime -> /tmp/pulse-PKdhtXMmr18n
-rw-------  1 ngoonee ngoonee 13147 2009-04-27 17:40 
97d309d0bcf94d1cd753ce7449f50f47:stream-volumes.x86_64-unknown-linux-gnu.gdbm

Once I chroot into my 32-bit chroot, this is the output of `ls -la ~/.pulse`

total 96
drwx------  2 ngoonee ngoonee  4096 2009-04-27 17:42 .
drwx------ 53 ngoonee ngoonee  4096 2009-04-27 17:39 ..
-rw-------  1 ngoonee ngoonee 12288 2009-04-27 17:42 
0e0aa8e4defa50a16bb9d5c349f5dd35:card-database.i686-pc-linux-gnu.gdbm
-rw-------  1 ngoonee ngoonee 12288 2009-04-27 17:42 
0e0aa8e4defa50a16bb9d5c349f5dd35:device-volumes.i686-pc-linux-gnu.gdbm
lrwxrwxrwx  1 ngoonee ngoonee    23 2009-04-27 17:42 
0e0aa8e4defa50a16bb9d5c349f5dd35:runtime -> /tmp/pulse-2L9K88eMlGn7
-rw-------  1 ngoonee ngoonee 12288 2009-04-27 17:42 
0e0aa8e4defa50a16bb9d5c349f5dd35:stream-volumes.i686-pc-linux-gnu.gdbm
-rw-------  1 ngoonee ngoonee 12288 2009-04-27 17:37 
97d309d0bcf94d1cd753ce7449f50f47:card-database.x86_64-unknown-linux-gnu.gdbm
-rw-r--r--  1 ngoonee ngoonee    19 2009-04-27 17:38 
97d309d0bcf94d1cd753ce7449f50f47:default-sink
-rw-r--r--  1 ngoonee ngoonee    18 2009-04-27 17:38 
97d309d0bcf94d1cd753ce7449f50f47:default-source
-rw-------  1 ngoonee ngoonee 13736 2009-04-27 17:38 
97d309d0bcf94d1cd753ce7449f50f47:device-volumes.x86_64-unknown-linux-gnu.gdbm
lrwxrwxrwx  1 ngoonee ngoonee    23 2009-04-27 17:37 
97d309d0bcf94d1cd753ce7449f50f47:runtime -> /tmp/pulse-PKdhtXMmr18n
-rw-------  1 ngoonee ngoonee 13147 2009-04-27 17:40 
97d309d0bcf94d1cd753ce7449f50f47:stream-volumes.x86_64-unknown-linux-gnu.gdbm

So, as can be seen, the 32-bit install ignores the 'runtime' within 
~/.pulse, hence the reason my /tmp contains a few pulse-XXXX 
directories. It is falling through to condition 5 in your steps.

Please advise whether I should attempt the tripping of steps 1-3, since 
I believe that it would be better from the perspective of bug-fixing to 
try and isolate the reason why step 4 does not work as it should.

Once again, I list my mounts for the 32-bit chroot.

        mount --bind /proc /opt/arch32/proc
        mount --bind /proc/bus/usb /opt/arch32/proc/bus/usb
        mount --bind /dev /opt/arch32/dev
        mount --bind /dev/pts /opt/arch32/dev/pts
        mount --bind /dev/shm /opt/arch32/dev/shm
        mount --bind /sys /opt/arch32/sys
        mount --bind /tmp /opt/arch32/tmp
    mount --bind /var/abs/local /opt/arch32/var/abs/local
        mount --bind /home /opt/arch32/home
    mount --bind /home/data /opt/arch32/home/data

Thanks for your help so far.



More information about the pulseaudio-discuss mailing list