Second Life and 1.9.563

View: New views
8 Messages — Rating Filter:   Alert me  

Second Life and 1.9.563

by Tom Porter :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

First of all thanks for the great work with OpenAL.  It has allowed me  
to use Second Life with PulseAudio in Linux so that I can get voice  
support.  1.8.466 has been great.  I saw the new version was  
available, so I downloaded, built and dropped it in as a replacement  
for 1.8.466.  Unfortunately, all doesn't appear well for me and Second  
Life with the latest OpenAl Soft lib.  Second Life apparently opens  
different streams for different things.  Voice, media (like an  
internet radio stream) and the base UI stream for feedback and  
environment sounds.  They all work just fine with 1.9.563 except the  
base UI stream.  The PulseAudio manager shows the stream is started  
under 'Sinks' but I do not get audio.  I can play in-world internet  
radio streams and use voice (capture and playback) without issue.  I  
have tried to discern any error(s) by running via a command line, but  
to no avail.  I have used the latest alsoftrc.samples to construct my  
config.  I change the sample in only one way.  I set drivers = pulse.  
I'm not sure how to help debug this issue.  I know that 1.8.466 works  
simply as a replacement to Linden Labs OpenAl lib, but 1.9.563 does  
not.  I'm certainly willing to do some debugging if someone can point  
me in the right direction.

Tom Porter
thanatos@...



_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Second Life and 1.9.563

by Chris Robinson-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 06 October 2009 6:16:57 am Tom Porter wrote:
> Second Life apparently opens
> different streams for different things.  Voice, media (like an
> internet radio stream) and the base UI stream for feedback and
> environment sounds.  They all work just fine with 1.9.563 except the
> base UI stream.  The PulseAudio manager shows the stream is started
> under 'Sinks' but I do not get audio.  I can play in-world internet
> radio streams and use voice (capture and playback) without issue.

Hi. Do you happen to know if Second Life has OpenAL mix it all and play it out
the open device, or does it only use OpenAL for some things (eg. UI,
environment), and other APIs for the rest (media, voice)?

Does it print any AL lib messages to the console when run from the command
line, or does it perhaps redirect stderr to a log file of its own?

Also, does it happen to work if you set drivers=alsa and disable ALSA's mmap
with
[alsa]
mmap = off
in ~/.alsoftrc?

If you can, it may also be worth trying to uninstall PulseAudio and use ALSA
directly (or some other way to disable PulseAudio and make it let you use ALSA
directly, not through the pulse plugin).
_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Second Life and 1.9.563

by Tom Porter :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I believe the configuration I am using for SL allows everything to use  
OpenAL.  The only real issue is the different between the version  
releases of OpenAL Soft.  1.8.xxx works just fine for me and I can  
continue to use it.  Something changed in the 1.9.xxx release such  
that it only partially works for me now.  I am not actually allowing  
OpenAL to use the ALSA plugin for PulseAudio, but rather have OpenAL  
configured to use the PulseAudio back end, directly.  I can try other  
drivers, i.e. ALSA and see if that makes a different for the 1.9.xxx  
release, but I will probably just continue to use the 1.8.xxx release  
and stop there, since my system is completely set up to use Pulse.  If  
I get the time, I may get the source from various places between the  
releases and see if I can determine which changes caused this behavior.

Thanks,
Tom Porter
thanatos@...



On Oct 6, 2009, at 12:05 PM, Chris Robinson wrote:

> On Tuesday 06 October 2009 6:16:57 am Tom Porter wrote:
>> Second Life apparently opens
>> different streams for different things.  Voice, media (like an
>> internet radio stream) and the base UI stream for feedback and
>> environment sounds.  They all work just fine with 1.9.563 except the
>> base UI stream.  The PulseAudio manager shows the stream is started
>> under 'Sinks' but I do not get audio.  I can play in-world internet
>> radio streams and use voice (capture and playback) without issue.
>
> Hi. Do you happen to know if Second Life has OpenAL mix it all and  
> play it out
> the open device, or does it only use OpenAL for some things (eg. UI,
> environment), and other APIs for the rest (media, voice)?
>
> Does it print any AL lib messages to the console when run from the  
> command
> line, or does it perhaps redirect stderr to a log file of its own?
>
> Also, does it happen to work if you set drivers=alsa and disable  
> ALSA's mmap
> with
> [alsa]
> mmap = off
> in ~/.alsoftrc?
>
> If you can, it may also be worth trying to uninstall PulseAudio and  
> use ALSA
> directly (or some other way to disable PulseAudio and make it let  
> you use ALSA
> directly, not through the pulse plugin).
> _______________________________________________
> Openal mailing list
> Openal@...
> http://opensource.creative.com/mailman/listinfo/openal

