Neues aus der Linuxwerkstatt: Pipewire verantwortlich?

An manchen Tagen komme ich mir vor, als wenn ich eine Linuxwerkstatt hätte, statt einen PC mit einer Stableversion von Fedora. Da bin ich öfters im Redhat Bugtracker als auf meiner eigenen Webseite.

Neues aus der Linuxwerkstatt: Pipewire verantwortlich?

Der.. nein, sagen wir lieber „ein“ aktueller Fall in der Werkstatt ist das Unvermögen von Firefox Netflix über Wochen sauber abzuspielen ohne Probleme auf die oder andere Art zu produzieren.

Was war geschehen?

Am 2. Mai hatte Firefox beschlossen, daß ich zwar von Netflix den Ton hören dürfte, aber das Video wäre jetzt Privatsache vom Videodecoder. Die Bilder stockten also, insgesamt war alles im Firefox zäh wie Sirup. Die Probleme mit Netflix dauerten auch bis in den nächsten Tag an, wobei auch Webseiten sirupartig waren. Auf einem Ryzen 5600 mit RTX 4060 ist das eher kein Hardwareproblem.

Der Verdacht lag nahe, daß Firefox statt die GPU zu verwenden beschlossen hatte die CPU die ganzen bunten Dinge berechnen zu lassen, was zu immensen Performanceproblemen führen würde. Nach ein paar Stunden des selben Tages gab sich das Problem, was aber nicht an Firefox lag wie sich rausstellte.

Da es ein gstreamer Update gab, daß zeitlich korrelierte, habe ich mal ein Ticket im Bugzilla von Redhat aufgemacht, prompt hat sich da ein anderer User gemeldet, der ähnliche Probleme mit Firefoxplayback auf einer AMD RT 6800 hatte.

Die Zeit vergeht… alle sind ratlos

Die zeit vergeht, alle sind ratlos, dann schlägt das Schicksal erneut gnadenlos zu: Letzte Nacht stoppt Netflix mit dem gleichen Problem während ich ein Video mit OpenShot geschnitten habe. Also erstmal Firefox neugestartet, aber das half nichts. Dann gesagt: „nicht so wichtig“ und mich ums Video gekümmert. Das habe ich mir mit Celluloid ansehen wollen und was muß ich feststellen? Kein Videoplayback, nur Ton. „Oh oh“

Nichts geht mehr

Celluloid, MPV, Totem produzierten ALLE das gleiche Muster, nicht mal die Fortschritte auf den Zeitskalen wurden durchgezählt, die Videos zeigten nur das erste Bild vom Video was üblicherweise Schwarz ist, so daß man das nciht direkt merkt. Zum Glück hatte ich ein anderes Video das direkt ein Bild da hatte. Skippe man im Video rum, kamen auch anderen Standbilder raus.

Um Kernelprobleme auszuschließen habe ich rebooted, aber das half rein gar nichts. Alle Videoplayer zeigten das gleiche Bild ( sprichwörtlich ) … „wirklich alle?“ Nein, ein kleiner, oft völlig unbedachter Videoplayer trotzte dem Problem und spielte weiterhin alle Videos perfekt ab. Und an dem Punkt geht einem ein Licht auf.

Der Player war FFPLAY from FFMPEG Paket. Das heißt, alle anderen Videoplayer und Firefox müssen etwas gemeinsam haben: Pulseaudioplayback.

Der Workaround

Ums Kurz zu machen: sobald jemand via Pulseaudio auf das den HDMI Ausgang meiner Nvidiakarte wollte, stockte das Video, aber der Ton ging sauber durch, was  völlig GAGA ist, weil das kein bisschen was mit Grafiken zu tun hat.

Ich denke folgendes ist passiert: Pipewire läuft ja unter der Haube von Pulse und ist für Video und Audio zuständig. Das hat ein Problem mit dem HDMI Device gehabt. Das muß aber in der User-Config persistent gespeichert sein, also quasi blanker Unsinn im State File oder so etwas in der Art, weil es ja rebootfest war und das geht nur, wenn sich jemand den „Zustand“ von dem Device irgendwo auf der Platte merkt!

Ich habe dann einfach mal das Device via PulseAudio-Lautstärkeregler abgeschaltet, so daß alle Audiostreams über das Mainboard liefen und was soll ich sagen : 100% alle Probleme verschwunden. Alle Player funktionierten wieder 1a.

Nach dem das Ausgabegerät wieder auf dem selben Weg eingeschaltet wurde, liefen die Player auch mit dem HDMI Gerät wieder einwandfrei.

Im Bugtracker wird fleißig am Problem gearbeitet, sollte also bald gefixt sein.

Fedora 38 / Firefox 124.0.1 : hier ist der Fix

Der Firefox 124.0.1 Build mit dem Patch gegen die Javascript Lücke für Fedora 38 ist leider für PPC64 schief gelaufen und daher als „failed“ markiert, was technisch stimmt, aber eben nur für PPC64 ( PowerPC Plattform ).

Fedora 38 / Firefox 124.0.1 : hier ist der Fix

„normale“ Fedora 38 User können also nicht auf eine neue Version hoffen? Doch Ihr könnt:

Klickt mal hierhin:

https://koji.fedoraproject.org/koji/taskinfo?taskID=115309290

Ihr seht dann diese Liste mit Links:

Eine Liste mit Links

Da schnappen wir uns die beiden benötigten Pakete und updaten das direkt mit dnf. Das dies auch funktioniert, beweißt dieser Post, ich habe nämlich schon 124.0.1 für Fedora 38 😉

$ sudo dnf update https://kojipkgs.fedoraproject.org//work/tasks/9290/115309290/firefox-124.0.1-1.fc38.x86_64.rpm https://kojipkgs.fedoraproject.org//work/tasks/9290/115309290/firefox-langpacks-124.0.1-1.fc38.x86_64.rpm

Und nun habt Ihr den Fix auch auf dem PC.

Warum ist das nötig?

Ihr dürft raten.. ein defekter Build kommt natürlich nicht ins Stable, auch wenn Teile kritisch sind und funktionieren. Außerdem hängt Martin zur Zeit nicht ganz so dahinter, wie das Firefox und Fedora derzeit bräuchten. Ich habe ihm direkt angeboten, bei FF zu helfen, damit in Situationen wie diesen, schneller reagiert werden kann. Ich brauche Firefox ja schliesslich selbst jeden Tag für meine Arbeit.

Nächste kritische Sicherheitslücke in Firefox 124.0

Einmal alle auf Firefox 124.0.1 updaten..

https://www.mozilla.org/en-US/security/advisories/mfsa2024-15/

CVE-2024-29944: Privileged JavaScript Execution via Event Handlers

Reporter Manfred Paul via Trend Micro’s Zero Day Initiative
Impact critical
Description

An attacker was able to inject an event handler into a privileged object that would allow arbitrary JavaScript execution in the parent process. Note: This vulnerability affects Desktop Firefox only, it does not affect mobile versions of Firefox.

Die Lücke ist OS unabhängig.