Snapdragon-X-Notebooks: Windows runter und Linux drauf?​

Linux unterstützt ARM-Chips hervorragend – dennoch dürfte es auf Notebooks mit Qualcomms Snapdragon X anfangs straucheln, die gerade den Markt aufwirbeln.​

In Pocket speichern vorlesen Druckansicht 226 Kommentare lesen
Das Wort "Linux" vor einer blauen Wolke mit Lichtlinien

(Bild: Shutterstock)

Lesezeit: 10 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Windows beiseiteschieben oder löschen und Linux installieren: Wo bei neu eingeführten x86-Notebooks schon allerlei Schlaglöcher und einzelne Fallgruben lauern, sind es bei solchen mit neuen ARM-Prozessoren eher massenhaft verschneite Gletscherspalten. Das liegt weniger am Befehlssatz der Prozessoren, sondern vielmehr an ihren jeweiligen Ökosystemen. Besonders relevant ist das bei den neuen Geräten mit Snapdragon X Elite, mit denen Qualcomm seit wenigen Tagen AMD und Intel den Notebooks-Markt ernsthaft streitig macht.

Ein Kurztest mit einem der ersten Geräte in der c't-Redaktion bestätigt das: Der Grub2-Loader von Linux-Distributionen wie openSUSE Tumbleweed oder Fedora Rawhide startete zwar, aber viel weiter ging es nicht. Bei Fedora hakte es schon in Grub2. Bei openSUSE ging es nur minimal weiter, denn der Linux-Kernel stieg schon in seinem EFI-Loader-Code mit der Fehlermeldung "EFI stub: Exiting boot services..." aus.

Selbst wenn das ein einzelner Fehler sein sollte, der bald korrigiert wird, lässt sich klar abschätzen: Um den Linux-Einsatz auf Snapdragon-X-Notebooks steht es erstmal schlecht. Die Lage dürfte sich in den nächsten Monaten schnell bessern – doch auch mittelfristig bleibt größere Vorsicht geboten, denn die ARM-Welt tickt an einigen Stellen anders als die der x86-PCs. Größere Fallstricke lauern daher nicht nur beim Support der einzelnen Funktionseinheiten im Prozessor oder im umgebenden Mainboard, sondern auch bei der Firmware und ihrem Zusammenspiel mit Linux.

Die gute Nachricht: Der aktuelle Linux-Kernel 6.9.y bringt für viele Funktionseinheiten des Prozessors schon Treiber mit. Das dürfte zum Booten auch nötig sein. Anders als in der x86-Welt fehlen dominante und universelle Industriestandards, mit denen der Kernel alle zum Booten wichtigen Kern-Funktionen eines Prozessors und seiner Umgebung initialisieren kann – etwa für Taktung, Interrupts, Arbeitsspeicher, Controls Pins oder Prozessor-interne Kommunikations-Busse.

Erschwerend kommt hinzu, dass es nicht nur zwei dominante, sondern über ein Dutzend Hersteller von Prozessoren mit ARM-Kernen gibt, die diese Funktionen mit ganz unterschiedlich angesprochenen Funktionseinheiten (IP-Cores) umsetzen und ohne große Rücksicht auf Abwärtskompatibilität gerne verändern. Das ist einer von mehreren Gründen, warum eine ein oder zwei Jahre alte Kernel-Version auf neuen ARM-Prozessoren oft nicht mal rudimentär bootet, während das bei frisch eingeführten x86-Prozessoren zumeist klappt.

Qualcomm selbst ist zu verdanken, dass der Kernel viele solcher Low-Level-Treiber für den Snapdragon X schon mitbringt: Mitarbeiter der Firma haben direkt nach der Ankündigung im Oktober 2023 zahlreiche Änderungen zum Support des Prozessors und damit gebauter Boards an die Kernel-Entwickler geschickt, um sie vor Produkteinführung in den offiziellen Kernel einzubringen. Ähnlich machen es auch AMD und Intel sowie ARM selbst, denn darüber fließt der Support in alle Linux-Distributionen inklusive Android ein. Auch viele andere Hersteller solcher Prozessoren engagieren sich bis zu einem gewissen Grad ähnlich, nicht wenige davon aber mehr schlecht als recht, darunter Broadcom und die Raspberry Pi Foundation. Das ist der Grund, warum der bei kernel.org erhältliche Linux-Kernel den Raspberry Pi 5 bis dato nicht unterstützt – und viele Mainstream-Distributionen in Folge ebensowenig.

