HowTo:Workstation:Audio

De Luispa

Audio: ALSA y PulseAudio (configuración final)

Después de varios meses con el Audio funcionando-a-medias, he decidido documentar en este artículo la configuración definitiva de ALSA y PulseAudio. A modo de referencia he dejado enlaces a mi primer y segundo artículos, así como una versión antigua de este mismo, quedando todos obsoletos.

Arquitectura

ALSA es la Arquitectura Avanzada de Sonido para Linux que ofrece un entorno de audio y midi para que sea utilizado por el sistema operativo. Los drivers que controlan las tarjetas de entrada/salida vienen en el kernel 2.6, así como un emulador de OSS. Todo el acceso a ALSA "debería" hacerse a través de su API.

  • Recomiendo leer esta Introducción muy buena sobre conceptos como arquitectura de las tarjetas de audio, pcm, I/O digital vs analógico, etc. Parte de lo documentado aquí es una copia (traducida) de dichos enlaces.
  • Del gráfico (fuente) hay que destacar que los cuadrados VERDES indican que existe puerto físico, y la explicación de estas funcionalidades de las tarjetas de audio es la siguiente:
   * Line In - entrada analógica desde un dispositivo externo
   * Mic In - entrada analógica desde un micrófono mono de bajo nivel. 
   * Line Out - salida analógica hacia un dispositivo externo
   * Speaker - salida analógica amplificada hacia Altavoces externos. 

   * PCM playback - salida del stream digital generado desde software
   * PCM Capture - entrada de stream digital que se envía al software
   * Synthesizer - stream generado desde wavetable (a investigar más...)

   * Mixer - Dispositivo de control
  • La tarjeta de audio consiste en tres conjuntos de componentes:
   * Connectoress - Son los "jacks" de siempre, para conectarse al micrófono, altavoces, otros equipos.
   * Circuitos de Audio - amplifican, "mezclan" la señal de audio, y convierten entre digital y análogico. 
   * Interfaz - conexión de la tarjeta de audio al bus del sistema

El "Interfaz" entre la tarjeta de audio y el procesador suele ser el bus PCI. El hardware que implementa el interfaz está normalmente dentro del 'southbridge', que es parte del chipset de la motherboard. El nombre que se le asigna a la Tarjeta de Audio normalmente es el del southbridge chip. Uso el programa alsamixer para analizar las funcionalidades ofrecidas por cada una de las tarjetas. Para cambiar de Playback a Capture se usa la tecla TAB:

