<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
I'm part-way to a solution, but am not sure whether I'm doing things
right, please comment.<br>
<br>
Currently, I notice the variables PULSE_SERVER and the like are not set
on my Arch Linux install. Setting them did not make a difference,
initially, until I did further things.<br>
<br>
Basically, I changed pulseaudio to a system-wide instance (starting as
root with --system), copied the /var/run/pulse/.pulse-cookie to
/etc/pulse-cookie in the 32-bit chroot, did the appropriate chown to
pulse:pulse-access and chmod 640 to the cookie, and was able to play
sound using paplay -s localhost. It also works with
PULSE_SERVER=localhost.<br>
<br>
As I understand it, what I'm doing is using pulseaudio over a network
(though the chroot is actually on the same machine). All I'd have to do
now is set the PULSE_SERVER environment variable to get sound working.<br>
<br>
Is this the right way to do it? Seems overly complicated for a
single-machine setup to me. Please advise.<br>
<br>
Ng Oon-Ee wrote:
<blockquote cite="mid:49F036D8.7020403@gmail.com" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<blockquote>
<pre wrap=""><div class="moz-txt-sig">Message: 6
Date: Thu, 23 Apr 2009 09:37:50 +0100
From: Colin Guthrie <a moz-do-not-send="true"
class="moz-txt-link-rfc2396E" href="mailto:gmane@colin.guthr.ie"><gmane@colin.guthr.ie></a>
Subject: Re: [pulseaudio-discuss] Pulseaudio server for playing 32-bit
        chroot sounds on 64-bit host machine