_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Second Life and 1.9.563

by Chris Robinson-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 06 October 2009 10:32:17 am Tom Porter wrote:
> I believe the configuration I am using for SL allows everything to use
> OpenAL.  The only real issue is the different between the version
> releases of OpenAL Soft.  1.8.xxx works just fine for me and I can
> continue to use it.

I ask because, if the media/music stream is played out externally (eg. through
gstreamer's output sinks), then it might indicate a problem with OpenAL Soft's
PulseAudio backend. But if they play out the same OpenAL device, then
PulseAudio is properly playing OpenAL Soft's mix and the problem is elsewhere.

If it's the latter case, then I'm stumped. Second Life (v1.23.4.123908) is
properly playing audio for me using the latest GIT of OpenAL Soft (using ALSA
output), and there isn't any change from 1.9 that would only affect *some*
sounds. Only thing to note is that on initial startup (before log in), I don't
get UI sounds right away. But after playing around in the preferences for a
little bit, or logging in, then I seem to get them.

> Something changed in the 1.9.xxx release such
> that it only partially works for me now.  I am not actually allowing
> OpenAL to use the ALSA plugin for PulseAudio, but rather have OpenAL
> configured to use the PulseAudio back end, directly.

If it's a problem with 1.9's PulseAudio backend, using Pulse's ALSA plugin may
get around the issue. Although Pulse's ALSA plugin does have a bunch of
issues, any differences or lack of differences between the two outputs may
help me narrow down the issue.

> If
> I get the time, I may get the source from various places between the
> releases and see if I can determine which changes caused this behavior.

If you're familiar with GIT, it helps automate regression testing, and keeps
the number of rebuilds needed very low. Essentially, with GIT installed you'd
download the latest sources:
$ git clone git://repo.or.cz/openal-soft.git openal-soft
That will copy the repository into the openal-soft sub-directory.

Then start a bisect and tell GIT the last known good commit (1.8's release)
and the first known bad commit (1.9's release):
$ git bisect start
$ git bisect good openal-soft-1.8.466
$ git bisect bad openal-soft-1.9.563

That will place the current head between the two releases. You would then
build and install the lib, try it with Second Life, then if it works, run
$ git bisect good
or if it doesn't work, run
$ git bisect bad
or if a given commit doesn't build at all (or has another problem preventing
you from properly testing), run
$ git bisect skip

Keep testing and doing good/bad/skip until it tells you what the first bad
commit is. You should only need to do, at most, 10 tests given the less than
100 commits between the two releases (probably closer to 6 or 7).

When you get the first bad commit and are done bisecting, you can run
$ git bisect reset
to reset the tree back to its original head.
_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Second Life and 1.9.563

by Tom Porter :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for the feedback.  Now that you mention it, I do think that  
SL's media streams are handled via Gstreamer.  I had forgotten about  
that since I haven't actually built SL, just use the pre-built  
versions.  I'm not sure now how voice is output.  The streams for  
those various things show up in PA Manager, but that is probably  
because whatever layer they go through ultimately ends up using Pulse.

The biggest reason I don't use the ALSA plugin with Pulse is because  
it CPU usage spikes for Pulse.  There are some issues there such that  
I can't really even run SL with audio that way.

I am not all that familiar with GIT (more a CVS guy), but I believe  
your tutorial will help.  It is basically the same thing I was going  
to do manually.  'Divide and conquer' as it were.  I'll give it a try  
and post my findings.

Thanks,
Tom Porter
thanatos@...



On Oct 7, 2009, at 3:49 AM, Chris Robinson wrote:

> On Tuesday 06 October 2009 10:32:17 am Tom Porter wrote:
>> I believe the configuration I am using for SL allows everything to  
>> use
>> OpenAL.  The only real issue is the different between the version
>> releases of OpenAL Soft.  1.8.xxx works just fine for me and I can
>> continue to use it.
>
> I ask because, if the media/music stream is played out externally  
> (eg. through
> gstreamer's output sinks), then it might indicate a problem with  
> OpenAL Soft's
> PulseAudio backend. But if they play out the same OpenAL device, then
> PulseAudio is properly playing OpenAL Soft's mix and the problem is  
> elsewhere.
>
> If it's the latter case, then I'm stumped. Second Life  
> (v1.23.4.123908) is
> properly playing audio for me using the latest GIT of OpenAL Soft  
> (using ALSA
> output), and there isn't any change from 1.9 that would only affect  
> *some*
> sounds. Only thing to note is that on initial startup (before log  
> in), I don't
> get UI sounds right away. But after playing around in the  
> preferences for a
> little bit, or logging in, then I seem to get them.
>
>> Something changed in the 1.9.xxx release such
>> that it only partially works for me now.  I am not actually allowing
>> OpenAL to use the ALSA plugin for PulseAudio, but rather have OpenAL
>> configured to use the PulseAudio back end, directly.
>
> If it's a problem with 1.9's PulseAudio backend, using Pulse's ALSA  
> plugin may
> get around the issue. Although Pulse's ALSA plugin does have a bunch  
> of
> issues, any differences or lack of differences between the two  
> outputs may
> help me narrow down the issue.
>
>> If
>> I get the time, I may get the source from various places between the
>> releases and see if I can determine which changes caused this  
>> behavior.
>
> If you're familiar with GIT, it helps automate regression testing,  
> and keeps
> the number of rebuilds needed very low. Essentially, with GIT  
> installed you'd
> download the latest sources:
> $ git clone git://repo.or.cz/openal-soft.git openal-soft
> That will copy the repository into the openal-soft sub-directory.
>
> Then start a bisect and tell GIT the last known good commit (1.8's  
> release)
> and the first known bad commit (1.9's release):
> $ git bisect start
> $ git bisect good openal-soft-1.8.466
> $ git bisect bad openal-soft-1.9.563
>
> That will place the current head between the two releases. You would  
> then
> build and install the lib, try it with Second Life, then if it  
> works, run
> $ git bisect good
> or if it doesn't work, run
> $ git bisect bad
> or if a given commit doesn't build at all (or has another problem  
> preventing
> you from properly testing), run
> $ git bisect skip
>
> Keep testing and doing good/bad/skip until it tells you what the  
> first bad
> commit is. You should only need to do, at most, 10 tests given the  
> less than
> 100 commits between the two releases (probably closer to 6 or 7).
>
> When you get the first bad commit and are done bisecting, you can run
> $ git bisect reset
> to reset the tree back to its original head.

_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Parent Message unknown Re: Second Life and 1.9.563

by Chris Robinson-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tofu Linden wrote:

> I'm not subscribed to the non-dev [Openal] list but I discovered this
> thread!
>
> SL (on Linux) uses OpenAL for UI/world/ambient sounds.
>
> It uses a 3rd-party process (Vivox) for Voice input/output, but as
> it happens that process also uses OpenAL (the same .so).
>
> *Streaming* music and video are handled by GStreamer, which chooses
> whatever back-end API it likes.
>
> Hope that helps!

Indeed, quite helpful, thanks. Then it's quite likely that there's (yet
another *sigh*) issue with PulseAudio. At least it gives me some place to
look.
_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Second Life and 1.9.563

by Tom Porter :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris,

I did the regression testing you mentioned below and I found the first  
'bad' commit.  This is the output GIT provided.  I hope it helps.

bdbdbcea26d4a12d4d3f76ad3724f2ad12a55358 is first bad commit
commit bdbdbcea26d4a12d4d3f76ad3724f2ad12a55358
Author: Chris Robinson <chris.kcat@...>
Date:   Wed Sep 23 01:24:10 2009 -0700

    Update in properly-sized chunks for PulseAudio

:040000 040000 d63bac4539b1f83dc462b55e09f443186afb3762  
8086d705d8feacc7b430070ff7cd6847414a0d08 M Alc

If there is any other test or data I can provide, please let me know.

Tom Porter
thanatos@...



On Oct 7, 2009, at 3:49 AM, Chris Robinson wrote:

> On Tuesday 06 October 2009 10:32:17 am Tom Porter wrote:
>> I believe the configuration I am using for SL allows everything to  
>> use
>> OpenAL.  The only real issue is the different between the version
>> releases of OpenAL Soft.  1.8.xxx works just fine for me and I can
>> continue to use it.
>
> I ask because, if the media/music stream is played out externally  
> (eg. through
> gstreamer's output sinks), then it might indicate a problem with  
> OpenAL Soft's
> PulseAudio backend. But if they play out the same OpenAL device, then
> PulseAudio is properly playing OpenAL Soft's mix and the problem is  
> elsewhere.
>
> If it's the latter case, then I'm stumped. Second Life  
> (v1.23.4.123908) is
> properly playing audio for me using the latest GIT of OpenAL Soft  
> (using ALSA
> output), and there isn't any change from 1.9 that would only affect  
> *some*
> sounds. Only thing to note is that on initial startup (before log  
> in), I don't
> get UI sounds right away. But after playing around in the  
> preferences for a
> little bit, or logging in, then I seem to get them.
>
>> Something changed in the 1.9.xxx release such
>> that it only partially works for me now.  I am not actually allowing
>> OpenAL to use the ALSA plugin for PulseAudio, but rather have OpenAL
>> configured to use the PulseAudio back end, directly.
>
> If it's a problem with 1.9's PulseAudio backend, using Pulse's ALSA  
> plugin may
> get around the issue. Although Pulse's ALSA plugin does have a bunch  
> of
> issues, any differences or lack of differences between the two  
> outputs may
> help me narrow down the issue.
>
>> If
>> I get the time, I may get the source from various places between the
>> releases and see if I can determine which changes caused this  
>> behavior.
>
> If you're familiar with GIT, it helps automate regression testing,  
> and keeps
> the number of rebuilds needed very low. Essentially, with GIT  
> installed you'd
> download the latest sources:
> $ git clone git://repo.or.cz/openal-soft.git openal-soft
> That will copy the repository into the openal-soft sub-directory.
>
> Then start a bisect and tell GIT the last known good commit (1.8's  
> release)
> and the first known bad commit (1.9's release):
> $ git bisect start
> $ git bisect good openal-soft-1.8.466
> $ git bisect bad openal-soft-1.9.563
>
> That will place the current head between the two releases. You would  
> then
> build and install the lib, try it with Second Life, then if it  
> works, run
> $ git bisect good
> or if it doesn't work, run
> $ git bisect bad
> or if a given commit doesn't build at all (or has another problem  
> preventing
> you from properly testing), run
> $ git bisect skip
>
> Keep testing and doing good/bad/skip until it tells you what the  
> first bad
> commit is. You should only need to do, at most, 10 tests given the  
> less than
> 100 commits between the two releases (probably closer to 6 or 7).
>
> When you get the first bad commit and are done bisecting, you can run
> $ git bisect reset
> to reset the tree back to its original head.

_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Second Life and 1.9.563

by Chris Robinson-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wednesday 07 October 2009 7:06:09 pm Tom Porter wrote:
> Chris,
>
> I did the regression testing you mentioned below and I found the first
> 'bad' commit.  This is the output GIT provided.  I hope it helps.
>
> bdbdbcea26d4a12d4d3f76ad3724f2ad12a55358 is first bad commit

Thanks, that's somewhat helpful. I can't see anything in that commit that
should break playback, but it gives me something to look into.

As far as I can tell from limited testing, it seems pulseaudio isn't calling
the specified callback to mix/retrieve audio data. It appears to get stuck on
a poll(), according to gdb. Almost like pulseaudio thinks the buffer is full
and there's never enough free for the minimum request amount.
_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal