Obtener dinero con AdFly

jueves, 14 de abril de 2011

Instalar OSS4 y no morir en el intento

Hace unos días instalé OSS4 en mi Debian Squeeze para mejorar la calidad del sonido. Luego tuve problemas para reproducir música, o cualquier sonido en algunas aplicaciones como SMPlayer porque algunos módulos de ALSA todavía estaban corriendo al reiniciar el sistema. ALSA tiene compatibilidad con OSS pero no con OSS4.

Después de buscar en foros y google, encontré una guía de cómo instalar OSS4 y devolverse sin quedarse en el camino. Como está en inglés y está hecha para instalarlo en Ubuntu 10.04, lo adapto a Debian Squeeze (que no es casi nada) y de una vez lo traduzco:

http://yopensource.com/it/news/ubuntu-latest-news/9297-howto-install-oss4-in-ubuntu-1004-lucido-per-meglio-sound-di-qualita

  • En una terminal, corre sudo dpkg-reconfigure linux-sound-base. Escoge OSS, esto, entre otras cosas, previenes que los módulos de ALSA sean cargados. Ahora reinicia.
  • Hay (al menos) 3 formas de instalar OSS4:
    • Instalar desde los repositorios de Debian:
      • sudo apt-get install oss4-base oss4-dkms oss4-gtk
                         Esto reconstruye los módulos OSS si tu kernel está actualizado (yo usé la versión 2.6.32), y es la vía recomendada para instalar módulos de kernels que vienen de terceros.
    • Descarga los binarios de OSS4 en .deb desde http://www.opensound.com/download.cgi y lo instalas. Esta es la vía fácil, pero vas a tener que reinstalar el paquete manualmente cada vez que tu kernel se actualice. Además, ese paquete no es GPL, porque tiene una licencia comercial de un año.
  •  Si tienes errores con el módulo snd_pcm, intenta reiniciar y correr sudo soundon. Si el problema persiste, usa lsmod para chequear si algún módulo de ALSA sigue cargado. Si es así, agregalo a la lista negra (blacklist) manualmente, creando un archivo de configuración en /etc/modprobe.d/blacklist-nombre_modulo_alsa.conf con la línea blacklist nombre_modulo_alsa.
  • Configura Pulseaudio para que use OSS4 o eliminalo:
    • Para configurar Pulseaudio con OSS4:
                   Edita el archivo de configuración por defecto: gksu gedit /etc/pulse/default.pa
                   Comenta los módulos de detección automática de hardware, estas 3 líneas:
                      #.ifexists module-udev-detect.so
                      #     load-module module-udev-detect
                      #.else

               
                    Agrega la siguiente línea:

                      load-module module-oss device="/dev/dsp" sink_name=output source_name=input mmap=0

    •  Para eliminar Pulseaudio:
                  sudo apt-get remove pulseaudio

                     Después recuperas el ícono del control de volumen en el panel.

  • Configura Gstreamer para salida con OSS4:
            Instala Gstreamer0.10-plugins-bad.
            Corre gstreamer-properties y establece OSS como entrada y salida.

  • Configura ALSA (o si prefieres libasound) para salir por OSS4 en lugar de los controladores nativos de ALSA. Crea un archivo de configuración:
            gedit ~/.asoundrc

            Agrega lo siguiente:

            pcm.!default
            {
                type oss
                device /dev/dsp
            }
            mixer.!default
            {
                type oss
                device /dev/dsp
            }

  • Botón derecho en tu panel, selecciona "Añadir al panel..." y añade el applet de control de volumen.
  • Configura las aplicaciones que soporta OSS4 nativamente (ej. Audacious, Audacity, SMPlayer, etc.) para usar OSS. Algunas aplicaciones no tienen soporte para OSS. No es problema, porque pueden seguir funcionando con GStreamer o con la emulación de ALSA a través de OSS4 (o Pulseaudio si decidiste dejarlo).
  • Después de eliminar Pulseaudio, puede ser que Rhythmbox o Movie Player, al iniciar, no encuentren los plugins audiosink. En ese caso debes cambiar manualmente algunas Gconf-keys. Inicia gconf-editor. Abre system/gstreamer/0.10/audio/default. Chequea si algunas claves (por ejemplo: musicaudiosink y chataudiosink) todavía están establecidas con "pulsesink". Si es así, cambialo a "osssink".



REVIERTE TODOS LOS CAMBIOS (EN CASO DE QUE QUIERAS):

  • En una terminal, corre sudo dpkg-reconfigure linux-sound-base Escoge ALSA. Y ahora reinicia.
  • Borra el archivo de configuración de libasound: rm ~/.asoundrc
  • Reinstala Pulseaudio y los paquetes asociados: sudo apt-get install pulseaudio libcanberra-pulse pulseaudio pulseaudio-esound-compat pulseaudio-module-bluetooth pulseaudio-module-gconf pulseaudio-module-x11
  • Configura GStreamer para salida de Pulseaudio corriendo gstreamer-properties y estableciendo como entrada y salida a Pulseaudio.
  • Si configuraste algunas aplicaciones (ej. Audacious, Audacity, SMPlayer, etc.) para usar OSS4, vuelvelas a configurar a Pulseaudio o ALSA.
  • Inicia gconf-editor. Abre system/gstreamer/0.10/audio/default. Chequea si algunas claves (ej. musicaudiosink y chataudiosink) están establecidas a "osssink". Si es así, cambialos a "pulsesink".
  • Elimina OSS4 usando: sudo apt-get remove oss4-base oss4-dkms oss4-gtk. También puedes borrar opcionalmente gstreamer0.10-plugins-bad.

No hay comentarios:

Publicar un comentario