Der Mitte Juli erwartete Linux-Kernel 6.10 wird weitere Verbesserungen für den Snapdragon X mitbringen, darunter Support zur Bildschirmansteuerung und -ausgabe. Weitere sollen zwei Monate später folgen, unter anderem mit etwas Glück Unterstützung zum dynamischen Anpassen der Prozessor-Spannung und -Frequenz via Cpufreq, um den Stromverbrauch zu senken und die Performance zu verbessern. Auch Support zur Nutzung der 3D-Beschleunigung der Adreno-GPU des Prozessors könnte dann schon dabei sein. Um letztere sollen sich dann bestehende und nur leicht modifizierte 3D-Treiber kümmern, die die 3D-Grafikbibliothek und -Treibersammlung Mesa schon für ältere Adreno-Grafikeinheiten mitbringt.

Geschraubt wird auch noch am Support für Bereitschaftsmodi (Suspend/Resume), dem für die Webcam zuständigen Image-Processor, Video-Beschleunigung, und einigen anderen Dinge. Mit anderen Worten: Für einige Einsatzzwecke mag das derzeit Absehbare bald reichen, bis zu einer halbwegs umfassenden Unterstützung des Snapdragon X wird es aber noch einige Monate dauern – oder länger, falls sich Probleme auftun, die zu Verzögerungen bei der Integration von neuen Treibern oder Treibererweiterungen führen.

Damit ist Qualcomm für einen Hersteller von Prozessoren mit ARM-Befehlssatz gar nicht so schlecht, spielt aber mindestens eine Liga unterhalb von AMD und Intel: Beide schaffen es zumeist, halbwegs umfassenden Treibersupport kurz vor oder nach der Produkteinführung in Kernel & Co. unterzubringen.

Damit der Kernel und seine Treiber zentrale Prozessor-Funktionen wie Interrupt-Controller, Arbeitsspeicher und Timer auch in die Gänge bringen können, brauchen sie dazu Informationen über die Art und Konfiguration der vom jeweiligen Systemhersteller verbauten Komponenten. Genau wie in der x86-Welt erhält Windows on ARM diese beim Booten über ACPI von der UEFI-Firmware (auch UEFI-BIOS oder schlicht BIOS, Firmware oder UEFI bezeichnet). Der ARM-Support von Linux unterstützt diesen Weg ebenfalls und bootet darüber auch auf vielen ARM-Servern. Das Gros der Linux-ARM-Geräte dieser Welt erhält diese Informationen aber aus einer Device Tree (DT) genannten Tabelle. Sie hält das BIOS bereit oder der Boot-Loader gibt sie dem Kernel beim Booten mit; alternativ kann man sie in den Kernel einbauen.

Nach Qualcomms oben verlinkter Beschreibung soll Linux die zum Systemstart nötigen Informationen bei Snapdragon X nicht per ACPI, sondern mit Hilfe eines Device Tree erhalten – womöglich weil die Firma damit größere Erfahrungen hat, schließlich arbeiten auch die Qualcomm-Prozessoren in Smartphones und Autos damit. Erfahrungsgemäß führt solch ein "ACPI für Windows, Device Tree für Linux"-Ansatz an so einer zentralen Stelle in der Praxis zu größeren Hakeleien. Kein Wunder, schließlich konzentrieren sich die meisten Notebook-Hersteller auf die Unterstützung von Windows. Dadurch schlampen sie bei der Bereitstellung von Device Trees für alternative Betriebssysteme schnell oder lassen die ganz weg – ob versehentlich oder absichtlich ist dann auch egal, denn so oder so wird es mit Linux auf dem Gerät dann sehr mühsam.