To: <a moz-do-not-send="true" class="moz-txt-link-abbreviated"
href="mailto:pulseaudio-discuss@mail.0pointer.de">pulseaudio-discuss@mail.0pointer.de</a>
Message-ID: <a moz-do-not-send="true" class="moz-txt-link-rfc2396E"
href="mailto:gsp9cu$ve9$1@ger.gmane.org"><gsp9cu$ve9$1@ger.gmane.org></a>
Content-Type: text/plain; charset=UTF-8; format=flowed
'Twas brillig, and Ng Oon-Ee at 23/04/09 02:54 did gyre and gimble:
</div></pre>
<blockquote>
<pre wrap=""><span class="moz-txt-citetags">> </span>Hi all, first post here but I've been following the list for quite a while.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Been shifting to a 64-bit setup in Arch Linux, previously used it for a
<span class="moz-txt-citetags">> </span>while in Ubuntu with a multi-lib system but went back to 32-bit for a
<span class="moz-txt-citetags">> </span>variety of reasons, chiefly work-related. Now willing to try 64-bit
<span class="moz-txt-citetags">> </span>again, but with non-64 bit apps safely tucked away in a 32-bit chroot
<span class="moz-txt-citetags">> </span>instead of messing around with /lib32 stuff again.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>However, I'm not sure how to get PA to accept sounds from my 32-bit
<span class="moz-txt-citetags">> </span>chroot. The only help I've been able to find from this mailing list's
<span class="moz-txt-citetags">> </span>archives are a question and quick answer
<span class="moz-txt-citetags">> </span><a moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="http://www.mail-archive.com/pulseaudio-discuss@mail.0pointer.de/msg00141.html"><http://www.mail-archive.com/pulseaudio-discuss@mail.0pointer.de/msg00141.html></a>
<span class="moz-txt-citetags">> </span>concerning permissions on /dev/shm, which are correct as referred to
<span class="moz-txt-citetags">> </span>there. In the Arch Linux forums, this thread
<span class="moz-txt-citetags">> </span><a moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="http://bbs.archlinux.org/viewtopic.php?pid=540619"><http://bbs.archlinux.org/viewtopic.php?pid=540619></a> contains a
<span class="moz-txt-citetags">> </span>discussion on this, but without any clear statements on how the OP
<span class="moz-txt-citetags">> </span>actually got his system to work. I've done the most obvious thing, which
<span class="moz-txt-citetags">> </span>is to install 32-bit pulse in the chroot, but am unclear about what to
<span class="moz-txt-citetags">> </span>do beyond that. Further advise in that thread refers to pulse over a
<span class="moz-txt-citetags">> </span>network, and I'm not sure whether that's required, since its within the
<span class="moz-txt-citetags">> </span>same machine, after all.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Thanks to any who can give me pointers in this matter. Some miscellenous
<span class="moz-txt-citetags">> </span>(sp?) things I noticed, when I try to run pulseaudio from the chroot I
<span class="moz-txt-citetags">> </span>get errors with lots of things not being able to startup, which only go
<span class="moz-txt-citetags">> </span>away on removing them from /etc/pulse/default.pa, these are:-
<span class="moz-txt-citetags">> </span>module-device-restore
<span class="moz-txt-citetags">> </span>module-stream-restore
<span class="moz-txt-citetags">> </span>module-card-restore
<span class="moz-txt-citetags">> </span>module-hal-detect
<span class="moz-txt-citetags">> </span>module-bluetooth-discover
<span class="moz-txt-citetags">> </span>module-{esound,native}-protocol-unix
<span class="moz-txt-citetags">> </span>module-gconf
<span class="moz-txt-citetags">> </span>The rest load up, leaving me with with module-default-device-restore,
<span class="moz-txt-citetags">> </span>module-rescue-streams, module-null-sink, and module-always-sink only.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Also, when I run pulseaudio in the chroot, I notice /tmp contains two
<span class="moz-txt-citetags">> </span>folders named pulse-XXXXXXXX, so I'm guessing that the pulseaudio daemon
<span class="moz-txt-citetags">> </span>in the chroot doesn't know that there's already a daemon running and is
<span class="moz-txt-citetags">> </span>trying to take control of system devices, hence why I have to disable so
<span class="moz-txt-citetags">> </span>many modules since its failure to grab what pulseaudio (64bit) has
<span class="moz-txt-citetags">> </span>already taken causes errors.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Thank you all for your time.
</pre>
</blockquote>
<br>
Well, firstly, I'm not sure why you're using a chroot... I've been <br>
running 64 bit mandriva for several years and it's quite simple to <br>
install 32bit apps and libraries under a 64 bit system (the library <br>
packages never conflict between 32/64 systems). I've got several 32 bit
<br>
sound producing apps and they all work fine.<br>
<br>
Regardless of that, if you are using a chroot, you don't need a
"server" <br>
as per your subject, you just need the 32 bit pulse libraries. If you <br>
want alsa applications to work you'll need the 32 bit alsa libraries
and <br>
the 32 bit alsa pulse plugin.<br>
<br>
As you said earlier you'll want to make the /dev/shm stuff work on your
<br>
chroot to get best performance.<br>
<br>
Remember that you do not want to run a second instance of the
pulseaudio <br>
deamon. There should only be one of these for your user, and it may as <br>
well be the 64 bit one.<br>
<br>
Col<br>
</blockquote>
<br>
Am not sure whether top/bottom-posting is the way to go, please advise.<br>
<br>
Anyway, from your answer I suppose that making /dev/shm work means
ensuring that it exists and is world-read/write-able? My ls -la /dev |
grep shm returns:-<br>
<blockquote>drwxrwxrwt 2 root root 80 2009-04-23 17:30 shm<br>
</blockquote>
Presumably this should be correct.<br>
<br>
So, the results of paplay -v /usr/share/sounds/alsa/Side-Right.wav from
a terminal in the 64-bit install:-<br>
<blockquote>Using sample spec 's16le 1ch 48000Hz'<br>
Connection established.<br>
Stream successfully created<br>
Playback stream drained.<br>
Draining connection to server.<br>
</blockquote>
The same command, run from the 32-bit chroot:-<br>
<blockquote>Using sample spec 's16le 1ch 48000Hz'<br>
Connection failure: Connection terminated<br>
</blockquote>
So, somehow, the Pulse server/daemon won't allow the 32bit chroot to
play. The user within the chroot is identical to the user outside it,
with membership in audio, pulse, pulse-access, and pulse-rt. If I try
with user 'root' from the 32bit chroot, its the same result except for
an additional complaint about /home/<user_name> not belonging to
the user. Is there anything else I could try, some sort of permissions
thing with the server I could change?<br>
<br>
Finally, thanks for your quick response, Colin.<br>
</blockquote>
</body>
</html>