Page 1 of 1

ALSA problems with 3.0.6 PUEL, but OSE works fine

Posted: 28. Sep 2009, 12:46
by quadcore
Hello,

well I have some audio trouble with the Virtualbox 3.0.6 PUEL version, but the
selfcompiled 3.0.6 OSE Version works fine somehow?!

I can't get the ALSA driver for the guests working with PUEL. It always fails with
no audio devices could be opened, using NULL... It also does that if nothing is
accessing the sound system at all.

I can get sound only working with the PUEL if guests are using the OSS driver,
_but_ this _only_ works if no application is using sound (ALSA or OSS doesn't matter)
But then VirtualBox somehow blocks the audio access for everything else...

This seems to be because my soundcard does not support hardwaremixing, and /dev/dsp
somehow doesn't get dmixed by ALSA (I also tried many different .asoundrc configs,
nothing helped). BTW "aoss VirtualBox" didn't work either...

I was close to install pulseaudio or something so that I can have sound in
VirtualBox and other apps at the same time. Then I had the idea to try VirtualBox OSE.
So I grabbed some buildscripts from slackbuilds org and modified them for 3.0.6.

With VirtualBox OSE i can select the ALSA driver for guests and everything works
totally fine! So for me it is practically solved, just wondering if this could be a bug?

Something seems to be different in the way the PUEL and OSE versions talk to ALSA?

VirtualBox 3.0.6 PUEL (installed with ./VirtualBox-3.0.6-52128-Linux_amd64.run):

Code: Select all

00:00:01.890 Audio: Trying driver 'alsa'.
00:00:01.890 Audio: set_record_source ars=0 als=0 (not implemented)
00:00:01.904 ALSA: Failed to apply audio parameters
00:00:01.909 ALSA: Failed to apply audio parameters
00:00:01.913 ALSA: Failed to apply audio parameters
00:00:01.917 ALSA: Failed to apply audio parameters
00:00:01.923 ALSA: Failed to apply audio parameters
00:00:01.929 ALSA: Failed to apply audio parameters
00:00:01.929 AC97: WARNING: Unable to open PCM IN!
00:00:01.930 AC97: WARNING: Unable to open PCM MC!
00:00:01.930 AC97: WARNING: Unable to open PCM OUT!
00:00:01.930 Audio: Using NULL audio driver
00:00:01.930 Audio: set_record_source ars=0 als=0 (not implemented)
00:00:01.930 VM: Raising runtime error 'HostAudioNotResponding' (fFlags=0x0)
-> Complete Log: http://de.pastebin.ca/1582345

Result: No audio


VirtualBox 3.0.6 OSE (selfcompiled with slackbuild script):

Code: Select all

00:00:01.947 Audio: Trying driver 'alsa'.
00:00:01.947 Audio: set_record_source ars=0 als=0 (not implemented)
00:00:01.962 ALSA: ADC frequency 44100Hz, period size 940, buffer size 3763
00:00:01.966 ALSA: DAC frequency 44100Hz, period size 940, buffer size 3763
-> Complete Log: http://de.pastebin.ca/1582347

Result: Everything works as expected, Guest has sound!


My System:
Slackware64 13, Kernel 2.6.31.1 SMP PREEMPT x86_64,
Installed alsa packages:
alsa-lib-1.0.18-x86_64-2
alsa-oss-1.0.17-x86_64-1
alsa-utils-1.0.18-x86_64-2

Re: ALSA problems with 3.0.6 PUEL, but OSE works fine

Posted: 28. Sep 2009, 12:56
by Sasquatch
Please install the gstreamer0.10-alsa and libsdl1.2-alsa and try again with the PUEL version. Maybe you're missing a dependency for the PUEL that's not needed for the OSE version.

ALSA does support multiple audio streams, even if the sound card doesn't support hardware mixing. Applications set to use ALSA should be set to use the Default device, not the hardware directly.

Re: ALSA problems with 3.0.6 PUEL, but OSE works fine

Posted: 28. Sep 2009, 14:39
by quadcore
Hello,
Sasquatch wrote:Please install the gstreamer0.10-alsa and libsdl1.2-alsa
Hmm thats not so easy, that seems to be debian packages.

But I looked them up, gstreamer0.10-alsa installs /usr/lib/gstreamer-0.10/libgstalsa.so,
my gstreamer has that file too, but its in the /usr/lib64 folder, of course:

Code: Select all

# ldd /usr/lib64/gstreamer-0.10/libgstalsa.so
        linux-vdso.so.1 =>  (0x00007fff631ff000)
        libgstaudio-0.10.so.0 => /usr/lib64/libgstaudio-0.10.so.0 (0x00007f12ff00c000)
        libgstinterfaces-0.10.so.0 => /usr/lib64/libgstinterfaces-0.10.so.0 (0x00007f12fedfb000)
        libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0 (0x00007f12febc5000)
        libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007f12fe8f6000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f12fe6b2000)
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f12fe4af000)
        libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f12fe2ab000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f12fdf50000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x00007f12fdd3c000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f12fda5b000)
        libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f12fd779000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f12fd4c9000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f12fd2c5000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f12fd0a8000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f12fcea0000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f12fcb30000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f12ff447000)
libsdl1.2-alsa installs /usr/lib/libSDL-1.2.so.0.11.1... Here is my libSDL:

Code: Select all

# ldd /usr/lib64/libSDL-1.2.so.0.11.2
        linux-vdso.so.1 =>  (0x00007fffd6194000)
        libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f601168e000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f60113de000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f60111d9000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f6010ea0000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f6010c8e000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f6010a85000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f601087c000)
        libvga.so.1 => /usr/lib64/libvga.so.1 (0x00007f6010603000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f60103e6000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f6010076000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f600fe6e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6011c29000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f600fc52000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f600fa50000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f600f84b000)
They both are linked with libasound, I tested my gstreamer installation with a command,
this should play a sine sound via gstreamers alsasink, worked fine.

Code: Select all

% gst-launch audiotestsrc ! audioconvert ! audioresample ! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
^C

Are there other dependencies?

Re: ALSA problems with 3.0.6 PUEL, but OSE works fine

Posted: 28. Sep 2009, 16:32
by Sasquatch
Here is a screenshot of the dependencies in my aptitude. These are debian based dependencies, because I use Ubuntu.

Re: ALSA problems with 3.0.6 PUEL, but OSE works fine

Posted: 5. Oct 2009, 16:00
by micsa
I can confirm this issue, I'm using Slackware64 too with 2.6.31.1 kernel.
My PUEL version of VirtualBox (3.0.6) gives me HostAudioNotResponding error with the same errors in the log file, but the OSE version works fine.

* I tried previous versions of VirtualBox PUEL on Slackware64 13, (which have worked on Bluewhite64 12.2 (non-official Slackware port for x86_64)), but no luck.

Re: ALSA problems with 3.0.6 PUEL, but OSE works fine

Posted: 14. Oct 2009, 20:06
by micsa
I reconfigured the SDL-1.2.13 on Slackware64 13 and installed a copy in the /usr/local with:

Code: Select all

./configure --prefix=/usr/local --libdir=/usr/local/lib64  --enable-shared --disable-static --disable-esd --disable-x11-shared
and the PUEL 3.0.8 works now ;)