Instalar OSS4 en Trisquel 4.0

Nota: Esto solo funcionará en Trisquel 4.0 (nombre clave Taranis) o una versión posterior. Versiones previas de Trisquel no tienen los paquetes necesarios.

¿Por que podría querer OSS4?

OSS4 es una interfase de sonido alternativa a ALSA. Tiene numerosas ventajas sobre ALSA, incluyendo:

  • OSS es portable, y se ejecuta en los sistemas *nix mas modernos. ALSA es especifica al kernel Linux, significando que aplicaciones multi-plataforma necesitan soportar múltiples interfases de audio.
  • OSS tiene un API más sencilla que ALSA, de manera que los programadores pueden invertir menos tiempo haciendo trabajo de sonido y más tiempo trabajando en nuevas características interesantes.
  • Los controladores para OSS pueden entregar mejor calidad de audio que aquellos para ALSA.
  • Algunos programas se niegan a abrir ciertos niveles de uso aun cuando la tarjeta de audio los soporta con ALSA, en cambio con OSS4 no existen dichos problemas.

Para más detalles en los beneficios de OSS, lea The Sorry State of Sound in Linux (en inglés). Este artículo fue escrito unos meses antes de que OSS fuera re-lanzado como software libre en 2007, así que figure en su mente que cuando se refiere a OSS como "closed source", esto no aplica más.

Desafortunadamente, el que OSS haya sido software privativo por algún tiempo, ha hecho que la mayoría de distribuciones GNU/Linux se hayan enfocado exclusivamente hacer trabajar ALSA fuera de la caja se han olvidado de OSS. Por lo que tendrá que pasar por alguno detalles para hacer funcionar OSS4, pero este manual esta hecho para hacer eso tan sencillo como sea posible para usted. :) También se mostrará el hacer funcionar PulseAudio con OSS4, desde que esta instalado en Trisquel predefinidamente; también tiene la opción de removerlo (simplemente desinstale el paquete "pulseaudio" con su administrador de paquetes favorito si es que lo desea). PulseAudio no es necesariamente necesario a menos que quiera usar programas que no soporten OSS, desde que OSS4 incluye un programa ecualizador fácil de usar.

Paso 1 - Instalación de paquetes OSS4

Se sugiere usar aptitude para instalar paquetes, pero como siempre puede usar apt-get si lo prefiere. Los paquetes que necesitará son oss4-base y oss4-source; También se instalará oss4-gtk que instala un ecualizador OSS para GTK+.

$ sudo aptitude install oss4-base oss4-source oss4-gtk

Paso 2 - Construya los modulo OSS4 del kernel

El paquete oss4-base instalará el mismo OSS4, pero no los módulos del kernel necesarios para trabajar con su tarjeta de audio; estos están encontrados en forma de código fuente en oss4-source. Necesitará usar el programa module-assistant para construir estos módulos (oss4-source depende de ello, de manera que fue instalado en el paso 1). Primero, necesitamos instalar los paquetes generados por module-assistant para funcionar, comencemos:

$ sudo module-assistant prepare
En Trisquel, module-assistant falla al crear el enlace necesario para crear los módulos OSS4; puede resolver esto al hacerlo manualmente creando el enlace primero:
$ sudo ln -s /usr/src/linux-headers-$(uname -r | sed s/-generic//g) /lib/modules/$(uname -r)/source
Ahora estamos listos para construir los módulos OSS4 del kernel. Module-assistant hace esto muy simple en un sencillo paso:
$ sudo module-assistant auto-install oss4

Paso 3 - Configure OSS como su motor de audio predefinido

Normalmente, ALSA seguirá configurado como el motor de audio predefinido. Para cambiarlo por OSS ejecute la siguiente orden:

$ sudo dpkg-reconfigure linux-sound-base
Después, seleccione OSS en lugar de ALSA en el menú mostrado. Opcionalmente, puede también remover ALSA de su sistema:
$ sudo aptitude remove alsa-base alsa-utils

Paso 4 - Configure PulseAudio

PulseAudio es extremadamente sencillo de configurara para usar con OSS; solo necesita realizar una simple modificación a un solo archivo. En una terminal, escriba:

$ sudo gedit /etc/pulse/default.pa
Encuentre la linea que dice:
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
Active y agregue "mmap=0" al final de la linea, de manera que luzca así:
load-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap=0
Justo debajo hay una sección del archivo que dice:
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
.endif
Únicamente necesita comentar este párrafo agregando hashes (#) al inicio de las lineas que no lo tengan.

Paso 5 - Reinicie e inicie la interfaz del ecualizador OSS

Ahora reinicie su sistema. Cuando termine de iniciar, presione Alt+F2 y ejecute:

ossxmix
Esto traerá el ecualizador gráfico de OSS que se instaló en el paso 1. No es un ecualizador muy refinado pero funciona, con unos minutos de uso debería ser capaz de entenderlo. Tenga conocimiento de que OSS no soporta detección de jack para algunas de las nuevas tarjetas de audio. Si esto pasa tendrá que deshabilitar manualmente la bocina integrada en caso de que quiera usar audífonos, de otra forma seguirá produciendo sonidos con los audífonos insertados. Esto puede ser hecho al cambiar el menú int-speaker drop-down de "select" a "input".

Como todo, no es el ecualizador mas intuitivo en el mundo, pero una vez que se acostumbra todo debería resultar bien.

Paso 6 - Asegúrese que PulseAudio esta funcionando

Puede probar PulseAudio bajando el volumen (muy bajo; esta orden producirá ruido si es que funciona), escribir esta orden en una terminal:

$ cat /dev/urandom | pacat
Si funciona, ¡perfecto! PulseAudio esta activo y ejecutándose. Si no funciona, primero revise que guardo los cambio realizados en /etc/pulse/default.pa y que el sonido no esta mudo en ossxmix, de otra manera tendrá que enfrentar la problemática con la lectura de la documentación de su tarjeta y OSS4.

Lectura adicional y referencias

(en inglés)

The Sorry State of Sound in Linux

Configuring Applications for OSS4

Tips and Tricks

Troubleshooting

OpenSound - Community Ubuntu Documentation

Configuring Sound on Linux/Pulse Audio/Testing

Revisiones

02/08/2011 - 23:39
Ark74