Firefox Snap soll schneller starten

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 7 Kommentare

Canonical arbeitet am Kaltstart-Verhalten des Snap-Paket des Webbrowsers.

firefox snap soll schneller starten

Seit Ubuntu 22.04 LTS wird der Webbrowser Firefox als Snap-Paket ausgeliefert. Dadurch dauert der Erststart der Anwendung länger als üblich. In einem Blog-Post erläutert Canonical Mitarbeiter Oliver Smith nun, warum das so ist und welche Pläne es gibt, dieses Startverhalten zu beschleunigen.

Smith nennt drei Gründe, warum man sich für das Snap-Format bei Firefox entschieden hat:

Es verbessert die Sicherheit, bietet versionsübergreifende Kompatibilität und verkürzt die Zeit, bis Verbesserungen von Mozilla in die Hände der Nutzer gelangen.

Derzeit hat diese Entscheidung Nachteile, wenn es um die Leistung geht, vor allem beim ersten Start von Firefox nach einem Systemneustart. Ein Teil davon ist auf die inhärente Natur von Sandboxing zurückzuführen. Bei Canonical ist man der Meinung, dass es noch erhebliche Möglichkeiten gibt, die Startzeiten zu verbessern.

Bei den Startzeiten muss man zwischen Kaltstart nach Neuinstallation, Kaltstart und Warmstart unterscheiden. Bei einem Kaltstart ist Firefox vollständig eingerichtet, lediglich die Bibliotheken wurden noch nicht geladen. Diese Situation findet man unmittelbar nach dem Hochfahren des Rechners vor. Auf mittlerer Hardware (Thinkpad X240) misst Canonical dabei eine Zeit von 15 Sekunden. So lange möchte niemand warten.

In seinem Beitrag identifiziert Smith vier Hauptbereiche, die für die Startzeit verantwortlich sind und damit Potenzial für Verbesserungen bieten:

Das Snap-Paket wird in ein komprimiertes Squashfs gepackt, was auf ressourcenbeschränkten Systemen wie dem Raspberry Pi einen Engpass darstellen kann. Für Firefox, der während des Starts ziemlich viel I/O benötigt, erzeugt dies einen spürbaren Overhead, wenn er nach Dateien im Squashfs sucht. Canonical möchte untersuchen, wie die Reihenfolge der Inhalte im Squashfs verbessert werden kann, um die Suchzeiten zu verkürzen.

Beim Testen auf einem Raspberry Pi wurde festgestellt, dass der aktuelle Firefox-Snap nicht feststellen kann, welchen GPU-Treiber er in seinem glxtest-Programm verwenden soll. Dies führt dazu, dass Firefox mit dem Software-Renderer startet, was einen erheblichen Overhead bei der Shader-Kompilierung bedeutet. Dies wurde auch auf AMD-GPUs beobachtet.

Firefox erstellt eine Kopie aller Erweiterungen, die mit dem Firefox-Paket gebündelt sind, in ein benutzerspezifisches Verzeichnis beim ersten Start für jeden Benutzer. Dies geschieht, indem man jede Erweiterung durchgeht und Block für Block kopiert. Das Snap bündelt 98 Sprachpakete, die eine ganze Weile brauchen, um in das Benutzerverzeichnis kopiert zu werden. Vor allem, weil die Sprachpakete aus einem komprimierten Squashfs-Image gelesen werden.

Wenn Firefox confined ist, wird viel Zeit damit verbracht, alle möglichen Icon-Themen, Schriftkonfigurationen und verfügbaren Schriftarten zu entdecken. Dies ist nicht der Fall, wenn Firefox ohne Confinement läuft und stattdessen einfach das lädt, was er braucht.

Diese vier Probleme sind die derzeitigen Schwerpunkte, auf die Canonicals Bestrebungen abzielen, um den Kaltstart von Firefox zu beschleunigen.

Quelle: https://ubuntu.com/blog/how-are-we-improving-firefox-snap-performance-part-1

Tags

Canonical, Firefox, Snap, Geschwindigkeit, dies, Kaltstart, Squashfs, Smith

Charon
Geschrieben von Charon am 27. Mai 2022 um 20:32

Bei allem Respekt, Snaps sind mittlerweile wie die Repos universe und multiverse. Total schlecht gepflegt und das soll sicher sein? Ja klar^^

Ralph
Geschrieben von Ralph am 29. Mai 2022 um 16:12

Welche Snaps sind denn schlecht gepflegt? Ich frage aus reiner Neugier und nutze kein Ubuntu. Aber gerade u.a. die Snaps werden ja immer als der Ausweg genannt, will man eine LTS-Distri nutzen und dennoch, zumindest zum Teil, aktuelle Software haben. Wenn dann auch noch die Snaps schlecht gepflegt wären, wäre das ja ein Armutszeugnis!

Charon
Geschrieben von Charon am 30. Mai 2022 um 08:54

Thunderbird hat immer noch nicht den aktuellen Patch erhalten. 91.9.1. der ist sehr wichtig. Debian und co haben dies schon vor einer Woche.

DF
Geschrieben von DF am 28. Mai 2022 um 12:32

Mich konnte Firefox snap auch nicht überzeugen, bei aller Liebe zu neuen Ideen.

mgm
Geschrieben von mgm am 30. Mai 2022 um 05:27

warum sollten die Snaps oder Flatpaks schlechter gepflegt sein? Erstens sind sie durch das Sandboxing eigentlich die sicherere Alternative. Zweitens werden so es den Entwickler nicht mehr interessiert auch alle anderen Quellen nicht mehr bedient. Das ist auch der Grund warum mit Silverblue vor allem OOB für Arbeitsplatzrechner eine ideale Basis geschaffen wurde. hier laufen die Nettops durchgehend und ein Neustart von wie im Beispiel Firefox kommt genau ein mal vor und danach läuft die Kiste. LG

Charon
Geschrieben von Charon am 30. Mai 2022 um 08:55

Sandboxing ist bei weitem nicht so sicher wie ne vm zum Beispiel. Und auch da kommt man raus.

mgm
Geschrieben von mgm am 30. Mai 2022 um 17:12

Und weiter?... Mir kann auch Auto ans Knie fahren. Mozilla Thunderbird ist aktuell in Flatpak und Snap weil sich gerade in diesen Containern die Entwickler viel leichter und viel schneller darum kümmern. da sie dies aktuell und vor allem überall funktionierend veröffentlichen können. Das gepaart mit dem Update resp. Upgradezwang seitens der verwendeten Technologie von Snaps oder Flatpak ist an sich schon ein Sicherheitsgewinn. Die Diskussion hat einen Bart mit drei Themen Canonicals Server, Speicherverbrauch und Startzeiten und schon drehen alle am Rad. Sorry LG