[gelöst] Jessie - Sound auch ohne pulseaudio?

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

[gelöst] Jessie - Sound auch ohne pulseaudio?

Beitrag von holgerw » 26.07.2015 15:51:33

Hallo,

ich möchte Debian Jessie ohne PA betreiben. Ich nutze KDE4, eine externe Aureon USB, in /etc/modprobe.d/alsablacklist.conf habe ich snd_hda_intel deaktiviert, damit dem System der integrierte Intelsoundchip nicht mehr zur Verfügung steht.

Mit pulseaudio habe ich Sound, nach dem Deinstallieren von pavucontrol, pulseaudio, pulseaudio-utils und pulseaudio-modules-x11 und einem Neustart habe ich keinen Sound mehr, alsamixer auf der Konsole geht nicht, und alsamixergui meldet beim Start, dass snd_ctl_open nicht gefunden werden kann.

Wie bekomme ich denn nun unter Jessie mit nativem Alsa Soundausgabe? Um noch klar zu stellen: Ich habe nichts dagegen, wenn PA zur Verfügung gestellt wird, es mag Konstellationen mit verschiedenen Audio-Devices, Mikros und Plug&Play geben, da ist PA vermutlich große Klasse. Aber ich brauche es nicht und ich möchte es nicht. Und ich finde es befremdlich, dass wir unter Debian seit Jessie mit PA vermutlich nun zwangsbeglückt werden.

Unter archbang geht Sound ohne PA, dort nutze ich kf5. Unter openSUSE wird der Kram zwar seit einigen Versionen mitinstalliert, aber unter Yast-Sound genügt ein Mausklick, um PA systemweit zu deaktivieren.

Viele Grüße,
Holger
Zuletzt geändert von holgerw am 27.07.2015 06:51:21, insgesamt 1-mal geändert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Jessie - Sound auch ohne pulseaudio?

Beitrag von smutbert » 26.07.2015 16:19:28

Die Fehlermeldung von alsamixer irritiert mich auf den ersten Blick etwas, aber vielleicht erledigt sich das automatisch mit dem Rest ☺. Was sagt denn

Code: Alles auswählen

$ aplay -l
(und übrigens: ich hatte eine Terratec Aureon II (so hieß die glaube ich), die war zwar nicht schlecht wird aber von meinem Onboardsound von den Fähigkeiten (maximale Samplerate und -tiefe) und Meßwerten (Signal-Rauschabstand, Fequenzgang,…) her übertroffen. Deaktivieren ist jedenfalls auf keinen Fall notwendig, zeitweise hatte ich laut Alsa 5 Soundkarten an meinem Rechner, wobei zwei davon der Onboardsound, eine das Loopback-Device, eine eine PCIe-Karte und die 5. eine USB-Soundkarte war und es hat mit und ohne Pulseaudio alles problemlos funktioniert.)
(Das schreibe ich nur, weil es doch relativ viele gibt, die den Onboardsound im BIOS deaktivieren - ich es aber recht praktisch finde, noch eine freie Soundkarten zu haben und ich vor allem keinen Vorteil in der Deaktivierung sehe - der Stromverbrauch kann bei einem Onboardsound ja i.A. nicht der Grund dafür sein).

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Re: Jessie - Sound auch ohne pulseaudio?

Beitrag von holgerw » 26.07.2015 20:03:33

Hallo,

danke für Deine Hilfe. Hier die gewünschte Ausgabe:

Code: Alles auswählen

holger@biber:~$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 1: USB [Aureon 7.1 USB], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
holger@biber:~$
In den Systemeinstellungen von KDE taucht die Soundkarte auch auf, außerdem:

Code: Alles auswählen

holger@biber:~$ lsmod|grep snd
snd_usb_audio         135354  2 
snd_usbmidi_lib        23388  1 snd_usb_audio
snd_hwdep              13148  1 snd_usb_audio
snd_rawmidi            26806  1 snd_usbmidi_lib
snd_seq_device         13132  1 snd_rawmidi
snd_pcm                88662  1 snd_usb_audio
snd_timer              26614  1 snd_pcm
snd                    65244  11 snd_usb_audio,snd_hwdep,snd_timer,snd_pcm,snd_rawmidi,snd_usbmidi_lib,snd_seq_device
soundcore              13026  1 snd
usbcore               195340  7 snd_usb_audio,usb_storage,snd_usbmidi_lib,ehci_hcd,ehci_pci,usbhid,xhci_hcd
holger@biber:~$
Da wird doch alles korrekt geladen beim Systemstart.

Die Aureon 7.1 ist besser, als der Intel Sound Chip. Ich höre Konzerte der EBU mit klassischer Musik für hr2 Kultur ab, die Soundwiedergabe per Audacity unter der Aureon 7.1 ist deutlich sauberer. Die flac Dateien haben 48000 Hz.

Was kann ich noch tun?

Viele Grüße,
Holger

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Jessie - Sound auch ohne pulseaudio?

Beitrag von smutbert » 26.07.2015 21:10:45

Wegen dem Mixer ausprobieren

Code: Alles auswählen

$ alsamixer -D hw:USB
Wenn das funktioniert könntest du, nachdem du die Lautstärkeregler überprüft hast gleich auch die Audioausgabe ausprobieren

Code: Alles auswählen

$ aplay -D plughw:USB /usr/share/sounds/alsa/Front_Left.wav
Falls alsamixer immer noch nicht funktioniert, was genau bedeutet
holgerw hat geschrieben:[…]alsamixer auf der Konsole geht nicht[…]
und versuch es sicherheitshalber auch als root, auch wenn das nicht notwendig sein darf (dürfte). Die genaue Fehlermeldung ist uU auch hilfreich.

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Re: Jessie - Sound auch ohne pulseaudio?

Beitrag von holgerw » 26.07.2015 22:09:08

Hallo,

Deine Hinweise haben mich schon weiter gebracht, vielen Dank.

mit dem Befehl

Code: Alles auswählen

$ alsamixer -D hw:USB -V all
kann ich meine Soundkarte einstellen.

mit dem Befehl

Code: Alles auswählen

$ aplay -D plughw:USB /usr/share/sounds/alsa/Front_Left.wav
wird die Wav-Datei hörbar abgespielt.

Aber wie erhalte ich nun unter KDE4 über phonon-backend-vlc und im Browser Soundausgabe?

Viele Grüße,
Holger

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Jessie - Sound auch ohne pulseaudio?

Beitrag von smutbert » 26.07.2015 22:52:02

Naja, der Teil ist noch etwas mysteriös: Eigentlich sollte Alsa in der Abwesenheit von Pulseaudio einfach über das dmix-Plugin zum Mischen der Ausgaben mehrerer Anwendungen über die erste Soundkarte als Default wiedergeben — mit deiner einen Soundkarte sollte das eigentlich problemlos funktionieren…

Ich würde es mit einer /etc/asound.conf versuchen, die explizit deine Soundkarte als Standardgerät festlegt:

Code: Alles auswählen

pcm.!default { 
	type plug
	slave.pcm "dmixer"
}

ctl.!default {
	type hw
	card USB
}

pcm.dmixer {
	type dmix
	ipc_key 1024
	slave {
		pcm "hw:USB"
		rate 48000
	}
	hint {
		show on
		description "Aureon (dmix)"
	}
}

ctl.dmixer {
	type hw
	card USB
}
Der vorletzte Abschnitt definiert eine Art virtuelle Soundkarte namens dmixer, die über dmix an die Aureon ausgeben soll und weil viele Programme das erfordern, definiert der letzte Abschnitt auch noch ein Mixergerät desselben Namens, das einfach nur auf die Aureon verweist. Die ersten beiden Abschnitte definieren die Defaultgeräte und verweisen wieder auf dmixer bzw. die Aureon.

Der Abschnitt hint im vorletzten Abschnitt soll obendrein dafür sorgen, dass dieses Gerät auch in KDE zur Auswahl steht, ansonsten werden solche selbst definierten Geräte versteckt, ich bin mir aber nicht sicher, ob das auch funktionieren wird. Wahrscheinlich musst du trotzdem in den KDE-Einstellungen einen Haken bei "show advanced devices/erweiterte Geräte anzeigen" oder so ähnlich machen.

Wenn du die /etc/asound.conf anlegst solltest du auch noch sicherstellen, dass deren Inhalt nicht von einer ~/.asoundrc „überschrieben“ wird.

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Re: [gelöst] Jessie - Sound auch ohne pulseaudio?

Beitrag von holgerw » 27.07.2015 06:59:50

Hallo smutbert,

vielen Dank, nun habe ich Sound auch unter Iceweasel und KDE4.

Weiterhin bleibt für mich allerdings befremdlich, warum dieser Aufwand unter Debian notwendig ist. Archbang ist eine Distribution, bei der man viel mehr Hand anlegen muss, um Sachen zum Laufen zu bekommen (lediglich die Installation ist einfacher als von Arch). Und da geht das einfach so, während ich unter Debian frickeln muss.

Gut gefallen bei Deiner Hilfe hat mir auch, dass Du nicht angefangen hast, miich zu PA zu überreden. Das erlebe ich nämlich häufiger: Jemand hat das Bedürfnis, etwas anders zu machen, als es von einer Distribution vorgegeben wird und anstatt dieser Person dann zu helfen, wird über das Bedürfnis diskutiert.

Für mich ist das Thema damit gelöst.

Viele Grüße,
Holger

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [gelöst] Jessie - Sound auch ohne pulseaudio?

