Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Voice Support for the Linux Client

Armin Weatherwax
Registered User
Join date: 4 Jan 2008
Posts: 71
02-08-2008 03:53
ok i tried just replacing, but worked not neither i have persons but be in the list nor non-voice related sound, would have been to easy though.

i have that hda_intel in my laptop too, and it looks like many have it in their laptop. Its making noises anyway so I consider taking a soldering iron and ... er ... joking ... I go get that headset ...

Edit:
got a headset (finally usb, not bt), and with the ~/.openalrc from drake voice working.
/hug Drake
Creem Pye
Registered User
Join date: 16 Apr 2007
Posts: 34
02-08-2008 08:56
I recommend that people having problems with voice in Linux redirect their comments to JIRA. I've just started VWR-4720 http://jira.secondlife.com/browse/VWR-4720, which describes my voice problems; those of you with an issue similar to mine might want to comment with your own system configurations, to help Tofu and other Lindens narrow down the problem.
Royer Pessoa
Registered User
Join date: 30 Jul 2007
Posts: 51
02-08-2008 10:55
From: Creem Pye
I recommend that people having problems with voice in Linux redirect their comments to JIRA. I've just started VWR-4720 http://jira.secondlife.com/browse/VWR-4720, which describes my voice problems; those of you with an issue similar to mine might want to comment with your own system configurations, to help Tofu and other Lindens narrow down the problem.


I'm using VWR-210.
_____________________
http://cafe-ti.blog.br
Informação de Pessoas para Pessoas!
Drake Bacon
Linux is Furry
Join date: 13 Jul 2005
Posts: 443
02-09-2008 08:25
Just a hint: Bluetooth audio is *BROKEN* on the driver side. Yes, I'm watching it on the bluez-users mailing list. There's alot of work that needs to be done on that side.
_____________________
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)
Danball Tureaud
Registered User
Join date: 27 Jan 2007
Posts: 11
02-09-2008 18:28
I just can't get voice to work at all.

With nothing in the Openalrc, none of the lines uncommented in the script, voice will not connect

