Audio knistert, Audio "distortion" unter Tumbleweed und Leap 15.5

Moin moin,

bin gerade beim Troubleshooting und möchte mit diesem Post über den bisherigen Verlauf berichten. Ich habe openSUSE TW vor einigen Wochen installiert, nachdem meine Ubuntu Installation nach einer automatischen Aktualisierung des Nvidia-Treibers zestört worden ist, und weil Ubuntu zuletzt ohne Wissen des Users Kernel von Oracle installiert und den standardmäßig installierten Ubuntu Kernel damit ersetzt hat. Kaum mit dem unten genannten PC zurück bei Suse = spontane Probleme mit dem Audio (letztes Jahr keinerlei Problem unter Tumbleweed und dem gleichen PC gehabt). Nebenher angemerkt: Mit Ubuntu 22.04 LTS sowie Debian 12 habe ich keine Probleme mit dem Audio.

Hardware: Dell Optiplex 7050 MT mit i7 7700 und Nvidia RTX A2000, keine externe Soundkarte, verwende den onboard Intel HDA Chipsatz, Lautsprecher via 3.5mm Klinke angeschlossen

Software: Anfänglich openSUSE Tumbleweed (Snapshot Stand 01. Sept. 2023), jetzt aktuell wieder auf Leap 15.5 (Updates Stand 03. Sept. 2023), in allen Fällen mit Gnome DE

Kernel, Datum oben:

  • Tumbleweed: 6.4.11
  • Leap: 5.14.21-150500.55.19-default #1 SMP PREEMPT_DYNAMIC

Problem: zufälliges Knacksen, Knistern und lautes Kratzen bei der Audiowiedergabe sowohl in Tumbleweed als auch in Leap 15.5. Manchmal etwas lauter, manchmal etwas leiser, manchmal sehr oft hintereinander, manchmal eine Weile keine Probleme. Feststellt nachdem ich einige Spielevideos für Youtube aufgenommen und hochgeladen habe.

Verwandte Themen:

Anwendungsszenario:

  • Firefox Youtube
  • Zocken via Steam Flatpak
  • Videoaufnahme für meinen YT-Kanal via OBS und Steam Flatpak
  • Videos via VLC
  • Mit anderen Worten: Problem kommt überall vor

Tumbleweed mit Kernel 6.4+ bzw. 6.4.9.1, 6.4.11 könnte von dieser Regression betroffen sein (?):

Leap mit dem oben genannten Kernel 5.14.21:

  • aktuell unklar welche Backports hier eingeflossen sind und ob eventuell die oben genannte Regression mit dieser Version des Kernels eine Rolle spielt
  • Gleiches Problem wie unter TW

Lösungsversuche:

Opensuse Portal:

"A possible fix to choppy / skipping sound

The PulseAudio sound server was written to use timer-based audio scheduling instead of the traditional interrupt-driven approach. This is the approach that is taken by other systems such as Apples CoreAudio and the Windows Vista audio subsystem and has a number of advantages, not the least in reduced power consumption, minimization of drop-outs and flexible adjustment of the latency to the needs of the application. However, timer-based scheduling may expose issues in some Alsa drivers. To turn timer-based scheduling off, replace the line load-module module-hal-detect in /etc/pulse/default.pa by load-module module-hal-detect tsched=0 Alternatively, in cases where udev is used instead of hal, try replacing the line load-module module-udev-detect in /etc/pulse/default.pa by (or adding if that line not present) load-module module-udev-detect tsched=0

In other cases, choppy sound in pulsaudio can result from wrong settings for the sample rate in /etc/pulse/daemon.conf . Try changing the line default-sample-rate = 44100 in /etc/pulse/daemon.conf by default-sample-rate = 48000 and restart the PulseAudio server."

Arch Wiki:

"Audio quality
Troubleshooting buffer underruns (glitches, skips, crackling)

The newer implementation of the PulseAudio sound server uses timer-based audio scheduling instead of the traditional, interrupt-driven approach.

Timer-based scheduling may expose issues in some ALSA drivers. On the other hand, other drivers might have a tendency to experience buffer underruns without it on, so check to see what works on your system.
Note: Audio interfaces read from a small ring buffer of samples. This allows the interface to continuously play sound on its own while the kernel occasionally adds samples to the buffer. If the kernel doesn’t add samples fast enough and the buffer is exhausted, the interface will not have anything to play. At this point, the interface improvises audio, which will sound different between makes and models. This is called a “buffer underrun,” and is often labeled as “glitching,” “skipping,” “crackling,” or even “static” or “distortion.”

Stand 03. Sept. 2023:

  • Oben genannte Empfehlung ausprobiert
  • Status aktuell unklar, muss noch mehr testen und werde zeitnahe über Erfolg oder Misserfolg berichten
  • Bisher scheint alles ok zu sein → work in progress!

Was ich zuletzt getan habe (falls andere hilfesuchende Leute zu diesem Beitrag gelangen):

  • In der Verzweiflung Tumbleweed mit Leap 15.5 ersetzt (frische Installation in beiden Fällen)
  • Terminal geöffnet und folgendes eingegeben: gnomesu gedit
  • mit Passwort bestätigt
  • mittels Gedit auf der Hauptplatte wo Suse installiert ist (Rechner) in die Unterordner /etc/pulse/ navigiert
  • Datei namens “default.pa” mit dem Texteditor geöffnet
  • Zeile wie oben in der Wiki wie folgt ergänzt und gespeichert: load-module module-udev-detect tsched=0
  • PC neugestartet

Nebenher: Hatte keine Zeit das Problem via TW zu analysieren, habe mich also für die Neuinstallation mit Leap entschieden. Habe nicht damit gerechnet, dass ich unter Leap ähnliche Probleme haben würde, daher zähneknirschend untersucht. Bis hierher bin ich jetzt gekommen. WIP.

Cheers

Update: Ok, passiert scheinbar weiterhin. Firefox → Youtube Video → pausieren, fast forward und zurückspulen = Sound knistert und knarzt dabei hörbar. Als nächstes teste ich wieder einige Spiele und lausche.

Hi,
du könntest es mit pipewire statt pulseaudio versuchen:
https://en.opensuse.org/openSUSE:Pipewire

1 Like

Grüße 404,

habe es mir eben durchgelesen und wie vorgeschlagen angewendet:

  • Änderung an default.pa zunächst rückgängig gemacht
  • reboot PC
  • sudo zypper in pipewire-pulseaudio
  • daraufhin die Warnung bzgl. Paketkonflikt wie in der Wiki beschrieben mit “1” bestätigt (Pulseaudio entfernen und Pipewire installieren)
  • reboot PC
  • pipewire-pulse ist jetzt auch installiert und aktiviert, war vorher nicht bei Leap vorhanden, wird aber auch in der Wiki erwähnt
  • Pipewire war schon vorher bei Leap installiert, aber laut Wiki nicht als Audio-Engine verfügbar, sollte jetzt also auch als Audio-Engine funktionieren

Teste jetzt weiterhin und berichte. Danke für die zügige Antwort! Btw, bei der letzten Tumbleweed Installation war Pipewire und auch pipewire-pulse bereits vorinstalliert, wenn ich mich richtig entsinne.

1 Like

Bei mir ist auf Tumbleweed mit Gnome pipewire der default. Ich weiß allerdings nicht ob das bei allen DEs auf Tumbleweed so ist.

1 Like

Hallöchen nochmal 404,

ich teste seit gestern fast non-stop und kann bisher nichts negatives berichten. Es könnte also durchaus sein, dass der von dir vorgeschlagene Lösungsweg tatsächlich funktioniert hat! Ich teste heute nochmal bis morgen und berichte dann noch ein letztes Mal, wenn alles gut geht. ← Das betrifft nur Leap natürlich. Ich habe es mittels separater Platte nochmals via Tumbleweed probiert, aber da war keine Verbesserung zu hören (Pipewire und Pipewire-Pulse beides in TW standardmäßig vorhanden). Ich gehe davon aus, dass man bei TW auf den neuen Kernel inkl. Fix warten muss. Ich bin aber auch mit Leap sehr zufrieden, würde auch dabei bleiben, wenn wir das Problem mit deinem Vorschlag beseitigen können.

