Voice/Linux Sound Settings

From Second Life Wiki
Jump to navigation Jump to search

Sound Settings for Voice on the official Linux Client

Do you use voice on the Linux Viewer? If you do, please add the sound settings that work best for you.

We will tabulate the settings; for now, please add

  • the linux distro and version you are using
  • relevant hardware specifications > CPU type, sound card type etc.
  • headphone or microphone type (USB, via soundcard etc.)
  • the sound system architecture you are using: ALSA, ESD, or OSS
  • the specific sound card driver your sound system is using (for example: snd_hda_intel)

Thank you!

Reported Settings

Ubuntu

Xubuntu 14.04.3 (Trusty)

  • Listening:fine
  • Speaking:fine
  • Singularity-x86_64-1.8.6.6157
  • CPU: AMD FX(tm)-4170 Quad-Core Processor(64-bit)
  • (Thanks to Latif Khalifa) Execute the following in a shell:
  • sudo dpkg --add-architecture i386
  • sudo apt-get update
  • sudo apt-get install libasound2:i386 libasound2-plugins:i386 libasyncns0:i386 libattr1:i386 libc6:i386 libc6-i686:i386 libcap2:i386 libdbus-1-3:i386 libflac8:i386 libgcc1:i386 libidn11:i386 libice6:i386 libjson0:i386 libogg0:i386 libpulse0:i386 libsm6:i386 libsndfile1:i386 libstdc++6:i386 libvorbis0a:i386 libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxi6:i386 libxtst6:i386 zlib1g:i386

