Technologische Neuigkeiten, Bewertungen und Tipps!

Der Aufstieg und Fall von NewBlue, Googles Versuch, Bluetooth zu „reparieren“ Chrome Betriebssystem

Der Aufstieg und Fall von NewBlue, Googles Versuch, Bluetooth zu „reparieren“ Chrome Betriebssystem 1

Dass Google eine grobe Geschichte mit Bluetooth hat, ist bekannt. Während sich die Bluetooth-Situation auf Chromebooks dank der jüngsten Entwicklung verbessert, werden viele von uns, die Bluetooth-Peripheriegeräte wie drahtlose Ohrhörer oder Mäuse mit unseren Chromebooks koppeln, wissen, dass das drahtlose Erlebnis nicht perfekt ist. Im Jahr 2018, als Bluetooth-Geräte auf dem Vormarsch waren und die Einführung des Pixel Slate bevorstand, fühlte sich Google wahrscheinlich unter Druck gesetzt, dieses Problem anzugehen. Dies führte zu einem Experiment mit einem brandneuen Bluetooth-Daemon in einem ehrgeizigen Projekt namens NewBlue.

Nach mehr als zwei Jahren Entwicklungszeit war NewBlue standardmäßig auf allen Chromebooks aktiviert, beginnend mit Chrome OS-Version 80. Die Chromium-Entwickler hatten gehofft, dass dies die Bluetooth-Probleme auf dem browserbasierten Betriebssystem von Google lösen würde; aber am Ende hielt NewBlue nicht lange.

Ende 2019 entfernte Google NewBlue aus seinen Repositories und begann, alle Spuren seines Codes aus Chrom zu entfernen. Zum Zeitpunkt des Schreibens war der letzte zusammengeführte NewBlue-Commit im April 2020, wodurch noch mehr Code im Zusammenhang mit NewBlue entfernt wurde.

Als Chromebook-Benutzer mit ständigen Problemen bei der Verwendung von Bluetooth meines Pixel Slate fand ich dieses Zurücktreten verdammt komisch. Ich war so neugierig, dass ich das Bedürfnis verspürte, tiefer einzutauchen. Was ich entdeckt habe, hat zu dieser Zuschreibung geführt. Note dass die Informationen zu NewBlue möglicherweise kein vollständiges Bild ergeben, da interne Dokumente zum Projekt nicht öffentlich zugänglich sind.

Mögliche Beweggründe für die Entfernung von NewBlue

Bluetooth ist eine äußerst komplizierte Funktechnologie. Seine Spezifikationen sind massiv; Eine einzige Dokumentation, die erklärt, wie zwei Geräte einen Handshake durchführen können, ist über 3.000 Seiten lang. Fügen Sie die Details hinzu, die das Gerät funktionieren lassen, und Sie verlangen von der Software, dass sie einem Dokument mit fast 5.000 Seiten entspricht! Darüber hinaus ist die Entwicklung eines Bluetooth-Stack äußerst schwierig, insbesondere angesichts der inkonsistenten Firmware-Funktionen der meisten Bluetooth-Chipsätze sowie der vielen verschiedenen vorhandenen Bluetooth-Profile. Im Allgemeinen wird eine flockige Bluetooth-Verbindung durch schlechte Firmware oder schlechte Hardware (oder eine Kombination aus beidem) verursacht.

Vor NewBlue, Chrome OS verwendet BlueZ. Wer BlueZ noch nicht kennt: Es ist der offizielle Bluetooth-Stack für Linux. Es ist unter der GPL lizenziert und unterstützt alle wichtigen Bluetooth-Protokolle und -Schichten. Obwohl es BlueZ schon eine Weile gibt (ab Linux 2.4.6), äußerten einige Entwickler ihre Unzufriedenheit mit dem Stack. Bjt2n3904 von Hacker News schrieb, dass „die Linux-Seite von BlueZ katastrophal ist. Ehrlich gesagt weiß ich nicht einmal, wie jemand außer Maus und Tastatur etwas mit Bluetooth unter Linux macht. Und kaum noch das.” Diese Person hat nicht Unrecht.

Wie ich bereits schrieb, erfordert Bluetooth ein gutes Firmware-Design und eine gute Hardware, die den meisten Chromebooks aufgrund ihrer Erschwinglichkeit fehlt. Fügen Sie mehrere verschiedene Arten von Bluetooth-Implementierungen hinzu, berücksichtigen Sie die vielen verschiedenen Bluetooth-Profile und die Komplikationen mit der Abwärtskompatibilität, und die ganze Situation wird schnell hässlich.