Womöglich bringt das BIOS auch einen unpassenden Device Tree mit. Teilschuld daran trifft das Device-Tree-Ökosystem, dem seit Langem ein Weg fehlt, über den der Kernel den passenden von mehreren hinterlegten Device Trees auszuwählen. Derartiges ist aber nötig, wenn Hersteller verschiedene eng verwandte, im Detail aber unterschiedliche Systeme mit einem BIOS unterstützen wollen – und genau das dürfte auf viele Snapdragon-X-Notebooks zutreffen.

Ähnliche Tücken lauern auch anderswo im Ökosystem. Die BIOSe der Snapdragon-X-Notebooks dürften mehr neuen Code enthalten als jene von x86-Geräten, der über mehrere Produktgenerationen reifen konnte. Das führt zu Kinderkrankheiten, die gerade den Linux-Einsatz gerne mal schwer oder unmöglich machen. Das kann schon damit beginnen, dass UEFI Secure Boot nicht deaktivierbar ist; womöglich fehlt dem BIOS auch das Zertifikat, um von Microsoft für UEFI Secure Boot signierte Linux-Loader als vertrauenswürdig einzustufen und freizugeben.

Die kommenden Monate werden zeigen, wie viele solche Anlaufschwierigkeiten bei der Interaktion von Linux und Firmware tatsächlich auftreten. Sollten es viele sein, dürften einige findige Entwickler den Kernel womöglich anzupassen versuchen, sodass auch er wie Windows zur Initialisierung auf ACPI zurückgreift.

Ein aus der x86-Welt bekanntes Probleme wird Linux auf Snapdragon-X-Notebooks auch treffen: Selbst wenn etwa alle für den Prozessor wichtigen Treiber in neue Versionen von Kernel & Co. eingeflossen sind, dauert es Monate, bis alle gängigen Distributionen diese Versionen in ihren Installationsmedien auch ausliefern – in einzelnen Fällen womöglich sogar mehr als ein Jahr. Sich schnell bewegende und ARM64-Prozessoren unterstützende Distributionen wie openSUSE Tumbleweed werden daher anfangs die beste Wahl für solche Notebooks sein.

Zumindest, sofern die Hersteller nicht im Alleingang oder zusammen mit einem Distributor selbst angepasste Linux-Distributionen bereitstellen oder gar vorinstallieren, in der sie alle für bestimmte Geräte nötige Treiber eingebaut haben. Genau das plant Tuxedo, denn das Augsburger Unternehmen arbeitet bereits an einem Snapdragon-X-Laptop. Nicht überraschend wären auch Linux-Varianten der mit Qualcomms neuer CPU ausgestatteten Varianten von Dell XPS 13 oder dem Lenovo ThinkPad T14s G6, schließlich liefern beide Hersteller die x86-Geräte dieser Serien mit Linux aus – und Lenovo-Mitarbeiter haben sich schon beim mit einem älteren Qualcomm-Prozessor ausgestatteten ThinkPad X13s stark um Linux-Support bemüht.

Wer ein Snapdragon-X-Elite-Notebook für den Linux-Einsatz kaufen will, sollte fürs Erste daher besser auf Geräte mit maßgeschneiderten und vorinstallierten Linux-Distributionen warten: Dort hat der Hersteller das ganze Paket aufeinander abgestimmt. Das meint nicht nur Firmware und Snapdragon X, sondern auch Notebook-spezifische und vom Prozessor unabhängige Besonderheiten, die ebenfalls auf x86-Notebooks hin und wieder mit Linux zicken – etwa Funktionstasten und LEDs, Tablet-Modes, Touchscreens, LTE und einiges mehr.

Insbesondere muss der Hersteller während der Gewährleistungsphase bei Problemen dann auch für Lösungen sorgen. Dazu muss man aber natürlich beim vorinstallierten Betriebssystem bleiben und darf keine andere Distribution einspielen, die einem besser gefällt. Anfangs dürfte so ein Bestreben vermutlich ohnehin scheitern. Mit der Zeit dürfte sich die Gesamtlage zumindest bei solchen Geräten dann aber immer mehr jener der x86-Linux-Welt annähern.

(axk)