With
(define devices '(alsa native esd null))
(define alsa-out-device "hw:0,0";)
(define alsa-in-device "hw:0,0";)

I have a regular headset, not a USB one.

In the openalrc file, voice connects on my end and thats it, no green waves and what not when I talk. I get default and null device

Running Ubuntu 7.10 on a Creative Labs Audigy SE. Sound works in SL though with no problems though
Adamas Carter
Registered User
Join date: 2 Jun 2007
Posts: 192
02-09-2008 18:50
I posted this a while ago. Just ignore the Wine stuff and do the rest (assuming you're using the newest versions of either release candidate or windlight). It should work:

http://www.paganstead.com/extras/sl_voice_linux.txt

Also, remove any .openalrc you put in your home folder and reset any changes to /etc/openalrc. That stuff is incompatible with this method.

Let me know if there's any problems with it.

Adamas
Drake Bacon
Linux is Furry
Join date: 13 Jul 2005
Posts: 443
02-09-2008 19:21
From: Danball Tureaud
I just can't get voice to work at all.

With nothing in the Openalrc, none of the lines uncommented in the script, voice will not connect

With
(define devices '(alsa native esd null))
(define alsa-out-device "hw:0,0";)
(define alsa-in-device "hw:0,0";)

I have a regular headset, not a USB one.

In the openalrc file, voice connects on my end and thats it, no green waves and what not when I talk. I get default and null device

Running Ubuntu 7.10 on a Creative Labs Audigy SE. Sound works in SL though with no problems though


Can you try this, Dan?

(define devices '(alsa native esd null))
(define alsa-out-device "dmix";)
(define alsa-in-device "dsnoop";)

You may need to set up dmix/dsnoop via your ~/.asoundrc and the Alsa-project.org wiki.
_____________________
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)
Armin Weatherwax
Registered User
Join date: 4 Jan 2008
Posts: 71
02-10-2008 07:39
ok, i found out another thing:
i used asoundconf-gtk for setting my usb-headset to default
an then i set again with asoundconf-gtk pulse as default.
then starting SL i get

ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL front:1
ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL front:0
ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL front:0
2008-02-10T15:20:49Z WARNING: ESD audio output FAILED to initialize: Error initializing output device.

now starting SL again i get

2008-02-10T15:22:05Z INFO: init: Trying ESD audio output...
2008-02-10T15:22:05Z INFO: ESD audio output initialized OKAY
2008-02-10T15:22:05Z INFO: init: Audio output: ESD
2008-02-10T15:22:05Z INFO: LLAudioEngine_FMOD::init() FMOD initialized correctly

with voice and sl-non-voice-sound in the headset (this is what i want). So how it comes that esd (actually the replacement from pulse) first fails and then until reboot works ?(after reboot same play again). Or the better question: How to make it work the first start of SL?

:)
Armin Weatherwax
Registered User
Join date: 4 Jan 2008
Posts: 71
02-10-2008 08:37
ok, im blind: i started pulseaudio not the recommanded way. Invoking pulseaudio from ~/.kde/Autostart like Adamas wrote does the right magic.
Hilby Yalin
Registered User
Join date: 4 May 2007
Posts: 21
02-10-2008 13:18
I think we need to know what compiler is used when the libopenal.so.1 is compiled. When we know this we can replace libopenal.so.1 with a esd compiled vresion.
Until then I am using the wine solution with padsp in it. It works flawlesly with pulse audio.

My 2 cents
Creem Pye
Registered User
Join date: 16 Apr 2007
Posts: 34
02-10-2008 18:22
From: Drake Bacon
Just a hint: Bluetooth audio is *BROKEN* on the driver side. Yes, I'm watching it on the bluez-users mailing list. There's alot of work that needs to be done on that side.


I'm using the latest (3.25) bluez-utils now, and bluetooth audio is working just fine with Skype, mplayer, and any other app I throw at it. There was a capture issue with 3.24 that affected some (all?) devices, but that's history now. On the other hand, there's no mixer interface with that sound driver, and of course many devices are limited to a sampling rate of 8khz. So maybe SLVoice is freaking out about that...
Ab Hammerer
Registered User
Join date: 17 Aug 2007
Posts: 2
02-13-2008 14:39
SLVoice is using a sample rate of 32k, signed 16bit little-endian
Amber Habsburg
Registered User
Join date: 26 Dec 2005
Posts: 32
voice with SL sounds
02-16-2008 04:47
... as the dust settles on the new linux voice component I am interested to know if anyone has been able to achieve some kind of mixing of SL sounds and the voice output. I have tried several approaches including dmix and esd to no avail.

What I have found is that a plughw device needs to be used in /etc/openalrc (this is the advice for enabling surround sound in a second card in the Fedora distro). e.g.:

(define alsa-device "plughw:1,0";)

Devices like hw:1,0 don't seem to work in the openalrc file

Any suggestions. Any progress with esd?
WiLLuMPJuH Gausman
Debianishly Dorkish ;P
Join date: 16 Oct 2007
Posts: 69
02-16-2008 04:59
From: Amber Habsburg
(define alsa-device "plughw:1,0";)

Any suggestions. Any progress with esd?


I have this line in the file :

(define alsa-out-device "plughw:1,0";)

.. which does not help much with SL Voice ( a tad better) , but at least Doom 3 works properly now...
_____________________
'//iLLuMPJuH Gausman
Amber Habsburg
Registered User
Join date: 26 Dec 2005
Posts: 32
Success with dmix
02-16-2008 07:56
After some tinkering I can combine SL sounds with voice-out using dmix

Make sure you start esd or pulse with dmix. In my /etc/pulse/default.pa I have the line:

load-module module-alsa-sink device=dmix

Of course the alsa-in and alsa-out devices need to be different! Thanks WiLLuMPJuH!
So I have the following in the /etc/openalrc file:

(define alsa-out-device "dmix";)
(define alsa-in-device "plughw:0,0";)

The quality seems to be excellent.. i.e., not like the awful results obtained using esd in the wine implementation
Nikon Toonie
Shinie Inspector
Join date: 21 Sep 2005
Posts: 12
02-18-2008 22:14
Ok, I'm going a little nuts here. Still a bit of a linux nubie.
I used the steps for copying the vivox files from the svn. It worked perfectly with a headset plugged into the sound card itself. It does not see my USB headset at all though. I keep seeing folks on here talk about 'openalrc' but this file is neither in my home directory, or in my /ect/ directory. Adept says it is not installed. Is this required for using USB devices?

I am using Kubuntu 7.10, and the windlight client. (works wonderfully BTW)
Athlon 64x2 3800
2gb Ram
Geforce 6600GT 128mb
Realtek onboard sound.
Tofu Linden
Linden Lab Employee
Join date: 29 Aug 2006
Posts: 471
02-19-2008 01:52
From: Nikon Toonie
Ok, I'm going a little nuts here. Still a bit of a linux nubie.
I used the steps for copying the vivox files from the svn. It worked perfectly with a headset plugged into the sound card itself. It does not see my USB headset at all though. I keep seeing folks on here talk about 'openalrc' but this file is neither in my home directory, or in my /ect/ directory. Adept says it is not installed. Is this required for using USB devices?

With the most recent WindLights or the 1.19.0RC series you don't need to do the copying of vivox files from svn.

README-linux-voice.txt describes known issues with Linux voice, amongst which is the inability to see USB headsets. (An update to voice support is snaking through QA which does allow USB headsets to be selected, which will probably be part of 1.19.2.)
Hilby Yalin
Registered User
Join date: 4 May 2007
Posts: 21
02-19-2008 02:17
I seem to heve voice on my old very slow laptop with fedora core 7. Fedora core 8 is troublesome with the new pulse audio.
Best results there are with the wine trick.
I can'n figure out what I am doing wrong, probably something with .openalrc, but haven't figured that out.
Probably voice from others, but nu mic.

(define devices '(alsa))

(define alsa-out-device "dmix";)
(define alsa-in-device "plughw:0,0";)

I get the mic squares, but no reaction when I speal into the mic.
WiLLuMPJuH Gausman
Debianishly Dorkish ;P
Join date: 16 Oct 2007
Posts: 69
02-19-2008 02:38
From: Second Life - Linux Voice Support README

REQUIREMENTS
-=-=-=-=-=-=

* A headset/microphone supported by your chosen version of Linux


My box ( my computer , yes .. imma male :P ) is comprised of the following components :

CPU: Intel(R) Pentium(R) Dual CPU E2140 @ 1.60GHz
Memory: 2028 MB
OS Version: Debian GNU/Linux 4.0 Etch
Kernel : 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686
Headset connected to soundcard and works in Skype and records from microphone.

From: Second Life - Linux Voice Support README

* The ALSA sound system (you probably already have this -
i.e. the alsa-base and alsa-utils packages on Ubuntu)


Well.. this should mean that ANYONE would with ANY distro could get it work right ? .. no ESD required, no OSS .. eventho i also installed packages like 'libalsa-esd0' or 'oss-compat' (Debian) . Is there perhaps any update on required packages ? .. if not than ALSA could do it all by itself.

lspci shows the following soundcard :

00:08.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)

Pretty basic setup , i 'd say...

From: Second Life - Linux Voice Support README

Success with Linux Voice support has been reported on the following
systems:
* Ubuntu 7.04 (Feisty) with Intel HDA audio chipset
* Ubuntu 6.06 (Dapper) with Intel ICH5/CMI9761A+ audio chipset
* Ubuntu 6.06 (Dapper) with SigmaTel STAC2997 audio chipset
* Fedora Core 6 with (unknown) audio chipset

Problems with Linux Voice support have been reported on the following
systems:
* Ubuntu 6.06 (Dapper) with Creative EMU10K1 audio chipset


Odd .. the market leader in creating soundboards is problematic to use with. Which is ofc no threshold to release the Voice after almost a whole year to it's prior anouncement, coz hey .. don't worry .. over 70% of your userbase who have a Sounblaster won't mind, right ?



From: Second Life - Linux Voice Support README


PROBLEM 2: I have a white dot over my head but I never see (or hear!) anyone
except myself listed in the Active Speakers dialog when I'm sure that other
residents nearby are active Voice users.
SOLUTION: This is an incompatibility between the Voice support and your
system's audio (ALSA) driver version/configuration.
a. Back-up and remove your ~/.asoundrc file, re-test.
b. Check for updates to your kernel, kernel modules and ALSA-related
packages using your Linux distribution's package-manager - install these,
reboot and re-test.
c. Update to the latest version of ALSA manually. For a guide, see the
'Update to the Latest Version of ALSA' section of this page:
<https://help.ubuntu.com/community/HdaIntelSoundHowto> or the official
documentation on the ALSA site: <http://www.alsa-project.org/> - reboot
and re-test.


The asoundrc - file removed.

My openalrc in /etc :

(define devices '(alsa esd oss))
(define alsa-in-device "plughw:1,0";)
(define alsa-out-device "hw:1,0";)

Terminal-output :
INFO: LLAudioEngine_FMOD::init() initializing FMOD
INFO: init: Trying ESD audio output...
WARNING: ESD audio output FAILED to initialize: Error initializing output device.
INFO: init: Trying OSS audio output...
INFO: OSS audio output initialized OKAY
INFO: init: Audio output: OSS
INFO: LLAudioEngine_FMOD::init() FMOD initialized correctly
INFO: LLVoiceClient::buildSetCaptureDevice: Setting input device = "Null Driver"
INFO: LLVoiceClient::buildSetRenderDevice: Setting output device = "Open Sound System (OSS)"

ALSA lib pcm_hw.c:1357: (_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1357: (_snd_pcm_hw_open) Invalid value for card

Tried the dmix setting in openalrc as suggested by Amber but to no avail. It just changes the output device to "Advanced Linux Sound Architecture (ALSA)" ....

So eventho I have a constant white dot over my head, there is no change of the audio ever working properly. As of now the client just fails to properly detect my soundcard, eventho other apps have no problems with it. I think there are solutions mentioned here that are actually the problem for an average user like me... What is shoveled together here smells of menure and is not holding.. :P
_____________________
'//iLLuMPJuH Gausman
Nikon Toonie
Shinie Inspector
Join date: 21 Sep 2005
Posts: 12
02-19-2008 02:41
From: Tofu Linden
With the most recent WindLights or the 1.19.0RC series you don't need to do the copying of vivox files from svn.

README-linux-voice.txt describes known issues with Linux voice, amongst which is the inability to see USB headsets. (An update to voice support is snaking through QA which does allow USB headsets to be selected, which will probably be part of 1.19.2.)


That's odd. I tried it without the files in the svn, and I couldn't hear anything, but after copying the files over, voice started working...Not sure what happened then. It works, that's all I really care about.
Hilby Yalin
Registered User
Join date: 4 May 2007
Posts: 21
02-19-2008 03:40
Hmmm found something

https://bugzilla.redhat.com/show_bug.cgi?id=420991

Brings me back to the problem of with libopenal is being used by vivox.

file libopenal.so.1
libopenal.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

Looking with my faforite editor into the library I foundn the folowing:
/home/tberg/src/opensource/trunk/src/openal/OpenAL-Sample

They are using the 1.* version while fedora core stil uses the 0.0.9 version, my compiled version of libopenal.so.1 refuses to work with the vivox blob...

I am lost in limbo :'(
Drake Bacon
Linux is Furry
Join date: 13 Jul 2005
Posts: 443
02-19-2008 19:00
From: Hilby Yalin
They are using the 1.* version while fedora core stil uses the 0.0.9 version, my compiled version of libopenal.so.1 refuses to work with the vivox blob...

I am lost in limbo :'(


Yeah, that's the problem with Fedora... it tends to update on the same pace as Debian: slowly.

Unfortunately, Fedora's worse than Debian because it doesn't do dependency tracking -- a failure of the RPM packaging system. :( So you're definitely in limbo until you decide to try another non-RPM system.
_____________________
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)
Hilby Yalin
Registered User
Join date: 4 May 2007
Posts: 21
02-20-2008 00:12
@Drake: I tried to compile the new openal myself, got the libopenal.so.1 hurray...
...but discovered that the vivox blob is not capable of using my correct compiled library.

My guess is that pulse and openal are not working together nicely and there is not mucht I can do... I saw that the vivox libopenal was compiled on a /usr/local/games/SecondLife_i686_1_19_0_2_RELEASECANDIDATE/SLVoice: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped

OMG 2.2.5... what antique

But what I still want to know.... why is my libopenal.so.1.0.0 not working with libvivox.so... I get a SIGSEGV on SLVoice when I run it with my version of the library...

going deeper in limbo....
Creem Pye
Registered User
Join date: 16 Apr 2007
Posts: 34
02-20-2008 06:16
WiLLuMPJuH Gausman: As Ab Hammerer mentioned a few posts up, SLVoice *requires* a sample rate of 32kHz. The emu10k1 doesn't support this rate for capture (although it supports plenty of other rates). You can verify this with arecord (which has much better error reporting than SLVoice):
$ arecord -D hw:0,0 -r 32000 > ok.wav
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 32000 Hz, Mono
arecord: set_params:900: Sample format non available

So what do you do? Fortunately, recent versions of ALSA support sample rate conversions with slave devices. You can create a plugin that captures audio from your soundcard at another rate, and can convert it to any other rate. Try adding this to your .asoundrc:

pcm.rate_convert {
type plug
slave {
pcm "hw:0,0"
rate 44100
}
}

Then you can access it with the device name "rate_convert":
$ arecord -D rate_convert -r 32000 > ok.wav
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 32000 Hz, Mono

In addition to the rate required by SLVoice, you can specify all kinds of stupid sampling rates, like 32001Hz, and it'll capture just fine. SLVoice playback works on my emu10k1, so I believe only need to define rate_convert for OpenAL's alsa-in-device. Hope this helps, and more than that, I hope that future versions of SLVoice offer a greater range of sampling rates themselves!
WiLLuMPJuH Gausman
Debianishly Dorkish ;P
Join date: 16 Oct 2007
Posts: 69
02-21-2008 05:01
From: Creem Pye
WiLLuMPJuH Gausman: As Ab Hammerer mentioned a few posts up, SLVoice *requires* a sample rate of 32kHz. The emu10k1 doesn't support this rate for capture (although it supports plenty of other rates). Yaddiyadah....

So what do you do? Try adding this to your .asoundrc:

Yadiyaddah....

SLVoice playback works on my emu10k1, so I believe only need to define rate_convert for OpenAL's alsa-in-device.


SL_Voice.txt explicitely states to remove the .asoundrc - file .. eventho i tried your suggestion, which fails to do anything constructive for the Voice experience. Results are :

i386PC:~# arecord -D hw:0,0 -r 32000 > ok.wav
arecord: main:550: audio open error: Apparaat of bron bezig (Device or source busy)

i386PC:~# arecord -D hw:1,0 -r 32000 > ok.wav
ALSA lib pcm_hw.c:1357: (_snd_pcm_hw_open) Invalid value for card
arecord: main:550: audio open error: Onbekend apparaat (Unknown device)

From: Creem Pye
Hope this helps, and more than that, I hope that future versions of SLVoice offer a greater range of sampling rates themselves!


I hope future versions of SLVoice for the Linux - client will stop pointing out Lindenlab including Tofu Linden is actually crippling and discouraging the SL experience for the average Linux - user.
_____________________
'//iLLuMPJuH Gausman
1 ... 3 4 5 6 7 8 9 10 11