NewBlue war nicht einmal das erste Mal, dass Google versuchte, BlueZ fallen zu lassen. Im Jahr 2012 hat Google den Bluetooth-Stack von Android von BlueZ auf BlueDroid umgestellt. Niemand weiß wirklich warum – einige spekulierten, dass es an der GPL-Lizenz von BlueZ lag, die von Entwicklern verlangt, den vollständigen Quellcode der Software und alle Rechte zur Änderung freizugeben. Als Google mit Broadcom zusammenarbeitete, um BlueDroid zu entwickeln, wurde es unter Apache lizenziert, was bedeutet, dass sie nicht gezwungen waren, den Quellcode freizugeben. Das könnte eine Motivation für NewBlue sein für Chrome OS – da es unter BSD lizenziert ist – aber ich persönlich glaube nicht, dass das der Grund ist. Ich denke, Google hat NewBlue aufgrund eines Zustroms von Beschwerden über Bluetooth auf Chromebooks geschaffen.

Das NewBlue-Experiment

Die ersten Hinweise auf NewBlue stammen vom 16. Februar 2018. In diesem Chromium-Fehlerbericht fragte ein Intel-Ingenieur Google, warum BlueZ fallen gelassen wurde, woraufhin sie antworteten, dass sie “ihren Bluetooth-Stack für viele, viele ins Userland verschieben wollten”. Gründe dafür.” Ein Design-Dokument wurde erstellt, um die Motivation hinter NewBlue zu erklären, aber leider wurde es nie öffentlich veröffentlicht. Die Entwicklung von NewBlue wurde unter Verschluss gehalten, bis XDA-Developers die NewBlue-Flagge im Chrome OS Canary-Kanal im Mai 2018. NewBlue war unzuverlässig und weigerte sich zunächst, sich mit Bluetooth-Geräten zu verbinden, bis Robby von ChromeUnboxed es zum Laufen brachte. In dem Artikel lobt er NewBlue und sagt: „Dieses Bluetooth-Setup ist so, wie es immer hätte sein sollen. Keine unterbrochenen Verbindungen, keine verzögerten Zeiger, keine Probleme.“ Ich glaube, der ChromeUnboxed-Artikel war der Katalysator für den NewBlue-Hype, da mehrere andere Websites und Redditoren darüber berichteten und behaupteten, dass er ihre verschiedenen Bluetooth-Probleme geheilt habe. Im Moment sah es so aus, als würde NewBlue Bluetooth endlich aktivieren Chrome Betriebssystem.

Schneller Vorlauf bis 2019, und das r/ChromeOS-Subreddit war immer noch übersät mit Beschwerden über häufige Ausfälle mit ihren Bluetooth-Ohrhörern und -Mäusen. Obwohl NewBlue 2019 nicht standardmäßig aktiviert war, stellten diejenigen, die es häufig versuchten, fest, dass es nichts reparierte – es schien die Dinge tatsächlich noch schlimmer zu machen. Das Smart Lock von Google funktionierte nicht mehr, es verursachte eine drahtlose Instabilität und brach sogar Bluetooth auf einigen Geräten vollständig ab! Alle diese Fehler blieben bestehen, wenn NewBlue standardmäßig in aktiviert war Chrome OS80.

Google muss all die Bluetooth-Fehlermeldungen satt haben, denn gleich danach Chrome OS 80 wurde veröffentlicht, die Entwickler zogen den Stecker auf NewBlue und begannen, alle Verweise darauf aus ihren Repositorys zu entfernen. Sie verbrachten die nächsten Monate damit, zu BlueZ zurückzukehren und Spuren von NewBlue zu entfernen, was uns dorthin brachte, wo wir heute sind. Zweieinhalb Jahre Entwicklung sind effektiv den Bach runter gegangen. Aber ich glaube, das kann tatsächlich eine gute Sache sein.

Warum eine Rückkehr zu BlueZ eine gute Idee ist

Obwohl BlueZ einige Probleme hat, gibt es Unterstützung auf allen Linux-Systemen auf dem Markt, einschließlich Debian, Ubuntu und Fedora. Im Gegensatz zu NewBlue gibt es BlueZ schon länger und wurde ab Version 2.4.6, die 2005 veröffentlicht wurde, in Linux eingebaut. Das Fundament ist bereits vorhanden. Ich denke, Google hat erkannt, dass sie ihre Ressourcen nicht hätten ausgeben sollen, um einen neuen Bluetooth-Stack neu zu erfinden. Von Google repariert das Bluetooth-Erlebnis auf Chrome OS mit BlueZ wird auch die größere Linux-Community davon profitieren.

Seit dem Wechsel zu BlueZ, Chrome OS hat mehrere Updates erhalten, die das Bluetooth-Erlebnis erheblich verbessert haben, z. B. das Verkleinern der AD2P-Paketgröße auf einen kleineren Standardwert, um die Audioqualität zu verbessern und Audioruckeln zu beheben. Ich kann nicht mit Sicherheit sagen, ob eine der jüngsten Verbesserungen die Bluetooth-Situation mit endlich lösen wird Chrome OS, aber hoffentlich wird es die Erfahrung spürbar verbessern. Wenn überhaupt, tut zumindest Google jetzt etwas gegen Bluetooth.

Hat sich die Bluetooth-Erfahrung Ihres Chromebooks in letzter Zeit verbessert? Fühlen Sie sich frei, unten einen Kommentar zu schreiben.