Haiku macht grossen Sprung auf Beta 3

Mo, 2. August 2021, Niklas

Nach etwas mehr als einem Jahr hat das Haiku Projekt kürzlich eine neue Version seines quelloffenen Betriebssystems veröffentlicht, das die Bedienoberfläche des proprietären und nicht mehr weiterentwickelten BeOS nachbaut, aber inzwischen wesentlich mehr Funktionen bietet, als es BeOS damals tat.

Haiku, was wir vor einigen Monaten ausführlich vorgestellt haben, hat unter anderem seinen mitgelieferten Browser auf Basis von Apples WebKit Engine erheblich modernisiert. Dieser nutzt jetzt eine neuere WebKit Version und unterstützt damit neuere Webstandards und kann mehr moderne Webseiten ordnungsgemäss anzeigen. Des Weiteren wurde die Hardwareunterstützung von Haiku verbessert.

Für WLAN nutzt Haiku eine Kompatibilitätsschicht zu FreeBSD und die FreeBSD Treiber. Diese wurden mit Beta 3 auf die neueste FreeBSD Version 13 aktualisiert, wodurch Haiku Unterstützung für zusätzliche WLAN Karten bekommt. Weitere wichtige Treiberverbesserungen wurden für Grafikkarten erzielt. Nvidia GeForce 6200 bis GeForce Go 6400 erreichen jetzt eine bessere Performance.

Erstmals werden mit dieser Version auch SD-Karten- und MMC-Karten-Slots am PCI Anschluss (SDHCI) unterstützt. Die Performance von NVMe Speichergeräten und ramfs wurde verbessert. Ausserdem wurden die Treiber für USB 3 und einige Audiogeräte optimiert.

Ausserdem neu dazugekommen ist eine tschechische Übersetzung für das Betriebssystem selbst und alle vorinstallierten Programme. Damit unterstützt Haiku nun insgesamt 28 verschiedene Sprachen.

Wer Haiku nicht zum ersten Mal ausprobiert, wird Verbesserungen schon beim Installationsprozess feststellen. Durch Änderungen am DriveSetup Programm, das die Festplatte partitioniert, arbeitet dieses jetzt zuverlässiger und ist einfacher zu bedienen. Wenn man bereits das Installationsprogramm gestartet hat und dann doch entscheidet, Haiku zuerst als live System auszuprobieren, gibt es jetzt ausserdem die neue Möglichkeit, zum ersten Auswahlbildschirm zurückzukehren.

Weiterhin kann das Installationsmedium jetzt genutzt werden, um eine bestehende Haiku Installation zurückzusetzen. Dabei werden alle installierten Programme und Updates gelöscht, das System kehrt in den Zustand einer neuen Installation zurück, Dateien und Einstellungen im Home Verzeichnis des Nutzers bleiben dabei jedoch erhalten.

Beim Paketmanager wurde der Umgang mit Netzwerkproblemen verbessert. Wenn ein Download abgebrochen wird, kann dieser später fortgesetzt werden und muss nicht mehr von Neuem begonnen werden. Ausserdem können Programme bei der Deinstallation jetzt ein Script ausführen. Die Programmiersprache Python wird jetzt in Version 3.7 mitgeliefert, früher war Version 2 Standard.

Neben der neueren WebKit Version wurden beim WebPositive Browser noch weitere Dinge optimiert. So sendet er jetzt ein Accept-Language Header, mit dem mehrsprachige Webseiten die Seite in der richtigen Sprache ausliefern können. Des Weiteren kann ein dunkles Design für Webseiten angefordert werden, wenn eine entsprechende Einstellung gesetzt wird (Achtung: Diese Funktion ist allgemein relativ neu und wird nicht von allen Webseiten unterstützt).

Der Kontextmenü-Eintrag "Das Internet durchsuchen" funktioniert jetzt wieder und man kann seine bevorzugte Suchmaschine einfach aus einer Liste von bekannten Suchmaschinen auswählen. Ausserdem gibt es jetzt Suchmaschinenkürzel, so kann man beispielsweise mit "w Suchbegriff" Wikipedia nach Suchbegriff durchsuchen.

Es gibt jetzt eine neue Version der net services API, die für das Aufrufen von http und gopher Inhalten in Programmen zuständig ist. Sie wurde in eine statische Bibliothek umgewandelt, wodurch Änderungen möglich werden, ohne Programme, die sie nutzen, neu kompilieren zu müssen. Die alte API kann vorerst noch genutzt werden, aber es gibt Andeutungen, dass sie schon mit Beta 4 entfernt werden könnte.

Im app_server, der für die Anzeige von grafischen Programmen verantwortlich ist, wurden Probleme bezüglich flackernden Bildern behoben und das Speichermanagement überarbeitet, um memory corruption Fehler zu vermeiden. Das Fallbacksystem für Schriften wurde repariert und mit Noto Sans Symbols 2 eine neue Schrift hinzugefügt. Ausserdem werden mehr zusammengesetzte Zeichnungsvorgänge unterstützt, welche im Webbrowser für das Javascript Canvas benötigt werden.

