OSS4
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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.
Hinweis:
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.
Unterstützte Hardware¶
Eine Liste mit unterstützten Soundkarten findet man hier: devices.list 🇬🇧
Installation¶
Das Programm kann aus den Paketquellen installiert werden.
OSS4-gtk (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install OSS4-gtk
Oder mit apturl installieren, Link: apt://OSS4-gtk
Die folgenden Schritte zur Installation sind nicht mehr nötig.
Benötigte Pakete¶
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
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
Für KDE-Systemklänge noch aRts
arts
OSS aus einzelnem Paket installieren¶
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].
OSS aus dem Quelltext installieren¶
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.
Quellcode herunterladen¶
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
Build-Verzeichnis¶
OSS muss in einem extra Verzeichnis erstellt werden. Also legt man beispielsweise das Verzeichnis oss4build im Home-Ordner an:
cd mkdir oss41build cd oss41build/
Quellcode kompilieren¶
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.
Experten-Info:
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.
Konfiguration¶
ALSA abschalten¶
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
OSS als Standard-System auswählen¶
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".
Anwendungen konfigurieren¶
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.
GNOME 2¶
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.
Pidgin¶
Unter "Werkzeuge → Einstellungen → Klänge" wählt man als Methode "Kommando" und ossplay %s
als Klang-Abspielbefehl.
Zurück zu ALSA¶
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
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.
Links¶
OSS englischsprachigen Wiki 🇬🇧, dient als Grundlage für diesen Artikel