PULSEAUDIO es un Servidor de Sonido multiplataforma, capaz de funcionar por la red LAN. Todo el control se realiza a través de un único proceso que se ejecuta en el segundo plano aceptando una o más fuentes de sonido (SOURCES: micrófonos, line-in, capturadoras, otros procesos) y enviándolo a uno o varios destinos (SINK's = Sumideros: tarjetas de sonido con Altavoces, otros servidores PulseAudio remotos u otros procesos). El objetivo es que todos los flujos de sonido pasen a través de PulseAudio, incluyendo aquellos que provienen de procesos que intentan acceder directamente al hardware.


Proyecto

El objetivo del proyecto es instalar ALSA y PulseAudio de modo que todo el sistema de Sonido y Grabación funcione perfectamente, con la mayor cantidad de aplicaciones posibles, de momento todas aquellas que funcionan con ALSA o PA en nativo y también aquellas que lo hagan mediante wrappers intermedios (para OSS y DSP).

  • Este es el Hardware que tengo, 3 dispositivos
Realtek ALC889A
Logitech Quickcam Pro 9000
Terratec Cinergy HT PCI MKII


  • Estos son los drivers que voy a utilizar de ALSA:
Tarjeta de Audio : HDA-Intel - HDA Intel (Incluida en mi motherboard Gigabyte GA-EX58-Extreme
WebCam con micro : USB-Audio - QuickCam Pro 9000
Capturadora TV   : CX88x     - Conexant CX8801


  • Mi objetivo final es conseguir esta arquitectura:
Arquitectura
                                alsa/udev
                                 drivers
                                +-------+
[ALTAVOCES] <-- HDA Intel <-----|<- OUT |                   /------ Apps. nativas pulseaudio
                                |       |                  /\------ "padsp"------ Apps. acceso directo dsp
[MICRO] ------> HDA Intel -----\|       |--- PulseAudio <-- 
                                |-> IN  |                  \------ ALSA ----- Apps nativas alsa
[MICRO] ------> WebCam    -----/|       | 
                                +-------+



ALSA

Los pasos para ALSA consisten en configurar los drivers del kernel, parametrizarlos (en modprobe.d/alsaconf), instalar las herramientas de apoyo.

  • El hardware mencionado, tarjetas HDA Intel (pci), Terratek (pci) y la QuickCam (usb), aparecen de esta forma en el equipo:
# lspci
:
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
0a:01.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
0a:01.1 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (rev 05)
0a:01.2 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)
:

# lsusb
:
Bus 001 Device 005: ID 046d:0990 Logitech, Inc.
:


Kernel

  • Esta es la configuración del Kernel. Te recomiendo echar un ojo a la Matriz de drivers de ALSA para configurar correctamente los tuyos.
Configuración del kernel de Linux: Sound Card Support
 --- Sound card support
 <M>   Advanced Linux Sound Architecture  --->
 < >   Open Sound System (DEPRECATED)  --->


 --- Advanced Linux Sound Architecture
 <M>   Sequencer support
 < >     Sequencer dummy client
 <M>   OSS Mixer API
 <M>   OSS PCM (digital audio) API
 [*]     OSS PCM (digital audio) API - Include plugin system
 [*]   OSS Sequencer API
 [ ]   Dynamic device file minor numbers
 [ ]   Support old ALSA API
 [ ]   Verbose procfs contents
 [ ]   Verbose printk
 [ ]   Debug
 [ ]   Generic sound devices  --->
 [*]   PCI sound devices  --->
 [*]   USB sound devices  --->
 < >   ALSA for SoC audio support  --->


 [*]   PCI sound devices  --->
   <M>   Intel HD Audio --->
     [*]   Build hwdep interface for HD-audio driver            
     [ ]     Allow dynamic codec reconfiguration (EXPERIMENTAL)   
     [*]   Support digital beep via input layer                   
     [*]   Build Realtek HD-audio codec support                  
     [*]   Build Analog Device HD-audio codec support           
     [*]   Build IDT/Sigmatel HD-audio codec support              
     [*]   Build VIA HD-audio codec support                     
     [*]   Build ATI HDMI HD-audio codec support                
     [*]   Build NVIDIA HDMI HD-audio codec support              
     [*]   Build INTEL HDMI HD-audio codec support                
     [*]   Build Conexant HD-audio codec support                
     [*]   Build C-Media HD-audio codec support                   
     [*]   Build Silicon Labs 3054 HD-modem codec support         
     [*]   Enable generic HD-audio codec parser                   
     [*]   Aggressive power-saving on HD-audio                    
     (0)     Default time-out for HD-audio power-save mode      
 [*]   USB sound devices
   <M>   USB Audio/MIDI driver
   < >   Tascam US-122, US-224 and US-428 USB driver      
   < >   Native Instruments USB audio devices   
   < >   Tascam US-122L USB driver  


  • Instalo el nuevo kernel (todavía no arranco el equipo, primero voy a instalar y configurar alsa.


Instalación y Configuración ALSA

  • Instalación de los componentes
# emerge -v gnome-alsamixer alsa-utils
# rc-update add alsasound boot
  • La configuración de ALSA, propietaria de las tarjetas, consiste en parametrizar los módulos del kernel que se van a cargar. Probé con UDEV y reglas (pruebas que realicé) para fijar el orden de cada dispositivo dentro de alsa, pero sin resultado. Al final he preferido fijar el orden de forma manual
  • Fuerzo el orden de las tarjetas manualmente, es decir, el de los drivers del kernel.
# HDA Intel                                                                                         
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel index=0

# QuickCam                                                                                          
alias snd-card-1 snd-usb-audio
alias sound-slot-1 snd-usb-audio
options snd-usb-audio index=1

# Terratec Cinergy HT PCI                                                                           
alias snd-card-2 cx88-alsa
alias sound-slot-2 cx88-alsa
options cx88-alsa index=2
  • Añado el usuario "luis" al grupo audio
# gpasswd -a luis audio 
Adding user luis to group audio

Reboot del equipo

  • Ya está todo preparado. Arranco el equipo con el nuevo kernel y todo listo para cargar los drivers con su configuración. Durante el arranque del equipo veo los drivers ALSA.
Descripcción                                         Driver ALSA en el Kernel
===============================================   -  ============================
Tarjeta de Audio - Realtek ALC889A                -   snd-hda-intel
WebCam con micro - QuickCam Pro 9000              -   snd-usb-audio
Capturadora TV   - Terratec Cinergy HT PCI MKII   -   cx88-alsa


  • Verifico qué tarjetas de audio se han activado y en que el orden es el correcto (tal como fijé en /etc/modprobe.d/alsa.conf)
Código: # cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfdff4000 irq 22
 1 [Q9000          ]: USB-Audio - QuickCam Pro 9000
                      Logitech, Inc. QuickCam Pro 9000 at usb-0000:00:1a.7-6, high speed
 2 [CX8801         ]: CX88x - Conexant CX8801
                      Conexant CX8801 at 0xf8000000
  • Más adelante configuraré cada uno de los componentes de cada tarjeta, así como su volumen, pero de momento voy a quitar el silencio de los canales de audio (PCM y Master), para hacer una prueba rápida. Hay varias formas de hacerlo...
gnome-alsamixer
  1. Opción 1: El programa alsamixer
# alsamixer
  1. Opción 2: El programa amixer
# amixer set Master 100 unmute
# amixer set PCM 100 unmute
  1. Opción 3: El programa gráfico de Gnome
Arranco el programa System->Preferencias->Volume Control (ver gráfico) y subo el Front.
Añado la aplicación "Volume Control" al panel superior de Gnome para poder subir/bajar el volumen.


Prueba rápida

  • Conecto mis altavoces estereo al conector de audio (verde) de la caja y hago una prueba rápida, busco algún fichero .wav en el sistema y lo reproduzco:
$ aplay /usr/share/sounds/login.wav


Comandos ALSA: alsamixer

  • Detalles de la tarjeta 0 (HDA Intel)
# alsamixer -c0   (NOTA: Ejecutarlo desde root y asegurándonos que NO existe el fichero /etc/asound.conf)
Playback
Capture
 Card: HDA Intel
 Chip: Realtek ALC889A
 
  [Playback]   Item: Master                 Volumen maestro de los altavoces.
               Item: Headphone              Volumen maestro de los cascos (headphones)
               Item: PCM                    ??  (Aunque lo ponga a volumen 0 todo sigue funcionando, Investigar para qué vale)
               Item: Front                  Volumen STEREO de los altavoces frontales
               Item: Front Mic              Volumen STEREO playback Mic frontal. No confundir con Mic en "Capture"
               Item: Front Mic Boost        Subir volumen del Mic (1,2,3) en saltos de 20db's. No confundir con Mic Boost en Capture
               Item: Surround               Volumen STEREO de los altavoces Surround
               Item: Center                 Volumen STEREO de los altavoces Centrales  
               Item: LFE                    ?? no se qué es.
               Item: Side                   Volumen STEREO de los altavoces laterales
               Item: Line                   Volumen STEREO de la salida de línea
               Item: Mic                    ??
               Item: Mic Boost              ??
               Item: IEC958                 ??
               Item: IEC958 Default PCM     ??
               Item: Beep                   ??

  [Capture]    Item: Front Mic Boost
               Item: Mic Boost
               Item: IEC958
               Item: Capture
               Item: Capture 1
               Item: Input Source Mic
               Item: Input Source 1 Mic


  • Detalles de la tarjeta 1 (USB WebCam)
Webcam Capture
 # alsamixer -c1           (NOTA: Ejecutarlo desde root y asegurándonos que NO existe el fichero /etc/asound.conf)
 Card: QuickCam Pro 9000
 Chip: USB Mixer
 
  [Playback]   (vacio. Es normal, la cámara no tiene salidas de audio)
  [Capture]    Item: Mic.

# amixer -c 1 -i scontrols
Simple mixer control 'Mic',0
  • Detalles de la tarjeta 2 (Sintonizadora de TV Conexant)
Conexant playback
Conexant capture
 # alsamixer -c2           (NOTA: Ejecutarlo desde root y asegurándonos que NO existe el fichero /etc/asound.conf)
 Card: Conexant CX8801
 Chip: CX88
 
  [Playback]   Item: Playback

  [Capture]    Item: Playback
               Item: Capture

# amixer -c 2 -i scontrols
Simple mixer control 'Playback',0
Simple mixer control 'Capture',0


Comandos ALSA: amixer

  • El comando amixer es muy útil para trabajar desde la línea de comandos para "ver" toda la configuración de las tarjetas y sus items. También permite cambiar parámetros.
  • amixer: CONTROLES SIMPLES
# amixer -c 0 -i scontrols
Simple mixer control 'Master',0
Simple mixer control 'Headphone',0
Simple mixer control 'PCM',0
Simple mixer control 'Front',0
Simple mixer control 'Front Mic',0
Simple mixer control 'Front Mic Boost',0
Simple mixer control 'Surround',0
Simple mixer control 'Center',0
Simple mixer control 'LFE',0
Simple mixer control 'Side',0
Simple mixer control 'Line',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'IEC958',0
Simple mixer control 'IEC958 Default PCM',0
Simple mixer control 'Capture',0
Simple mixer control 'Capture',1
Simple mixer control 'Capture',2
Simple mixer control 'Beep',0
Simple mixer control 'Digital',0
Simple mixer control 'Input Source',0
Simple mixer control 'Input Source',1
Simple mixer control 'Input Source',2
  • Para ver toda la configuración de la HDA Intel (en micaso tarjeta 0)
# amixer -c 0 scontents
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 62 [97%] [-2.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 188 [74%] [-13.40dB]
  Front Right: Playback 188 [74%] [-13.40dB]
Simple mixer control 'Front',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 57 [89%] [-7.00dB] [on]
  Front Right: Playback 57 [89%] [-7.00dB] [on]
Simple mixer control 'Front Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 26 [84%] [4.50dB] [on]
  Front Right: Playback 26 [84%] [4.50dB] [on]
Simple mixer control 'Front Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%]
  Front Right: 2 [67%]
Simple mixer control 'Surround',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 44 [69%] [-20.00dB] [on]
  Front Right: Playback 44 [69%] [-20.00dB] [on]
Simple mixer control 'Center',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 42 [66%] [-22.00dB] [on]
Simple mixer control 'LFE',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 43 [67%] [-21.00dB] [on]
Simple mixer control 'Side',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 37 [58%] [-27.00dB] [on]
  Front Right: Playback 37 [58%] [-27.00dB] [on]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 16 [52%] [-10.50dB] [on]
  Front Right: Playback 16 [52%] [-10.50dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [off]
  Front Right: Playback 31 [100%] [12.00dB] [off]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%]
  Front Right: 2 [67%]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined cswitch cswitch-joined
  Playback channels: Mono
  Capture channels: Mono
  Mono: Playback [on] Capture [off]
Simple mixer control 'IEC958 Default PCM',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 19 [41%] [3.00dB] [on]
  Front Right: Capture 19 [41%] [3.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 16 [35%] [0.00dB] [on]
  Front Right: Capture 16 [35%] [0.00dB] [on]
Simple mixer control 'Capture',2
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 17 [37%] [1.00dB] [on]
  Front Right: Capture 17 [37%] [1.00dB] [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 9 [29%] [-21.00dB] [on]
  Front Right: Playback 9 [29%] [-21.00dB] [on]
Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 120 [100%] [30.00dB]
  Front Right: Capture 120 [100%] [30.00dB]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic' 'Front Mic' 'Line'
  Item0: 'Line'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Mic' 'Front Mic' 'Line'
  Item0: 'Mic'
Simple mixer control 'Input Source',2
  Capabilities: cenum
  Items: 'Mic' 'Front Mic' 'Line'
  Item0: 'Mic'
  • amixer: CONTROLES
# amixer -c 0 controls
numid=39,iface=MIXER,name='Master Playback Switch'
numid=38,iface=MIXER,name='Master Playback Volume'
numid=11,iface=MIXER,name='Headphone Playback Switch'
numid=40,iface=MIXER,name='PCM Playback Volume'
numid=19,iface=MIXER,name='Front Mic Boost'
numid=15,iface=MIXER,name='Front Mic Playback Switch'
numid=14,iface=MIXER,name='Front Mic Playback Volume'
numid=2,iface=MIXER,name='Front Playback Switch'
numid=1,iface=MIXER,name='Front Playback Volume'
numid=4,iface=MIXER,name='Surround Playback Switch'
numid=3,iface=MIXER,name='Surround Playback Volume'
numid=7,iface=MIXER,name='Center Playback Switch'
numid=5,iface=MIXER,name='Center Playback Volume'
numid=8,iface=MIXER,name='LFE Playback Switch'
numid=6,iface=MIXER,name='LFE Playback Volume'
numid=17,iface=MIXER,name='Line Playback Switch'
numid=16,iface=MIXER,name='Line Playback Volume'
numid=18,iface=MIXER,name='Mic Boost'
numid=13,iface=MIXER,name='Mic Playback Switch'
numid=12,iface=MIXER,name='Mic Playback Volume'
numid=20,iface=MIXER,name='Capture Switch'
numid=21,iface=MIXER,name='Capture Switch',index=1
numid=22,iface=MIXER,name='Capture Switch',index=2
numid=23,iface=MIXER,name='Capture Volume'
numid=24,iface=MIXER,name='Capture Volume',index=1
numid=25,iface=MIXER,name='Capture Volume',index=2
numid=33,iface=MIXER,name='IEC958 Default PCM Playback Switch'
numid=29,iface=MIXER,name='IEC958 Playback Con Mask'
numid=30,iface=MIXER,name='IEC958 Playback Pro Mask'
numid=31,iface=MIXER,name='IEC958 Playback Default'
numid=32,iface=MIXER,name='IEC958 Playback Switch'
numid=35,iface=MIXER,name='IEC958 Capture Default'
numid=34,iface=MIXER,name='IEC958 Capture Switch'
numid=37,iface=MIXER,name='Beep Playback Switch'
numid=36,iface=MIXER,name='Beep Playback Volume'
numid=41,iface=MIXER,name='Digital Capture Volume'
numid=26,iface=MIXER,name='Input Source'
numid=27,iface=MIXER,name='Input Source',index=1
numid=28,iface=MIXER,name='Input Source',index=2
numid=10,iface=MIXER,name='Side Playback Switch'
numid=9,iface=MIXER,name='Side Playback Volume'


  • Ejemplo: ver la configuración de la entrada de la tarjeta HDA Intel. En este ejemplo vemos que las tres entradas están asignadas al "Front Mic", algo que suele ser incorrecto.
bolica ~ # amixer -c 0 cget name='Input Source',index=0
numid=26,iface=MIXER,name='Input Source'
 ; type=ENUMERATED,access=rw------,values=1,items=3
 ; Item #0 'Mic'
 ; Item #1 'Front Mic'
 ; Item #2 'Line'
 : values=1

bolica ~ # amixer -c 0 cget name='Input Source',index=1
numid=27,iface=MIXER,name='Input Source',index=1
 ; type=ENUMERATED,access=rw------,values=1,items=3
 ; Item #0 'Mic'
 ; Item #1 'Front Mic'
 ; Item #2 'Line'
 : values=1

bolica ~ # amixer -c 0 cget name='Input Source',index=2
numid=28,iface=MIXER,name='Input Source',index=2
 ; type=ENUMERATED,access=rw------,values=1,items=3
 ; Item #0 'Mic'
 ; Item #1 'Front Mic'
 ; Item #2 'Line'
 : values=1
  • Para coregirlo y asignar la entrada de línea (line) a la entrada index=0, y el microfono a las entradas index=1 y 2 , se haría así:
# amixer -c 0 cset name='Input Source',index=0 'Line'
# amixer -c 0 cset name='Input Source',index=1 'Mic'
# amixer -c 0 cset name='Input Source',index=2 'Mic'
  • Ejemplo: obtener datos del volumen del Master con "cget"
# amixer -c 0 cget name='Master Playback Volume'
numid=38,iface=MIXER,name='Master Playback Volume'
 ; type=INTEGER,access=rw---R--,values=1,min=0,max=64,step=0
 : values=62
 | dBscale-min=-64.00dB,step=1.00dB,mute=0

Que sería equivalente a usar la versión "simple" con "sget"
# amixer -c 0 sget 'Master'
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 62 [97%] [-2.00dB] [on]
 
En este ejemplo vemos que el valor máximo del volumen es "64", y que actualmente se encuentra en "62", casi a tope.
  • Para cambiar el volumen Master simplemente haríamos:
# amixer -c 0 cset name='Master Playback Volume' 40
 
Que podemos comprobar con el control simple, por ejemplo:
 
# amixer -c0 sget Master
Simple mixer control 'Master',0
 Capabilities: pvolume pvolume-joined pswitch pswitch-joined
 Playback channels: Mono
 Limits: Playback 0 - 64
 Mono: Playback 40 [62%] [-24.00dB] [on]


Configuración completa con amixer

  • Con todos estos comandos podemos ver y ajustar la configuración manualmente, e incluso podríamos guardarnos en un pequeño script todo lo necesario para dejarlo siempre a nuestro gusto:
Fichero: /root/priv/bin/alsa-defecto.sh
#!/bin/bash

# PLAYBACK                                                           # Max
# ==========================================================================
amixer -c0 cset name='Master Playback Switch'              on
amixer -c0 cset name='Master Playback Volume'              64        # 0-64
amixer -c0 cset name='Headphone Playback Switch'           on
amixer -c0 cset name='PCM Playback Volume'                 188,188   # 0-255
amixer -c0 cset name='Front Playback Switch'               on
amixer -c0 cset name='Front Playback Volume'               64,64     # 0-64
amixer -c0 cset name='Front Mic Boost'                     1,1       # 0-3
amixer -c0 cset name='Front Mic Playback Switch'           off
amixer -c0 cset name='Front Mic Playback Volume'           10,10     # 0,31
amixer -c0 cset name='Surround Playback Switch'            off
amixer -c0 cset name='Surround Playback Volume'            44,44     # 0-64
amixer -c0 cset name='Center Playback Switch'              off
amixer -c0 cset name='Center Playback Volume'              44        # 0-64
amixer -c0 cset name='LFE Playback Switch'                 off 
amixer -c0 cset name='LFE Playback Volume'                 44        # 0-64
amixer -c0 cset name='Side Playback Switch'                off,off
amixer -c0 cset name='Side Playback Volume'                37,37     # 0-37
amixer -c0 cset name='Line Playback Switch'                off,off
amixer -c0 cset name='Line Playback Volume'                16,16     # 0-31
amixer -c0 cset name='Mic Playback Switch'                 off,off
amixer -c0 cset name='Mic Playback Volume'                 20,20     # 0-31
amixer -c0 cset name='Mic Boost'                           1,1       # 0-
amixer -c0 cset name='Beep Playback Switch'                on,on
amixer -c0 cset name='Beep Playback Volume'                9,9       # 0-31

# CAPTURE                                                            # Max
# ==========================================================================
amixer -c0 cset name='Capture Switch'                      on,on
amixer -c0 cset name='Capture Volume'                      35,35     # 0-46
amixer -c0 cset name='Capture Switch',index=1              on,on
amixer -c0 cset name='Capture Volume',index=1              35,35     # 0-46
amixer -c0 cset name='Capture Switch',index=2              on,on
amixer -c0 cset name='Capture Volume',index=2              35,35     # 0-46
amixer -c0 cset name='Digital Capture Volume'              120,120   # 0-120
amixer -c0 cset name='Input Source'                        2         # 0='Mic', 1='Front Mic', 2='Line'
amixer -c0 cset name='Input Source',index=1                0         # 0='Mic', 1='Front Mic', 2='Line'
amixer -c0 cset name='Input Source',index=2                1         # 0='Mic', 1='Front Mic', 2='Line'


# IEC958
# ==========================================================================

# PLAYBACK
amixer -c0 cset name='IEC958 Playback Switch'              off
amixer -c0 cset name='IEC958 Default PCM Playback Switch'  off

# CAPTURE
amixer -c0 cset name='IEC958 Capture Switch'               off

# MASKs
#amixer -c0 cset name='IEC958 Playback Con Mask'            '[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]'
#amixer -c0 cset name='IEC958 Playback Pro Mask'            '[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]'
#amixer -c0 cset name='IEC958 Playback Default'             '[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]'
#amixer -c0 cset name='IEC958 Capture Default'              '[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]'
  • Que gráficamente equivaldría a los siguiente:
Playback
Capture
ALL



Salvar Niveles Alsa

  • Es importante salvar los niveles configurados, para que en el próximo arranque se restauren de la misma forma
# /etc/init.d/alsasound save
* Storing ALSA Mixer Levels...  



Comandos aplay/arecord

  • PLAYBACK: Para ver los dispositivos de Reproducción
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC883 Digital [ALC883 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
  • CAPTURE: Para ver los dispositivos de captura
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC889A Analog [ALC889A Analog]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC889A Digital [ALC889A Digital]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: ALC889A Analog [ALC889A Analog]
 Subdevices: 1/2
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
card 1: Q9000 [QuickCam Pro 9000], device 0: USB Audio [USB Audio]
 Subdevices: 0/1
 Subdevice #0: subdevice #0
card 2: CX8801 [Conexant CX8801], device 0: CX88 Digital [CX88 Digital]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
  • Para ver los dispositivos PCM usamos el siguiente comando
# aplay -L
default:CARD=Intel
   HDA Intel, ALC889A Analog
   Default Audio Device
front:CARD=Intel,DEV=0
   HDA Intel, ALC889A Analog
   Front speakers
surround40:CARD=Intel,DEV=0
   HDA Intel, ALC889A Analog
   4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
   HDA Intel, ALC889A Analog
   4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
   HDA Intel, ALC889A Analog
   5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
   HDA Intel, ALC889A Analog
   5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
   HDA Intel, ALC889A Analog
   7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
   HDA Intel, ALC889A Digital
   IEC958 (S/PDIF) Digital Audio Output
null
   Discard all samples (playback) or generate zero samples (capture)
  • Comprobamos OSS
# cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.21 emulation code)
Kernel: Linux bolica 2.6.32-gentoo-r1 #1 SMP PREEMPT Tue Jan 12 12:24:41 CET 2010 x86_64
Config options: 0

Installed drivers: 
Type 10: ALSA emulation

Card config: 
HDA Intel at 0xfdff4000 irq 22
Logitech, Inc. QuickCam Pro 9000 at usb-0000:00:1a.7-5, high speed
Conexant CX8801 at 0xf8000000

Audio devices:
0: ALC889A Analog (DUPLEX)
1: USB Audio
2: CX88 Digital

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:
7: system timer

Mixers:
0: Realtek ALC889A
1: USB Mixer
2: CX88
  • Ver todas las funcionalidades disponibles
 # tree /sys/class/sound
/sys/class/sound
|-- adsp -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/adsp
|-- audio -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/audio
|-- audio1 -> ../../devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.2/sound/card1/audio1
|-- card0 -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0
|-- card1 -> ../../devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.2/sound/card1
|-- controlC0 -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0
|-- controlC1 -> ../../devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.2/sound/card1/controlC1
|-- dsp -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/dsp
|-- dsp1 -> ../../devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.2/sound/card1/dsp1
|-- hwC0D2 -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D2
|-- mixer -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/mixer
|-- mixer1 -> ../../devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.2/sound/card1/mixer1
|-- pcmC0D0c -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c
|-- pcmC0D0p -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p
|-- pcmC0D1c -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1c
|-- pcmC0D1p -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p
|-- pcmC0D2c -> ../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D2c
|-- pcmC1D0c -> ../../devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.2/sound/card1/pcmC1D0c
|-- seq -> ../../devices/virtual/sound/seq
|-- sequencer -> ../../devices/virtual/sound/sequencer
|-- sequencer2 -> ../../devices/virtual/sound/sequencer2
`-- timer -> ../../devices/virtual/sound/timer



PulseAudio

Configuración

  • Instalar PulseAudio y todos sus componentes
* Consulta estos artículos sobre la instalación de pulseaudio 0.9.15 y Baselayout2.

Nota: Con pulseaudio está desaconsejado usar el daemon a nivel sistema, es decir, no necesitas el /etc/init.d/pulseaudio. Más adelante explico cómo se debe arrancar desde la sesión X

  • Configurar PulseAudio. El fichero más importante es /etc/pulse/default.pa. CONFIGURACIÓN MANUAL, SIN USAR HAL (( Es la opción que estoy usando ))
Fichero: /etc/pulse/default.pa
.nofail
.fail
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-alsa-sink device=hw:0,0 sink_name=altavoces
load-module module-alsa-source device=hw:0,0 source_name=linein
load-module module-alsa-source device=hw:0,2 source_name=micro
load-module module-alsa-source device=hw:1,0 source_name=micusb
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
load-module module-zeroconf-publish
load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif
load-module module-default-device-restore
load-module module-rescue-streams
set-default-sink altavoces
set-default-source micro
  • Con la configuración manual tengo la ventaja de controlar mejor qué es lo que cargo y asignar por defecto los altavoces y micro de la HDA Intel y el Micro a la cámara WebCam.
  • En Gonme pido que durante el login se arranque el daemon
/usr/bin/start-pulseaudio-x11

  • Arrancar PulseAudio. Tengo configurado Gnome, por lo que lo va a arrancar en cuanto se hagan peticiones a PulseAudio. Es decir, que puede que ya lo tengas arrancado sin darte cuenta. El proceso arrancará con el UID de tu usuario, no de root. Lo que voy a hacer es matarlo, arrancar el PulseAudio Manager (Gnome arrancará también el daemon) y vigilar en paralelo el syslog para ver cómo está arrancando.
# killall pulseaudio
# ps -ef | grep -i pulse
root     19912 19664  0 12:25 pts/0    00:00:00 grep --colour=auto -i pulse

Aplicación->Sonido y Video->PulseAudio Manager
En el gráfico de la derecha podemos ver que el Manager se ha conectado con el daemon,
es decir, que el daemon ha arrancado.
# ps -ef | grep -i pulse
luis     20620     1  0 12:29 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
luis     20631 20620  0 12:29 ?        00:00:00 /usr/libexec/pulse/gconf-helper
root     20750 20544  0 12:30 pts/0    00:00:00 grep --colour=auto -i pulse

# tail -f /var/log/everything/current
Sep  3 12:31:46 [pulseaudio] alsa-source.c: Your kernel driver is broken: it reports a volume range from 18,00 dB to 18,00 dB which makes no sense.
Sep  3 12:31:46 [pulseaudio] pid.c: Daemon already running.
Sep  3 12:31:46 [pulseaudio] alsa-sink.c: Increasing minimal latency to 1,00 ms
  • Todo lo anterior no es necesario, como dije en mi Gnome tengo dicho que se arranque el daemon al hacer login. Esto es lo que veo en el syslog durante el login en Xwindow.
Sep  3 12:50:01 [pulseaudio] alsa-source.c: Your kernel driver is broken: it reports a volume range from 18,00 dB to 18,00 dB which makes no sense.
Sep  3 12:50:02 [pulseaudio] pid.c: Daemon already running.
Sep  3 12:50:02 [pulseaudio] alsa-sink.c: Increasing minimal latency to 1,00 ms
Sep  3 12:50:02 [pulseaudio] alsa-sink.c: Increasing minimal latency to 2,00 ms
Sep  3 12:50:02 [pulseaudio] alsa-sink.c: Increasing minimal latency to 4,00 ms
Sep  3 12:50:02 [pulseaudio] alsa-sink.c: Increasing minimal latency to 8,00 ms


Integrar PulseAudio y Alsa

  • Mi objetivo final es conseguir esta arquitectura:
tarjeta audio ---\                             /------ aplicaciones nativas pulseaudio
                  --- alsa/udev --- pulseaudio 
webcam con mic --/     driver                  \------ alsa ----- aplicaciones nativas alsa


Para conseguir la arquitectura es necesario tener instalado el Plugin de PulseAudio para alsalibs, de modo que todas las aplicaciones que sólo soportan el API de ALSA puedan acceder al Servidor de Audio PulseAudio. Una vez instalado el software simplemente tenemos que indicarselo a ALSA, y se hace a través del fichero /etc/asound.conf o ~/.asoundrc. En mi caso lo doy de alta y además indico que por defecto ALSA tiene que usar PulseAudio.

  • Nota: Modifico el fichero $HOME/.asoundrc y "NO UTILIZO (vacío o eliminado) el fichero /etc/asound.conf"
Fichero: /home/luis/.asoundrc
# Configuro un dispositivo en ALSA que le conecta con PulseAudio
pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}

# Fuerzo que todas las aplicaciones de ALSA usen Pulseaudio
pcm.!default {
   type pulse
}
ctl.!default {
    type pulse
}


  • Comprobación: Puedes comprobar cómo ha arrancado usando el PulseAudio Manager (Aplicaciones->Audio>PulseAudio Manager
  • Como nota final, el Plugin ALSA - PulseAudio soporta: reproducción de audio, captura de audio y el Mixer.



Configuración de las aplicaciones

Voy a describir aquí algunas aplicaciones que están funcionando directamente con PulseAudio o a través de ALSA->PulseAudio o GStreamer->Pulseaudio.

  • Antes de nada, te recomiendo que abras el "Monitor" de PA, que te permite ver qué se está "reproduciendo" y es muy útil para el troubleshooting, dado que todo lo que pasa por PA hacia los altavoces se ve ahí representado
Aplicaciones->Sonido y Video->PulseAudio Volume meter (playback)
pavumeter


Control de dispositivos y volumen

  • Una vez que está configurado, la administración del Audio se hace toda desde PulseAudio.
  • padevchooser -> Applet muy cómodo para cambiar de sumidero/fuente, acceso al volumen, etc...
  • pavucontrol -> Configuración del Volumen y selección de qué sumidero/fuente es el de por defecto.
  • Sistema->preferencias->Audio -> Ver cómo Gnome se integra con PA, selección de entrada, salida, etc...


Preferencias Gnome
pdevcontrol->volumen


Cambiar la entrada

  • Cambiar la entrada desde la cual se realizará la grabación.
Seleccionar LINE-IN tarjeta Audio
Seleccionar Micrófono tarjeta Audio
Seleccionar Micrófono WebCam



ALSA API
  • Ya lo hemos visto, pero no está de más recordarlo. Las aplicaciones ALSA utilizan PulseAudio como salida, tras modificar los ficheros /etc/asound.conf o $HOME/.asoundrc
$ aplay /usr/share/sounds/login.wav
Playing WAVE '/usr/share/sounds/login.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo


VirtualBox

Funciona con ambos, con PulseAudio o ALSA aunque no demasiado bien. He encontrado una solución a través de pulseaudio, que consiste en añadir tsched=0 a la hola de cargar el módulo alsa-sink en el fichero default.pa

load-module module-alsa-sink device=hw:0,0 sink_name=altavoces tsched=0

A partir de dicha modificación el sonido empieza a funcionar correctamente en el Guest con Windows.




VMWare 6.x

Esta aplicación es la única que no soporta ni ALSA ni PULSEAUDIO, sino que trabaja a través de OSS. Eso significa que nunca he conseguido resolver su problema del todo. La única solución ha sido arrancar VMWare sin ningún sonido, con pulseaudio (o alsa) sin acceder al dispositivo o parando el daemon (pulseaudio).

Hace poco he encontrado un thread donde comentan un truco que parece que funciona correctamente. Resumido, consiste en arrancar VMWare con un wrapper que captura sus llamadas a OSS y que las redirige a ALSA. El wrapper se llama libaoss.so (en tiempos probé otro llamado padsp sin éxito). Los enlaces interesantes son:

"... With this setup I'm finally able to have sound in both the Host Ubuntu OS and (non-choppy & non-stuttering sound) in a Windows XP Professional (32 bit) virtual machine. Your mileage may very (YMMV) depending on your hardware and what not..."


  • Describo aquí un resumen de las instrucciones que yo he seguido. No he necesitado set-uid a la libreria y funciona.
1. emerge alsa-oss (tengo la 1.0.17)
3. Parar el vmware player
4. Crear un shell script (por ejemplo vmware.sh) que llame a vmware con la precarga de la librería
   #!/bin/bash
   #
   LD_PRELOAD=/usr/lib64/libaoss.so exec vmware "$@"
5. En la config del Guest poner sonido: 'Autodetect' o '/dev/dsp'
6. Modificar /etc/pulse/daemon.conf
     default-fragments = 4
     default-fragment-size-msec = 4
7. Arrancar 
     $ vmware.sh


Y me funciona perfectamente !!


Nota: en el caso de usar sólo ALSA esto debería funcionar también. La única duda es que igual funciona con cortes el audio, que en el caso de usar pulseaudio se resuelve con las opciones antes mencionadas de daemon.conf

VMWare 7.x

Por fin!!!, ya soporta ALSA con lo que todo se arregla



Gnome y GStreamer
  • Verifica que tienes hecho el link de esdcompat. Esto engalla a Gnome para que arranque PA en vez de ESD. Lo hace la instalación de PulseAudio, el programa esdcompat es un script.
$ ls -al /usr/bin/esd
lrwxrwxrwx 1 root root 18 feb 20  2009 /usr/bin/esd -> /usr/bin/esdcompat


  • Configuro en el arranque de Gnome que se inicie el servidor de pulseaudio, el device chooser y el resto de programas de audio
 Sistema->Preferencias->Sesiones->Programas de inicio
   PulseAudio Device Chooser (padevchooser)
   Sistema de Sonido PulseAudio  (start-pulseaudio-x11)
   Gestor del volumen (/usr/libexec/gnome-volume-manager --sm-disable)
   Gnome Login Sound (/usr/bin/canberra-gtk-play --id="desktop-login" --description="GNOME Login")


  • En Preferencias->Sonido configuro las opciones de Sonido, tanto los dispositivos (todo a pulseaudio) como los sonidos del sistema.
  • En Preferencias->Control del Volumen verifico que el mixer es Pulseaudio y que no está en mute, y tiene volumen.
Gnome Dispositivos
Gnome Sonidos
Preferencias->Ctrl.Volumen


  • Configuro el GStreamer. El entorno multimedia GStreamer es un nuevo sistema muy moderno que permite a las aplicaciones conectar con él y que este se encarge de la salida a través de diferentes plugins, esto evita que las aplicaciones tenga que saber de todo (alsa, esd, arts, pulse, ...), simplemente es una capa intermedia que permite hacer el desarrollo para un único interfaz: GStreamer, y este tiene múltiples plugins, entre ellos el gst-pulse. Lo que hago es configurar GStreamer en Gnome para que use dicho plugin:
$ gstreamer-properties 
Valores para GStreamer


Skype 2.0
  • La Beta2.1 es inestable todavía con pulseaudio, porlo tanto he vuelto a la 2.0 y la mejor configuración que he encontrado es la siguiente:
Entrada (micro): ALSA QuickCam.
Salida/LLamada:  PulseAudio

El único reto es si alguna aplicación está usando el micrófono, skype no podrá acceder a él (pero esto no es algo que ocurrirá normalmente). La ventaja es que al usar PA para salida, me permite compartirlo con otras aplicaciones que están reproduciendo audio. Un ejemplo: es posible ver la Televisión (con vdr y xineliboutput) y a la vez mantener una charla por Skype y que ambas salidas de audio funcionen (no es algo que haremos, pero era por probar). Otro ejemplo: Podemos estar escuchando música con Amarok y cuando entra una llamada la oímos.

Audio en Skype


Skype 2.1 Beta 2
  • He descargado e instalado la nueva Beta (enero/2010) y la configuración funciona perfectamente.
Entrada (micro): PulseAudio
Salida/LLamada:  PulseAudio


Audio en Skype
Amarok 2.1
  • Amarok soporta PulseAudio en esta versión, así que lo he configurado para que todas sus opciones de Salida apunten a PulseAudio, y la de entrada a QuickCam (aunque no creo que grabe nada :-)).
Preferencias->Configurar Amarok->Reproducción->Configuración del Sistema de Sonido
Salida en Amarok
Entrada en Amarok


Plugin de Flash con Audio para Firefox

También funciona perfectamente.



Análisis: ALSA + PulseAudio

  • Aplicaciones accediendo al Audio de forma única. Como he descrito antes, todas las aplicaciones que soporten PulseAudio y/o ALSA funcionan perfectamente: Gnome, Skype, VDR, VirtualBox, Amarok, control de volumen.
  • Simultanear Aplicaciones:
 - VDR funcionando + aplay:                                        OK
 - VDR funcionando + VMWare:                                       OK
 - VMWare con guest playing + aplay:                               OK
 - Skype "hablando" y sounds de Gnome                              OK
 - VirtualBox (alsa/PA) + Skype/aplay/gnomesounds                  OK
 - Amarok 1º + Skype                                               OK
 - VMWare 6.x                                                      Necesita el truco comentado
 - VMWare 7.x                                                      OK
  • Conclusión:
 - Funciona TODO !

NOTA: El único problema que encontré fue VMWare 6.x, que usa /dev/dsp, por lo que monopoliza el audio. Si alguna aplicación está usando el audio y arrancamos un Guest, no tendrá acceso y arranca desconectado. El workaround es desactivar que se emitan sonidos al pulsar botones (preferencias de Audio de Gnome) y conectar manualmente el audio en el Guest. Se soluciona como menciono aquí



  • Pendientes: Con gnome hay un bug bastante molesto: falta la etiqueta de temas de sonido en gnome-volume-control: BUG ID 596454

Enlaces y Créditos

[1] http://wiki.luispa.com/ Página principal de LuisPa.


Volver a la página de Multimedia

--Luis 21:39 24 ene 2010 (CET)