Beitrag von smutbert » 27.07.2015 09:54:15

Gerne!

Wie gesagt, eigentlich hätte es auch in Debian so funktionieren sollen/müssen/können. Ich wäre ja auch gerne der Sache auf den Grund gegangen, aber ich mir ist kein Ansatzpunkt eingefallen. Die Ursache scheint jedenfalls zu sein, dass auf deinem System durch irgendeine Konfigurationsdatei, ein Pulseaudioüberbleibsel oder vielleicht gar eine Einstellung von Phonon/KDE nach wie vor etwas anderes zum ALSA-Standardgerät gekürt wurde (vermutlich das nicht mehr vorhandene Pulseaudio). Mit dem Schreiben der /etc/asound.conf sind wir dem aus dem Weg gegangen...

Wobei eine Idee kommt mir gerade noch:
Du könntest zu Testzwecken
- einen frischen Benutzer anlegen
- vorübergehend die asound.conf umbenennen und
- ausprobieren ob der Ton bei diesem Benutzer dann auch ohne weitere Maßnahmen auf Anhieb funktioniert.
Wenn das der Fall ist kann dein Problem nur von einer benutzerspezifischen Einstellung verursache worden sein und nachdem du keine ~/.asoundrc hast, kämen nur noch Pulseaudio-Überbleibsel oder Phonon als Ursache in Frage.

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Re: [gelöst] Jessie - Sound auch ohne pulseaudio?

Beitrag von holgerw » 27.07.2015 12:11:57

Hallo,

ich habe zu Testzwecken mit Debian Netinstall ein Minimalsystem ohne Xserver neu aufgesetzt*, dann nur alsa-base und alsa-utils installiert, den Intelchip per Blacklist deaktiviert. Es ist damit leider der gleiche Käse, alsamixer findet trotz angestöpselter USB Aureon und den geladenen snd Modulen kein snd_ctl_open. Erst mit

Code: Alles auswählen

$ alsamixer -D hw:USB -V all
lässt sich der Mixer öffnen. Auch mit einem dazu installiertes X samt KDE4 und phonon-backend-vlc habe ich keinen Sound, erst Deine /etc/asound.conf bringt hier Abhilfe. Unter siduction wird mir das wohl auch helfen, weil ich da die gleichen Schwierigkeiten mit nativem alsa habe.

Viele Grüße,
Holger

*Da ich mit Debian seit Woody vetraut bin und wir seit kurzem vdsl haben, ging das neue Aufsetzen sehr flott, und ich teste bei solchen Sachen wie hier geposted auch gerne herum, um heraus zu finden, warum etwas nicht funktioniert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [gelöst] Jessie - Sound auch ohne pulseaudio?

Beitrag von smutbert » 27.07.2015 12:38:25

ich hab's :facepalm: (eigentlich sogar schon geschrieben, aber nicht mitgedacht :facepalm: :facepalm: )

In der Standardkonfiguration ist für ALSA die erste Karte das Defaultgerät und die erste Karte bedeutet in der ALSA-Nummerierung Karte 0, die Aureon erhält allerdings…
holgerw hat geschrieben:holger@biber:~$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 1: USB [Aureon 7.1 USB], Gerät 0: USB Audio [USB Audio]
…die Nummer 1.


Es gibt auch eine sehr einfache einleuchtende Erklärung dafür: Meistens will man nicht, dass über USB angeschlossene Audiogeräte, das könnte ja sogar ein (analoger) Radio- oder Fernsehempfänger sein, irrtümlich zum Defaultgerät werden kann, nur weil der Treiber dafür zufällig vor dem für die interne Soundkarte geladen wird. Deswegen wird mit einer Moduloption für das Kernelmodul snd-usb-audio verhindert, dass USB-Geräte die Nummer 0 bekommen

Code: Alles auswählen

# modprobe -c | grep snd_usb_audio | grep index
options snd_usb_audio index=-2
Weitere Nachforschungen ergeben, dass das auf der Datei /lib/modprobe.d/aliases.conf des Pakets Debiankmod stammt

Code: Alles auswählen

$ dpkg -S /lib/modprobe.d/aliases.conf 
kmod: /lib/modprobe.d/aliases.conf
$ cat /lib/modprobe.d/aliases.conf 
…
options snd-usb-audio index=-2
…
Es gilt also diese Zeile mit einem Editor deiner Wahl aus /lib/modprobe.d/aliases.conf auszukommentieren (mit #) und danach sicherheitshalber, auch wenn es vielleicht gar nicht notwendig ist, die initrd neu zu bauen:

Code: Alles auswählen

# update-initramfs -u
Das sollte es gewesen sein, aber ich hätte nicht gedacht, dass es auf anderen Distributionen nicht dieselbe Standardeinstellung für USB-Soundkarten gibt.

Antworten