Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

multiple soundcards

Guru Urqhart
Registered User
Join date: 9 Mar 2008
Posts: 16
12-14-2008 02:29
Hi all.

Exposing the issue is quite simple. Not the solution for me.

I've a PCI soundcard [hw:Live] and a USB headsets [hw:Headset]. I would like to play sounds via the PCI card and voice via the headsets. How to drive this behavior?

When the system starts with the USB headsets unplugged (the PCI card marked as "0" in /proc/asound/cards), I can hear the sounds from the speakers. If I plug the headset after boot, I obtain what I want: the sounds from the speaker and the voice system in the headsets.

When the system starts with the USB headsets plugged in, the PCI card takes the number "1" in /proc/asound/cards. The number "0" is for the USB device. The SL client drives everything on the card "0".

Normally, I manage all that by indexing the cards in /etc/modprobe.d/alsa and defining a default in /etc/asound.conf.
But the SL client seems to ignore all that.

There's anyone having a solution?

The cards are
$ cat /proc/asound/cards
0 [Headset ]: USB-Audio - Logitech USB Headset
Logitech Logitech USB Headset at usb-0000:00:02.0-6, full speed
1 [Live ]: EMU10K1 - SB Live 5.1 [SB0220]
SB Live 5.1 [SB0220] (rev.10, serial:0x100a1102) at 0xb800, irq 17

From my /etc/asound.conf
...
pcm.!default
{
type hw
card Live
}
ctl.!default
{
type hw
card Live
}
...

From my /etc/modprobe.d/alsa
...
options snd-emu10k1 index=0
...
options snd-usb-audio index=1
...

Regards,
Guru
Drake Bacon
Linux is Furry
Join date: 13 Jul 2005
Posts: 443
12-30-2008 18:37
You'll need to create a .alsoftrc file in your home directory. It's like an old Windows .INI file. I think I posted mine in a thread someplace here, so check my posts. I do the same, but since I have a few USB Audio spec devices ontop of my normal system (read: webcam, USB-only headset, USB dedicated audio card in that order), I have to tell the version of OpenAL that SLVoice is using (OpenALsoft) to use a particlar ALSA card.
_____________________
Drake Bacon/Drake Winger
Home: Custom AMD X2 (65nm) 5000+, 4 Gig RAM, Gentoo amd64, NVidia GeForce 8600GT PCIe
Mobile: Dell Inspiron E1505 (Core Duo 1.6GHz, 1 gig RAM, Gentoo x86, NVidia GeForce Go 7300 PCIe)
Backup: iMac (Core 2 Duo 2.4GHz, 4 gig RAM, ATI Radeon HD 2400, MacOS X Leopard)
Don't Ask: Asus EeePC 900A (Atom 1.6Ghz, 1 gig RAM, Intel graphics, Gentoo x86)
Guru Urqhart
Registered User
Join date: 9 Mar 2008
Posts: 16
12-31-2008 03:34
Your post is at: /263/17/287972/1.html

Thanks for the tip, Drake.
I admit to be a a bit confused...

First, the issue is self-resolved for me.
In these days I upgraded the kernel (from 2.6.26 to 2.6.27), where I take my ALSA modules from, and also the alsa-headers, following the normal Gentoo Linux portage updates.

Now I've a different cards enumeration:
$ cat /proc/asound/cards
0 [Live ]: EMU10K1 - SB Live 5.1 [SB0220]
SB Live 5.1 [SB0220] (rev.10, serial:0x100a1102) at 0xb800, irq 17
1 [Headset ]: USB-Audio - Logitech USB Headset
Logitech Logitech USB Headset at usb-0000:00:02.0-6, full speed
even if at the system boot the USB headset is plugged in.

So, now the sound goes to the PCI soundcard and I can indicate my preferred voice device by the client Preferences.

Before that, I was searching a solution inside the udev rules, but those rules are unchanged.

Your configuration is for the OpenAL APIs (see http://repo.or.cz/w/openal-soft.git?a=blob_plain;f=alsoftrc.sample;hb=master) and it could be useful if the SL client drives sounds to the ALSA system and voice to OSS emulation.
If it's so, one can indicate different default devices (for example, hw:0,0 for ALSA and /dev/dsp1 for OSS).
It's so?
I didn't test this way, since it's all right now.

Even if it's all working as I want, now... I'm a bit frustrating because my poor knowledge of the whole system.

Regards,
Guru