Gott sei Dank gibt es noch Leap (wobei mir MicroOS auch schon durch den Kopf ging).

Bis morgen nochmal!

1 Like

Hallo nochmal 404,

also bisher läuft es weiterhin wie geschmiert. Super! Ich glaube damit ist das Thema dann wohl vom Tisch :slight_smile: Dank dir vielmals für die schnelle und einwandfreie Hilfe - hast mir damit viel Arbeit erspart.

Ich bleibe jetzt bei Leap, aber nur aus reiner Neugier: Was hätte man denn unter Tumbleweed machen können, wenn der “Fehler” im Kernel liegt (außer auf neuen Kernel mit Backport warten)? Kernel und Snapshot auf einen früheren Standpunkt zurücksetzen? Wenn ja, welche Vorgehensweise wird in beiden Fällen empfohlen, um weiterhin ein stabiles System mit Tumbleweed haben zu können?

1 Like

Hi und danke für die Rückmeldung,

schwierig zu sagen. Wenn es wirklich ein kernel level Problem wäre/ist bei Tumbleweed in Kombination mit deiner Soundkarte wird es problematisch, weil es meines Wissens für ALSA keine richtige Alternative gibt.

Man hätte jetzt versuchen können noch mal zwischen pulseaudio und pipewire zu wechseln unter Tumbleweed. Ansonsten gibt es bestimmt noch ein paar Möglichkeiten an ALSA was rumzukonfigurieren, aber das dürfte ein längerer Prozess werden, der wahrscheinlich auch mehr Expertise benötigt als ich sie habe. (Ohne Gewähr)

Schön, dass es mit Leap jetzt läuft.

1 Like

Super erklärt, dank dir! Hast was gut bei mir :+1: Dir noch einen schönen Abend.

PS: Leap ist toll. Eine aktuellere Version von Gnome mit den Triple Buffering Patches von Ubuntu wäre zwar noch schöner, aber es funktioniert und damit bin ich happy. Gnome 45 hat die Patches noch nicht inkludiert, aber vielleicht klappt es ja mit Gnome 46.

Die Soundwiedergabe ist eine Anwendung mit Echtzeitanforderungen. Kontrollieren, ob PulseAudio und PipeWire als Echtzeitanwendungen mit Realtime-Priorität ausgeführt werden:

# ps -x -o comm,nice,pri,rtprio |grep -i 30
pulseaudio      -11  30      -
pipewire        -11  30      -
wireplumber     -11  30      -

Wenn nein, Anweisungen unter:

befolgen.

Wenn auf diesem Linuxrechner häufiger Musikanwendungen (zum Beispiel: Musik abmischen) ausgeführt werden, sollte ein Echtzeit-fähiger Linux-Kernel (Preempt-rt patches => kernel-rt) eingesetzt werden. Siehe dazu meine beiden Beiträge unter:

nachdem meine Ubuntu Installation nach einer automatischen Aktualisierung des Nvidia-Treibers zestört worden ist

Auch bei openSUSE Leap werden (leider) mangelhafte Softwareupdates veröffentlicht. Aktuell macht gerade Patch 2023-3419 Evolution-Benutzer:innen arg Ärger. Siehe dazu:

Besonders heikel sind alle Updates vom Linux-Kernel!

Deshalb sollte das (open-)SUSE-System sorgfältig und ausschliesslich mit den Befehlen:

  • zypper list-patches
  • zypper list-patches --category=security
  • zypper patch-info <Name des Patches>
  • zypper install -t patch <Name des Patches>

aktualisiert werden. Siehe dazu:

Komfortabler geht das Patch-Management mit you. Ist ein Patch mangelhaft, wird er einfach deinstalliert. Für eine Deinstallationsanleitung siehe:

Es lohnt sich, regelmässig einen Blick in den englischsprachigen Teil von diesem Forum zu werfen, um rechtzeitig über mangelhafte Softwareupdates informiert zu sein.

Wieder abstruse Behauptungen und Fehlinformationen.
Tumbleweed wird mit zypper dup und Leap wird mit zypper up aktualisiert.

Außerdem geht es in diesem Thread nicht darum wie man openSUSE updated. Bitte keine Threads hijacken!