Die Performance des Systems wurde ebenfalls an einigen Stellen verbessert. Bei TCP Verbindungen wird jetzt selective ACK (SACK) unterstützt, damit nur verloren gegangene Pakete neu angefordert werden müssen. Das verbessert die Performance in Netzwerken mit hohem Paketverlust. Beim MediaPlayer wurde das Caching verbessert, um Videos in 4K Auflösung abspielen zu können.

Das cpufreq Management wurde auch verbessert. create_area wurde optimiert, um nicht mehr den O(n^2^) Algorithmus zu benutzen. Bei BMenuItem::RemoveItem wurde von O(n) auf O(1) umgestellt.

Auch an der Unterstützung für verschiedene Dateisysteme wurde gearbeitet. Der Treiber für das XFS Dateisystem wurde optimiert, beim Treiber für das NFS Dateisystem wurde ein Kernel Panic behoben und es wurde Unterstützung für Sun VTOC Partitionstabellen eingeführt.

Die Kompatibilität zu BeOS wird weiterhin gepflegt und verbessert. Hier gibt es jetzt einen BeControlLook, der die Steuerungselemente (Buttons, Textfelder, etc.) von BeOS R5 nachbaut. Des Weiteren wurde B_OUTLINE_RESIZE implementiert, womit verhindert werden kann, dass Fenster während dem Verändern der Grösse immer wieder neu gezeichnet werden. Ausserdem gibt es jetzt kein Deadlock mehr, wenn Programme das Locale Kit und das Translation Kit gleichzeitig verwenden.

Folgende Verbesserungen wurden am User Interface vorgenommen:

  • BTextView unterstützt jetzt zentrierten und rechtsbündigen Text
  • BTextControl wurde optimiert, um Cursorbewegungen besser zu verarbeiten
  • Verbesserte Unterstützung für dunkle Color Schemes
  • Integration von PadBlocker in den Input Einstellungen (Touchpad deaktivieren, während die Tastatur benutzt wird)
  • Scrollbars passend zur Schriftgrösse skalieren
  • Einige Anpassungen zur verbesserten Nutzung von Übersetzungen
  • Unterstützung für CPUs mit mehr als 8 Kernen in den Graphen im ProcessController
  • Anzeige des Logos des CPU Herstellers in Pulse
  • Verschiedene Stabilitätsverbesserungen und Kompatibilitätsverbesserungen im MediaPlayer
  • Das Programm Icon im Herunterfahren Dialog wird jetzt animiert, wenn sich ein Programm lange nicht schliesst

Folgende Verbesserungen wurden an der POSIX-Konformität vorgenommen:

  • mlock und munlock wurden hinzugefügt
  • Ein Limit für die Anzahl der dead joinable threads wurde entfernt
  • Die Interaktion von pselect mit Signalen wurde repariert
  • Der Rückgabewert von fsync wurde behoben, wenn es in fifo pipes aufgerufen wird
  • asprintf wurde nach libbsd verschoben, weil es keine standard POSIX Funktion ist
  • exp10, exp10f und exp10l wurden zu math.h hinzugefügt (nur in {{{_GNU_SOURCE}}})
  • Das Verhalten von write() im O_APPEND Modus wurde behoben
  • posix_fallocate wurde implementiert
  • ut_host wurde zu utmpx.h hinzugefügt
  • ppoll() wurde hinzugefügt
  • Eine fehlende Escape Sequenz zum Einfügen von wiederholten Buchstaben im Terminal wurde hinzugefügt

Aufgrund der vielen grossen Verbesserungen in der neuesten Haiku Version empfehle ich, schnell auf die neue Version zu aktualisieren. Bei bestehenden Installationen funktioniert das mit folgenden Befehlen:

pkgman add-repo https://eu.hpkg.haiku-os.org/haiku/r1beta3/$(getarch)/current
pkgman add-repo https://eu.hpkg.haiku-os.org/haikuports/master/$(getarch)/current

Anschliessend kann man alle Aktualisierungen über den SoftwareUpdater herunterladen und installieren. Nach einem Neustart des Computers hat man auch schon ein funktionierendes Haiku Beta 3 System.

Wer Haiku neu installieren möchte, kann das ISO kostenlos herunterladen und auf eine DVD-ROM oder einen USB-Stick schreiben:

32Bit x86 | 64Bit x86_64

Achtung: Nur die 32Bit Version kann auch originale alte BeOS Software ausführen, jedoch sind 32Bit Systeme immer auf 4 GB Arbeitsspeicher beschränkt. Da BeOS Software heute kaum noch eine Rolle spielt, ist in den meisten Fällen die 64Bit Version zu bevorzugen.

Ein Testbericht, wie gut Haiku Beta 3 im Alltag funktioniert, auch im direkten Vergleich zu Beta 2, wird zeitnah folgen.

Quellen: