Ubuntu 12.04 Precise Pangolin
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Das Open Sound System (OSS) stellt Gerätetreiber für Soundkarten bereit. Normalerweise wird unter Ubuntu das neuere ALSA verwendet. Allerdings unterstützt OSS einige ältere Soundkarten, die von ALSA nicht oder nur schlecht unterstützt werden. Außerdem hat OSS 4 Funktionen, die bei ALSA fehlen, wie z.B. die Möglichkeit die Lautstärke einzelner Anwendungen und Ausgänge getrennt zu regeln (mit PulseAudio inzwischen standardmäßig möglich). In diesem Artikel wird beschrieben, wie man OSS unter Ubuntu installiert und konfiguriert.
Es ist möglich, mit alsa-oss Programme, die für OSS entworfen wurden, dennoch mit ALSA zu betreiben. Dann kann man sich den hier beschriebenen Aufwand sparen.
Eine Liste mit unterstützten Soundkarten findet man hier: devices.list
Das Programm kann aus den Paketquellen installiert werden.
OSS4-gtk (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install OSS4-gtk
sudo aptitude install OSS4-gtk
Die folgenden Schritte zur Installation sind nicht mehr nötig.
Folgende Pakete müssen installiert [1] werden:
build-essential
binutils
gawk, libtool
libgtk2.0-dev
mercurial
libesd0
libsdl1.2debian-oss
Paketliste zum Kopieren:
sudo apt-get install build-essential binutils linux-headers gawk libtool libgtk2.0-dev mercurial libesd0 libsdl1.2debian-oss
sudo aptitude install build-essential binutils linux-headers gawk libtool libgtk2.0-dev mercurial libesd0 libsdl1.2debian-oss
Die Frage, ob libesd-alsa0 entfernt werden soll, kann mit ja beantwortet werden.
Für die GNOME-Systemklänge muss noch ESD installiert werden:
esound
esound-clients
esound-common
libesd0
Paketliste zum Kopieren:
sudo apt-get install esound esound-clients esound-common libesd0
sudo aptitude install esound esound-clients esound-common libesd0
Für KDE-Systemklänge noch aRts
arts
Es gibt aktuelle Debian-Pakete für OSS 4.2 beim Entwickler 4Front Technologies: Assistent zur Paketauswahl bzw. Verzeichnis aller Pakete zum installieren nach [7].
Falls es einmal keine aktuellen Pakete geben sollte, ist es vorzuziehen, OSS aus dem Quelltext [2] zu erstellen. Bevor man das tut, sollte das System neu gestartet werden, damit die ALSA-Module nicht mehr geladen sind.
Man kann den aktuellen Quellcode mit Mercurial [6] herunterladen:
cd /usr/src sudo hg clone http://opensound.hg.sourceforge.net:8000/hgroot/opensound/opensound oss-devel
OSS muss in einem extra Verzeichnis erstellt werden. Also legt man beispielsweise das Verzeichnis oss4build im Home-Ordner an:
cd mkdir oss41build cd oss41build/
Um den Quellcode zu kompilieren, gibt man nun Folgendes ein:
/usr/src/oss-devel/configure make sudo checkinstall
Der checkinstall
-Befehl bricht möglicher Weise mit einer Fehlermeldung ab, da zwischen den Schritten, die dabei vorgenommen werden ein Neustart des Systems oder das Nachladen des neuen Treibers fehlt. Als Workaround kann der Rechner neu gestartet und der checkinstall
-Befehl wiederholt werden.
Auf Multicore-Systemen kann man den zweiten Befehl mit dem Parameter -j
beschleunigen (z.B. make -j2
für ein Dualcore-System).
Jetzt sollte OSS4 auf dem System installiert sein.
Als erstes öffnet man einen Terminal [3]. Danach kann man die ALSA-Module in die Blacklist eintragen. [5]
sudo bash -c 'cat /lib/linux-sound-base/noALSA.modprobe.conf >> /etc/modprobe.d/blacklist'
Jetzt öffnet man die Datei /etc/modprobe.d/blacklist mit einem Editor [4] und fügt Folgendes an:
blacklist snd_hda_intel blacklist snd_mixer_oss blacklist snd_pcm blacklist snd_timer blacklist snd_page_alloc blacklist snd_hwdep blacklist snd blacklist soundcore
In einem Terminal gibt man nun Folgendes ein, um OSS als Soundsystem auszuwählen:
sudo dpkg-reconfigure linux-sound-base
In dem folgenden Bildschirm steht eine kurze Erklärung, was OSS und ALSA sind. Diese kann man mit "Ok" bestätigen. Darauf folgt eine Liste, in der man mit den Pfeiltasten "OSS" auswählen sollte. Die Bestätigung folgt wieder mit "Ok".
Wenn OSS installiert ist, muss man seinen Anwendungen noch sagen, dass sie es benutzen sollen. Viele Anwendungen bieten in ihren Einstellungen eine Option dafür an oder erkennen das gewünschte Soundsystem automatisch. Einige andere brauchen allerdings etwas mehr Pflege.
Damit der Mixer funktioniert, muss das Paket gstreamer0.10-plugins-bad installiert werden. Unter "System -> Einstellungen -> Audio" sollte für jeden Ein- und Ausgang ein OSS-Eintrag gewählt werden.
Unter "Werkzeuge -> Einstellungen -> Klänge" wählt man als Methode "Kommando" und ossplay %s
als Klang-Abspielbefehl.
Mit folgender Prozedur kann man wieder zum ALSA-System zurückkehren [3]:
sudo sh /usr/lib/oss/scripts/restore_drv.sh sudo soundoff sudo dpkg -r oss-linux sudo dpkg-reconfigure linux-sound-base
Paketliste zum Kopieren:
sudo apt-get install libesd-alsa0 alsa-oss alsa-base libsdl1.2debian-alsa
sudo aptitude install libesd-alsa0 alsa-oss alsa-base libsdl1.2debian-alsa
Nun öffnet man /etc/modprobe.d/blacklist mit Root-Rechten und entfernt alle Einträge ab "blacklist snd-seq".
Jetzt setzt man im Gegenzug die OSS-Module auf die Schwarzliste:
sudo su sudo cat /lib/linux-sound-base/noOSS.modprobe.conf >> /etc/modprobe.d/blacklist exit
Jetzt startet man den PC neu und wählt bei "System -> Einstellungen -> Sound" ALSA oder automatisch aus. Falls es immer noch Probleme gibt, müssen die ALSA-Kernelmodule neu installiert werden: ALSA Module - Reinstallation und das gesamte Soundsystem auf ALSA umgestellt werden.
Diese Revision wurde am 1. Mai 2014 18:50 von aasche erstellt.