Ubuntu 9.04 (Jaunty)

  • Listening: fine,occasional glitches
  • Speaking:fine
  • motherboard:Ausus M3A78 PRO which includes HDA ATI SB Sound Card (Which I muted!)
  • CPU: AMD Phenom II
  • soundcard:terratek C-Media CMI8738 (alsa-supported)
  • speakers via soundcard, sennheiser headset hooked to the card no USB
  • Pulseaudio ( IMPORTANT:I had to get Pavu (Pulse audio volume control) from the repositories; In Pavu's GUI,which will be conveniently located in the sound&video menu i had to choose "show all streams",you should then see "ALSA-plugin [SL Voice]" listed as a stream. By right clicking "move stream" the switch between soundcards can be made.In my case, my motherboard chip was muted, for some reason SL used it for voice playback, while voice capture was correctly handled.To solve the issue it's enough to use Pavu and assign the correct soundcard.No changes to sound settings/sound architecture are necessary and no alternative soundserver to PulseAudio is required either. The "others hear me,I can't hear them issue was resolved and now i have it all working.
  • PS: Music won't play in client anymore.As a workaround I launch SL in terminal,press play in the client and then right-click copy the stream URLs directly into my own music player.This gives me title updates (if provided) even if the club has no panel to do it and also after a week or so I was able to save my main stations and just open them as I tp in.

Ubuntu 8.10 (Hardy) 64-bit

  • Snowglobe 1.0.2.2451 and Secondlife 1.23.4.123908 UIs tested
  • Listening: OK
  • Speaking: OK
  • Laptop: Nobilis N5021 (MSI MS-1651)
  • CPU: Intel Core 2 Duo
  • on-board sound: Realtek AC888
  • using: HDA Intel Alsa mixer
  • Speakers, on-board: OK
  • Headset using 1/8" jack: OK
  • Mic using 1/8" jack: OK
  • All worked out of the box for voice chat. Streaming media not working even with GLstreamer 0.10 installed.

Ubuntu 7.10

  • listening: ok, some glitches while zooming around
  • speaking: not tested
    • motherboard: Asus P5B SE
    • CPU: Intel Dual Core
    • sound card: 82801H (integrated)
  • speakers via sound card / no microphone
  • ALSA 1.0.14-1ubuntu2
  • snd_hda_intel

Ubuntu 7.10

  • listening/speaking: NILL (white dot but can not hear or speak)
  • Alsa is selected in devices under voice settings.
    • motherboard: Asus K8vSE Deluxe
    • CPU:AMD athlon 3000+
    • sound card: (on board chip) VT8233/A/8235/8237 AC97 Audio Controller
  • speakers and headset via sound port, no USB devices
  • ALSA 1.0.14-1ubuntu2
  • Esound version 0.2.38
  • OSS

Ubuntu 7.10

  • listening: ok
  • speaking: ok
    • Running Ubuntu 7.10 and my experience has been that sound is finicky and voice doubly so. ESD does seem to be the way to go. Here's a breakdown of what I've tried:
    • Kernel runs ALSA modules including OSS emulation
    • RC 1.19.1 (1) auto-chooses OSS according to the console and has functional but degraded sound out of the box (music is to choppy to listen, but UI and general sounds can be heard). Voice doesn't work, console shows "AL lib: alsa.c:342: Could not open playback device 'default': Device or resource busy"
    • README-linux-voice.txt says that voice uses ALSA. Okay, lets ditch OSS emulation.
    • export LL_BAD_OSS=x gets me "ALSA audio output initialized OKAY" Cool
    • Actually, it's not cool, in ALSA mode all of the normal sound in SL is broken (no audio at all) but lo and behold, voice works!
    • I see Alan's message [on sl-dev, ed.] and figure okay lets try esd. "ESD audio output initialized OKAY" Yay.
    • Sound effects work but are delayed (esd buffer settings maybe?). Double yay, music is listenable! It all sounds great. Triple yay, Voice works! Hopefully this will help other linux users become fully audio/voice capable in SL.


Ubuntu 8.04 Hardy

  • Ubuntu 8.04, KUbuntu 8.04, XUbuntu 8.04
  • listening: Working
  • speaking: working
    • ASUS A7T-X1 Laptop
    • CPU: AMD Turion64 X2 TL-56
    • sound card: nVidia HDA
  • ALSA 1.0.16
  • snd_hda_intel
  • PulseAaudion 0.9.10-1ubuntu1
    • Works using the following work around JIRA VWR-6593. Keep in mind PulseAudio is needed for this work around. Rename SLVoice to SLVoice.bin then create a script to replace SLVoice with the script below. Be sure to replace <sl.dir> with the location of your SL install. In the client set all your voice device options to OSS.
#!/bin/sh
if test -x /usr/bin/padsp ; then
   exec /usr/bin/padsp <sl.dir>/SLVoice.bin "$@"
else
   exec <sl.dir>/SLVoice.bin "$@"
fi

Debian

Debian unstable

--Tx Oh 15:10, 23 February 2008 (PST)

  • listening: ok
  • speaking: ok
    • notebook: lenovo N200 3000
    • CPU: Intel Core2 Duo
    • sound card: 82801H (ICH8 Family) HD Audio Controller (rev 03) / snd-hda-intel
    • kernel: 2.6.24 (http://kernel.org/)
  • speakers and microphone via sound card
  • ALSA via kernel
  • pulseaudio version 0.9.9-1
  • with the following work arround in the Secondlife directory:
$ cp SLVoice SLVoice.bin
$ cat > SLVoice << EOF
#!/bin/sh

padsp ./SLVoice.bin \$*
EOF


Debian Lenny

--pioupiou Lefevre 15:10, 23 February 2008 (PST)

  • listening: ok
  • speaking: ok
  • config :
    • CPU: AMD Athlon(tm) 64 X2 Dual Core
    • sound card: CM6501
    • kernel: 2.6.26 and 2.6.24
    • speakers and microphone via sound card
    • ALSA via kernel
    • pulseaudio version 0.9.10-3
    • pulseaudio-esound-compat
  • Secondlife config :
    • tested vith testing preview Second Life 1.22.3
    • use oss in settings
    • Secondlife/lib/libopenal.so.1 renamed to libopenal.old to use libopenal shipped with debian
    • secondlife launched with "padsp ./secondlife"

Debian Etch

Voice (listening and speaking) works ok, though the music stream stalls so every now and then.

Debian Etch with a custom kernel from kernel.org; 2.6.24.

AMD Sempron 1.6 ghz (overclocked to 2.0 ghz)

nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)

  • .config: Disable OSS. Enable ALSA. Both at once caused troubles on my system with SecondLife.
  • Before starting Secondlife, the OSS emulation modules snd_pcm_oss and snd_mixer_oss had to be disabled (rmmod as root) as they were interfering with nVidia (AL lib: alsa.c:342: Could not open playback device 'default': Device or resource busy). After that, it worked ok.

This is fiddly, and you might wait to re-add the modules (modprobe as root) after you're finished with SL, as other applications might depend on them.


Fedora

Fedora 6

  • Fedora 6
  • listening: Usually clean
  • speaking: not tested
    • motherboard: Asus
    • CPU: AMD X2 6000+
    • sound card: nVidia MCP55 (Intel_HDA) (integrated)
  • speakers via sound card / no microphone
  • ALSA 1.0.14
  • snd_hda_intel
    • Works beautifully on SL Client 1.19.0.5, constantly reconnects on SL Client 1.19.1.4, SL Client 1.20.0 RC


Fedora 8

  • Fedora 8
  • listening: Dead in the water
  • speaking: not tested
    • motherboard: Asus
    • CPU: AMD X2 6000+
    • sound card: nVidia MCP55 (Intel_HDA) (integrated)
  • speakers via sound card / no microphone
  • ALSA 1.0.15-1.fc8
  • snd_hda_intel
    • Nothing on SL Client 1.19.0.5, constantly reconnects on SL Client 1.19.1.4, SL Client 1.20.0 RC


Fedora 17

  • Fedora 17
  • kernel: 3.4.4-5.fc17.x86_64
  • listening: Success
  • speaking: Dead in the water
  • Viewers Tested: Official SL CLient i686-3.3.4.26208 and Firestorm 4.1.1-28744
    • CPU: AMD Phenom(tm) II X6 1055T
    • Motherboard: Gigabyte GA-870A-UD3
    • Memory: 8 GB DDR3
    • sound card: nVidia GF106 High Definition Audio Controller (rev a1)
    • usb controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
    • speakers via sound card / microphone via USB
  • ALSA 1.0.25-3.fc17.i68
  • GStreamer 0.10.36-1.fc17.i686
  • OpenAL 1.1-9.fc17.i686
  • Libcurl 7.24.0-4.fc17.i686
  • Additional info: Errors in kernel calls when attempting to use voice:
 read(4, 0xffffffffffd8de8c, 1)          = -1 EAGAIN (Resource temporarily unavailable)
 poll([{fd=4, events=POLLIN}], 1, 7)     = 0 (Timeout)

Voice on Linux: Step-by-step instructions

Technical Background

Voice in Second Life uses Vivox technology that is based on RTP (using the oRTP library), SIP (using the amsip library from Antisip), OpenAL, TinyXPath, OpenSSL, and libcurl for the transmission of voice data. The positional 3D audio is achieved with technology from DiamondWare. These technologies are contained in external daemon software that is started and stopped by the Second Life client.

You can find the official ViVox documentation on the JIRA.

The SecondLife viewer handles configuration, control, and display functions, but the voice streams (from the microphone and from the Vivox voice server) do not enter the viewer. Unfortunately the source code for the external SLVoice daemon is not available due to contractual obligations between Linden Lab and Vivox.