HowTo:PostInstall:Audio
De Luispa
Cambios en el Audio (OBSOLETO)
ESTE ARTÍTCULO ESTÁ OBSOLETO (lo dejo a modo de referencia)
Nota: El artículo de Audio definitivo y más actual es: Audio: ALSA y PulseAudio (configuración final)
He tenido muchos problemas de inestabildiad con el Audio y en Junio de 2009 decidí realizar varias acciones, entre ellas leer más artículos, como este donde describe cómo hacer un setup correcto de pulseaudio, actualización de versiones, etc. Estos y otros posteriores son los cambios realizados:
1.- Migrar a la versión más reciente posible de PulseAudio en amd64, que se trataba de la 0.9.14, aunque una
actualización rutinaria me ha llevado (Julio09) a la 0.9.15
Ahora tengo las siguientes versiones:
Sun Jul 5 08:04:22 2009 >>> media-sound/alsa-headers-1.0.19
Sun Jul 5 08:09:19 2009 >>> media-libs/alsa-lib-1.0.19
Sun Jul 5 08:09:39 2009 >>> media-sound/alsa-utils-1.0.19-r2
Sun Jul 5 08:16:27 2009 >>> media-plugins/alsa-plugins-1.0.19
Mon Jul 13 17:59:11 2009 >>> media-sound/pulseaudio-0.9.15-r50
2.- He compilado alsa-oss para intentar que el emulador de OSS de Alsa también pueda mezclarse.
3.- He recompilado la librería Xine-Lib con la opción de "pulseaudio" para que quien la use sean capaz de conectar
vía pulseaudio. Un ejemplo es Amarok !!!
4.- He cambiado la config de Amarok para que use pulseaudio
5.- He eliminado el arranque de /etc/init.d/pulseaudio (ahora se desaconseja) y pasado a arrancar el
daemon al entrar en gnome (ver más abajo).
6.- He instaldo gst-plugins-pulse para que el sistema GStreamer de Audio de Gnome use pulseaudio
es decir, que desde preferencias->sonido pueda seleccionar PulseAudio.
Nota "libtool"
Nota: Para migrar a la 0.9.15 de pulseaudio hay que instalar libtool 2, y esto requiere obligatoriamente hacer un "revdep-rebuild" posterior !!!! MUY IMPORTANTE !!!!
Monitorizar los cambios
Recomiendo tener arrancado "PulseAudio Volume Meter (playback)". Con este pequeño programa podemos comprobar si el audio está pasando por pulseaudio.
1. Aplicaciones->Audio/Video->PulseAudio Volume Meter (Playback) 2. Ejecuto cualquier programa que "consuma" audio, por ejemplo: $ aplay -D pulse /opt/skype/sounds/SkypeLogin.wav 3. Las barras de Volujme Meter deberían moverse !
Nota: Recuerda que tienes que modificar el fichero $HOME/.asoundrc para indicar a Alsa que siempre use pulseaudio. A partir de ese momento el siguiente comando también usará pulseaudio aunque no se indique la opción -D
aplay /opt/skype/sounds/SkypeLogin.wav
Actualización a PulseAudio 0.9.14
Nota: Para poder actualizar a PulseAudio 0.9.14 tienes que actualizar tu sistema a Baselayout 2 .
Nota: Unos días después se actualizó ALSA y pude pasar a la versión 0.9.15 de pulseaudio.
- Dejo aquí doucmentados los pasos a la versión 0.9.14. El paso posterior a la .15 fue rutinario...
- Preparo el fichero package.keywords y package.use
=media-sound/pulseaudio-0.9.14 ~amd64
# Audio media-plugins/alsa-plugins pulseaudio media-sound/pulseaudio hal
- Realizo la instalación de pulseaudio
| Código:
# emerge -v pulseaudio
|
bolica ~ # emerge -v pulseaudio These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] dev-util/unifdef-1.20 65 kB [ebuild U ] media-sound/pulseaudio-0.9.14 [0.9.9] USE="X alsa avahi glib%* gnome hal tcpd -asyncns -bluetooth -caps -dbus -jack -libsamplerate -lirc -oss (-policykit)" 1,273 kB Total: 2 packages (1 upgrade, 1 new), Size of downloads: 1,337 kB : |
- Ejecuto etc-update y acepto todos los ficheros reemplazando los originales, más rápido, dado que sólo hay que modificar uno de ellos.
- Edito Fichero /etc/pulse/default.pa y añado 2 lineas:
load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24 <== Añadida load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24 <== Añadida load-module module-zeroconf-publish
System sounds de Gnome
- Instalo los plugins de GStreamer para Gnome para pulse audio
# emerge -v gst-plugins-pulse
- Configuro las Preferencias de Audio de Gnome.
Sistema->Preferencias->Sonido
Abandono del daemon /etc/init.d/pulseaudio
- Tal como recomienda a partir de la versión 0.9.15, pide explícitamente no usar PulseAudio "system wide", es decir, arrancado desde root. Hay documentación disponible en http://www.pulseaudio.org/wiki/WhatIsWrongWithSystemMode
- Por lo tanto yo ya no arranco pulseaudio durante boot, de hecho lo que quitado:
# rc-update del pulseaudio default * pulseaudio removed from runlevel default
- Ahora sólo lo arranco al entrar en Gnome
Sistema->Preferencias->Sesiones->"Sistema de Sonido PulseAudio"
Compilo alsa-oss
Verifico que tengo el emulador de OSS en la configuración y en el Kernel.
ENABLE_OSS_EMUL="yes"
- Instalo alsa-oss
# emerge -v alsa-oss
Cambio de Xine-Lib para usar PulseAudio
- Recompilar la librería xine-lib para que NO use "esd" y pase a emplear "pulseaudio".
# Para que Xine use pulseaudio media-libs/xine-lib X a52 alsa dts dvd gnome gtk imagemagick ipv6 mad modplug musepack nls opengl samba theora truetype v4l vorbis xcb xv xvmc -esd aac aalib -arts -directfb -dxr3 -fbcon flac -jack -libcaca -mmap -mng -oss pulseaudio -sdl -speex -vcd -wavpack -xinerama
- Recompilo la librería
| Código:
# emerge -v xine-lib
|
bolica ~ # emerge -v xine-lib |
Cambio Amarok para que use PulseAudio (via xine-lib)
- Configurado Amarok para que use pulseaudio
Amarok: Preferencias->Configurar Amarok-> Reproducción ->Sistema de Sonido <configurar> -> He sudio "Pulseaudio" a la primera posición.
Conclusiones
- Por fin se mezcla el audio!!. Si por ejemplo se está reproduciendo una canción con Amarok también se oirán los "Sonidos del Sistema", o se mezclará el audio de la salida de "aplay /opt/skype/sounds/SkypeLogin.wav"
- También se mezcla con VirtualBox y sus Guest, es decir, un Windows puede estar reproduciendo su música a la vez que funciona una reproducción en linux o los system sounds.
- Lo que no va es VMWare, debido a que sigue usando OSS (/dev/dsp) y los diferentes wrappers que he probado no funcionan (oss vía alsa, oss vía pulseaudio). El resultado es que cuando vmware arranca o intenta conectar con la tarjeta de audio, si en ese momento hay sonido en Linux (por ejemplo el sonido de pulsación de un botón de los system sounds), entonces "no conectará con el dispositivo del audio". La única solución que he encontrado hasta ahora es:
1.- Quitar la opción Sistema->Prefencias->Sonido->Sonidos-> ( ) Reproducir efectos de sonido al pulsar botones 2.- No estar reproduciendo música en Linux cuando VMWare accede al audio. 3.- Arrancar VMWare o bien "Icono Sound Card->Connect"
Enlaces y Créditos
| [1] | http://www.pulseaudio.org/wiki/PerfectSetup | PUlseAudio y cómo hacer una configuración perfecta |
| [2] | http://www.gentoo.org/doc/es/openrc-migration.xml | Guía de migración a Baselayout 2 + OpenRC. |
| [3] | http://bocabyte.wordpress.com/2007/10/23/sonido-full-duplex-en-linux-configurando-aoss-y-asoundrc/ | Otra guía |
| [4] | http://ubuntuforums.org/showthread.php?t=843012 | Documento interesante |
Volver a la página de Role como Estación de trabajo
--Luis 19:25 10 jun 2009 (CEST)

