[Gelöst] Stumm nach Neustart (essx8336)
[Gelöst] Stumm nach Neustart (essx8336)
Hey mein geo 140 laptop mit dem ESSX8336 codec startet jedes mal ohne Ton, über PulseAudio lässt sich der Ton nicht wiederherstellen, nur im alsamixer über das Terminal. Dort muss ich erst auf Soundkarte: default:1 umstellen und Headphone stumm wegmachen.
Nach einem Neustart wird dieser Wert (Headphone) wieder auf stumm gesetzt, wohingegen die Master Lautstärke gespeichert wird.
Hab vergeblich versucht mit alsactl store die Konfiguration zu speichern, was nicht das Problem zu sein scheint, denn die Master Lautstärke wird ja auch so nach einem Neustart übernommen.
Irgendwo gelesen dass PulseAudio dafür veranwortlich sein kann, jemand Ideen?
**Eckdaten im Alsamixer**
- Gerät: sof-essx8336
- Chip: Intel Geminilake HDMI
- /proc/asound/cards (Reihenfolge): 0 [Usb-Audio Camera] - 1 [sof-essx8336]
Nach einem Neustart wird dieser Wert (Headphone) wieder auf stumm gesetzt, wohingegen die Master Lautstärke gespeichert wird.
Hab vergeblich versucht mit alsactl store die Konfiguration zu speichern, was nicht das Problem zu sein scheint, denn die Master Lautstärke wird ja auch so nach einem Neustart übernommen.
Irgendwo gelesen dass PulseAudio dafür veranwortlich sein kann, jemand Ideen?
**Eckdaten im Alsamixer**
- Gerät: sof-essx8336
- Chip: Intel Geminilake HDMI
- /proc/asound/cards (Reihenfolge): 0 [Usb-Audio Camera] - 1 [sof-essx8336]
Zuletzt geändert von donny am 10.01.2024 23:43:35, insgesamt 3-mal geändert.
Ich habe gesprochen.
Re: Stumm nach Neustart
Pulseaudio ist also installiert?
(Das stellt die Schalter- und Reglerposition nach der eigenen Konfiguration und Vorstellung wieder her und zwar benutzerspezifisch. was erklärt wieso das Wiederherstellen der Regler von alsa nicht weiterhilft.)
Was ist denn in pavucontrol unter Konfiguration als Profil eingestellt?
(Das stellt die Schalter- und Reglerposition nach der eigenen Konfiguration und Vorstellung wieder her und zwar benutzerspezifisch. was erklärt wieso das Wiederherstellen der Regler von alsa nicht weiterhilft.)
Was ist denn in pavucontrol unter Konfiguration als Profil eingestellt?
Re: Stumm nach Neustart
Ja Pulseaudio war mit der Xfce Installation direkt mit drauf.smutbert hat geschrieben:07.01.2024 00:42:38Pulseaudio ist also installiert?
(Das stellt die Schalter- und Reglerposition nach der eigenen Konfiguration und Vorstellung wieder her und zwar benutzerspezifisch. was erklärt wieso das Wiederherstellen der Regler von alsa nicht weiterhilft.)
Was ist denn in pavucontrol unter Konfiguration als Profil eingestellt?
Pavucontrol Konfigurationsprofil: Stereo Ausgabe
Ich habe gesprochen.
Re: Stumm nach Neustart
Stehen unterschiedliche Profile für die eingebauten Lautsprecher, Kopfhörer, HDMI,... zur Wahl?
Ein Profil, das diesen Ausgang nicht stumm schaltet, wäre meiner Auffassung nach der beste Weg. Wenn es kein solches Profil gibt, dann liegt es allerdings eher am Kernel/Alsa.
Du brauchst jedenfalls mindestens Kernel 5.17 [2]. Also wäre es interessant welche Debian- und Kernelversion du installiert hast (für den Kernel einfach mit der Ausgabe von »uname -r« vergleichen). Zusätzlich sind Firmwaredateien (firmware-misc-nonfree)notwendig, abhängig von der Debianversion am besten aus den Backports.
(In [1] gibt es ein Skript um angepasste Firmwaredateien zu installieren, aber das ist bereits zwei Jahre alt und selbst wenn es aktueller wäre, würde ich es wenn überhaupt erst in Betracht ziehen wenn alle anderen Möglichkeiten ausgelotet sind.)
[1] https://github.com/gnickm/sof-essx8336-debian-fix
[2] https://ubuntuforums.org/showthread.php?t=2486443
Ein Profil, das diesen Ausgang nicht stumm schaltet, wäre meiner Auffassung nach der beste Weg. Wenn es kein solches Profil gibt, dann liegt es allerdings eher am Kernel/Alsa.
Du brauchst jedenfalls mindestens Kernel 5.17 [2]. Also wäre es interessant welche Debian- und Kernelversion du installiert hast (für den Kernel einfach mit der Ausgabe von »uname -r« vergleichen). Zusätzlich sind Firmwaredateien (firmware-misc-nonfree)notwendig, abhängig von der Debianversion am besten aus den Backports.
(In [1] gibt es ein Skript um angepasste Firmwaredateien zu installieren, aber das ist bereits zwei Jahre alt und selbst wenn es aktueller wäre, würde ich es wenn überhaupt erst in Betracht ziehen wenn alle anderen Möglichkeiten ausgelotet sind.)
[1] https://github.com/gnickm/sof-essx8336-debian-fix
[2] https://ubuntuforums.org/showthread.php?t=2486443
Re: Stumm nach Neustart
1. Stereo Ausgabe 2. Stereo Ausgabe/Eingabe 3. Stereo Eingabesmutbert hat geschrieben:07.01.2024 22:22:39Stehen unterschiedliche Profile für die eingebauten Lautsprecher, Kopfhörer, HDMI,... zur Wahl?
Code: Alles auswählen
x@geo:~$ uname -r
6.1.0-17-amd64
Der beste Ansatz, den ich bisher aufgeschnappt habe ist es, sich einen autoload script zu schreiben, der die Einstellungen bei Alsa nach jedem Bootvorgang wiederherstellt. Konnte ich noch nicht ausprobieren, weil ich noch nicht weiß wie das geht. Es ist zwar Symptombehandlung aber in diesem Fall erscheint es mir ausreichend effektiv, solange es keine offizielle Fehlerkorrektur gibt.
Ich habe gesprochen.
Re: Stumm nach Neustart
Bei einer geeigneten Lösung würde ich mich durchaus an gnickm orientieren, zumindest beim Pulseaudio-Teil: er baut nämlich soweit ich das überblicke Pulseaudio so um, dass es nur mehr bestimmte vordefinierte Audiogeräte verwendet. (So ziemlich dasselbe ist hier [1] als "PulseAudio as a minimal unintrusive dumb pipe to ALSA" beschrieben.)
Als erstes würde ich versuchen herauszufinden ob der Alsa-Teil des Workarounds mit dem laut schalten des Kopfhörerausgangs überhaupt notwendig ist oder ob Alsa nicht eh alles korrekt wiederherstellt (und das dann nur wieder von Pulseaudio stummgeschaltet wird).
Dazu würde ich mich auf einer der Textkonsolen als root anmelden und mit alsamixer nachsehen ob der Kopfhörerausgang stummgeschaltet ist. (Textkonsole und root, damit Pulseaudio nicht gestartet wird.)
Wenn er nicht stummgeschaltet ist, kann es mit dem Pulseaudioteil weitergehen, wenn doch braucht es auch schon für Alsa ein Skript.
[1] https://wiki.archlinux.org/title/PulseA ... pe_to_ALSA
Als erstes würde ich versuchen herauszufinden ob der Alsa-Teil des Workarounds mit dem laut schalten des Kopfhörerausgangs überhaupt notwendig ist oder ob Alsa nicht eh alles korrekt wiederherstellt (und das dann nur wieder von Pulseaudio stummgeschaltet wird).
Dazu würde ich mich auf einer der Textkonsolen als root anmelden und mit alsamixer nachsehen ob der Kopfhörerausgang stummgeschaltet ist. (Textkonsole und root, damit Pulseaudio nicht gestartet wird.)
Wenn er nicht stummgeschaltet ist, kann es mit dem Pulseaudioteil weitergehen, wenn doch braucht es auch schon für Alsa ein Skript.
[1] https://wiki.archlinux.org/title/PulseA ... pe_to_ALSA
Re: Stumm nach Neustart
Ich kann nur(!) über das Terminal die Stummschaltung im alsamixer ändern.smutbert hat geschrieben:08.01.2024 23:40:07Dazu würde ich mich auf einer der Textkonsolen als root anmelden und mit alsamixer nachsehen ob der Kopfhörerausgang stummgeschaltet ist.
Das workaround schaue ich mir am Wochenende an, wenn ich mehr Zeit hab, sieht aus als müsste man sich da erst reinfuchsen.
Ich habe gesprochen.
Re: Stumm nach Neustart
Ich nehme an, dass du meinst, dass es nur mit alsamixer klappt? Es müsste dementsprechend mit jedem Programm funktionieren, das direkt die Schalter und Regler von Alsa bedient, wie es neben alsamixer, z. B. auch qasmixer tut.
Was ich aber gemeint habe, ist dass bei einer Anmeldung als normaler Benutzer Pulseaudio automatisch gestartet wird, das den Kopfhörerausgang zweifellos wieder stumm schaltet. So lässt sich also nicht prüfen ob
Verlässlich anmelden ohne Pulseaudio zu starten geht also nur als root und das wiederum ist nur auf einer der Textkonsolen möglich.
Allerdings habe ich einen Teil von gnickms Workaround habe wohl falsch verstanden und glaube deshalb gar nicht mehr, dass es eine Rolle ob die Wiederherstellung der Reglerstellungen von Alsa korrekt funktioniert oder nicht.
Du könntest ja einfach einmal die Ausgabe von
posten und schreiben wie der Regler genau heißt, bei dem du die Stummschaltung entfernen musst. Dann könnten wir analog zum gnickm-Workaround ein Skript schreiben, das die Regler richtig stellt.
Wenn du das dann bei jedem Login automatisch nach dem Start von Pulseaudio ausführen lässt, sollte es eigentlich ja schon funktionieren (ich würde dann dazu eine systemd user unit schreiben, die nach pulseaudio gestartet wird, aber erst einmal muss das Skript von Hand gestartet funktinieren).
Der Pulseaudioteil des Workarounds könnte die Lösung dann etwas robuster machen, damit nicht ein ungeplanter Neustart von Pulseaudio oä den Ausgang wieder stummschaltet, aber das kann man sich ja ansehen wenn es soweit ist.
Was ich aber gemeint habe, ist dass bei einer Anmeldung als normaler Benutzer Pulseaudio automatisch gestartet wird, das den Kopfhörerausgang zweifellos wieder stumm schaltet. So lässt sich also nicht prüfen ob
Verlässlich anmelden ohne Pulseaudio zu starten geht also nur als root und das wiederum ist nur auf einer der Textkonsolen möglich.
Allerdings habe ich einen Teil von gnickms Workaround habe wohl falsch verstanden und glaube deshalb gar nicht mehr, dass es eine Rolle ob die Wiederherstellung der Reglerstellungen von Alsa korrekt funktioniert oder nicht.
Du könntest ja einfach einmal die Ausgabe von
Code: Alles auswählen
$ aplay -l
Wenn du das dann bei jedem Login automatisch nach dem Start von Pulseaudio ausführen lässt, sollte es eigentlich ja schon funktionieren (ich würde dann dazu eine systemd user unit schreiben, die nach pulseaudio gestartet wird, aber erst einmal muss das Skript von Hand gestartet funktinieren).
Der Pulseaudioteil des Workarounds könnte die Lösung dann etwas robuster machen, damit nicht ein ungeplanter Neustart von Pulseaudio oä den Ausgang wieder stummschaltet, aber das kann man sich ja ansehen wenn es soweit ist.
Re: Stumm nach Neustart
Code: Alles auswählen
root@geo:/home/x# aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Karte 1: sofessx8336 [sof-essx8336], Gerät 0: ES8336 (*) []
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: sofessx8336 [sof-essx8336], Gerät 5: HDMI 1 (*) []
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: sofessx8336 [sof-essx8336], Gerät 6: HDMI 2 (*) []
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: sofessx8336 [sof-essx8336], Gerät 7: HDMI 3 (*) []
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Um zum Regler zu gelangen muss ich zuerst die richtige Soundkarte im alsamixer auswählen "default:1 - sof-essx8336" und das Element heißt Headphone, ist direkt die erste Auswahl ganz links.
Ich habe gesprochen.
Re: Stumm nach Neustart
Dann versuch es einmal damit statt mit alsamixer
(ein Befehl wäre sogar kurz genug um ihn bequem direkt in eine systemd unit zu schreiben)
Code: Alles auswählen
amixer -D hw:sofessx8336 set Headphone unmute
Re: Stumm nach Neustart
smutbert hat geschrieben:09.01.2024 23:45:03Dann versuch es einmal damit statt mit alsamixer(ein Befehl wäre sogar kurz genug um ihn bequem direkt in eine systemd unit zu schreiben)Code: Alles auswählen
amixer -D hw:sofessx8336 set Headphone unmute
Code: Alles auswählen
x@geo:~$ amixer -D hw:sofessx8336 set Headphone unmute
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 3
Mono:
Front Left: Playback 0 [0%] [-48.00dB] [on]
Front Right: Playback 0 [0%] [-48.00dB] [on]
Ich habe gesprochen.
Re: Stumm nach Neustart
ok, also zusätzlich:
Wenn die beiden Befehle genügen, hätte ich für systemd user unit, z.B. mit einer »~/.config/systemd/user/soundworkaround.service« mit etwa diesem Inhalt angefangen
Anstatt die Befehle manuell auszuführen, könntest du dann zumindest einmal mit (alles als normaler Benutzer)
testen und falls es funktioniert den Dienst mit
aktivieren, damit er nicht mehr händisch gestartet werden muss.
Ob das After=pulseaudio.service genügt, damit die Befehle erst ausgeführt werden, nachdem Pulseaudio mit dem Start fertig ist, wird sich dann noch herausstellen müssen.
Code: Alles auswählen
amixer -D hw:sofessx8336 set Headphone 100%
Code: Alles auswählen
[Unit]
Description=sound workaround
After=pulseaudio.service
[Service]
Type=oneshot
ExecStart=sh -c 'amixer -D hw:sofessx8336 set Headphone unmute ; amixer -D hw:sofessx8336 set Headphone 100%'
[Install]
WantedBy=default.target
Code: Alles auswählen
$ systemctl --user daemon-reload
$ systemctl --user start soundworkaround.service
Code: Alles auswählen
$ systemctl --user enable soundworkaround.service
Ob das After=pulseaudio.service genügt, damit die Befehle erst ausgeführt werden, nachdem Pulseaudio mit dem Start fertig ist, wird sich dann noch herausstellen müssen.
Re: [Gelöst] Stumm nach Neustart
Hat alles funktioniert wie es soll, danke, dass du dir die Zeit genommen hast smurtbert!
Falls das jemand mit dem gleichen Problem nachträglich durchliest, die autostart Datei habe ich mit nano angelegt:
Falls das jemand mit dem gleichen Problem nachträglich durchliest, die autostart Datei habe ich mit nano angelegt:
Code: Alles auswählen
nano etc/systemd/user/soundworkaround.service
Ich habe gesprochen.