Original-URL des Artikels: https://www.golem.de/news/test-asus-zenbook-mit-linux-stromsparen-nur-mit-handarbeit-1202-89934.html    Veröffentlicht: 23.02.2012 12:13    Kurz-URL: https://glm.io/89934

Test Asus Zenbook mit Linux

Stromsparen nur mit Handarbeit

Linux läuft auf Asus' aktuellem Ultrabook Zenbook UX31 mit Intels Sandy Bridge recht ordentlich - allerdings erst, wenn mit Parametern, Skripten und Befehlszeilen nachgeholfen wird.

Manches ändert sich nie: Damit Linux ordentlich auf einem Ultrabook mit Sandy Bridge läuft, muss kräftig an der Kommandozeile gewerkelt werden. Vor wenigen Monaten haben wir bereits das Zenbook UX31 von Asus mit damals aktuellen Linux-Distributionen getestet, diese Tests haben wir jetzt mit neuen Linux-Distributionen und aktuellem Linux-Kernel wiederholt.

Unser Fazit: Vieles ist besser geworden, allerdings lassen sich zahlreiche Funktionen nur mit viel Gefrickel nutzen. Und wieder musste sich zuerst die Community um leidgeprüfte Linux-Fans kümmern, die auch mal aktuelle Hardware kaufen und nutzen wollen. Denn ohne eigene Anpassungen funktioniert weder das aktuelle Kubuntu 11.10 noch Fedora Rawhide oder andere aktuelle Distributionen auf den neuen leichtgewichtigen Notebooks richtig. Auch Sandy-Bridge-Hersteller Intel ließ sich bei der Fehlersuche in den Linux-Treibern Zeit.

Der Anwender muss zwar nicht einen eigens gepatchten Linux-Kernel selbst kompilieren, um die meisten Funktionen des Ultrabooks Asus Zenbook UX31 zu nutzen - wohl aber einen aktuellen Kernel verwenden. Denn erst ab der Version 3.2 des Vanilla-Kernels - des unverfälschten Linux-Kernels - werden Stromspareinstellungen für Sandy-Bridge-Chips vollständig unterstützt. Die Kernel-Entwickler bei Canonical haben die entsprechenden Patches bereits auf den in Kubuntu 11.10 genutzten Kernel 3.0.6 übertragen, der in den offiziellen Repositories erhältlich ist.

Die Community hat die Lösung

Wir haben deshalb die Installation auf dem Asus Zenbook UX31 mit Kubuntu 11.10 getestet und uns an dem hervorragenden Wiki-Eintrag für Ubuntu orientiert. Die dort ausgesprochene Empfehlung, den Linux-Kernel 3.2 zu installieren, ist vor allem wegen der Nutzung des mitgelieferten USB-LAN-Adapters und der verbesserten Unterstützung des Touchpads interessant. Für die Stromsparfunktionen reicht auch der aktuelle Kernel 3.0.6. Außerdem haben wir vorsorglich das Bios aktualisiert.

Die meiste Hardware auf dem Zenbook UX31 funktioniert ohne Zutun des Nutzers. Das gilt auch für eine der wichtigsten Komponenten, nämlich den WLAN-Adapter mit dem Chipsatz von Atheros. Auch die Treiber für den Grafikkern in Intels Core-i-Prozessor der zweiten Generation funktionieren weitgehend, allerdings nicht optimal. Denn die Stromsparfunktion RC6 ist nicht standardmäßig aktiviert. Auf unserem Testgerät ließ sie sich jedoch per Bootparameter i915.i915_enable_rc6=1 einschalten.

GPU mit Schlafstörungen

RC6 bietet mehrere Stufen, die höchste namens Deep RC6 (RC6p) führt im Zusammenspiel mit der Virtualisierungstechnik VTd (Intel Virtualization Technology for Directed I/O) zu Problemen. Da RC6p vornehmlich zur Fehlersuche für Entwickler dient, wurde sie kurzerhand deaktiviert. Die entsprechenden Patches sind bereits von Intels Kernel-Entwicklern eingereicht worden, sie werden allerdings offiziell wohl erst in Linux 3.4 übernommen. Die Kernel-Entwickler bei Ubuntu haben sie jedoch in ihren Kernel 3.2, der in Ubuntu 12.04 zum Einsatz kommen soll, und zum Teil auch in Linux 3.0.6 eingepflegt, der für Ubuntu 11.10 verwendet wird.

Bei RC6 handelt es sich um C-States für die Grafikeinheit in Sandy Bridge und Ivy Bridge. Bei jeder Stufe werden die Render-, Blitter- und die Video-Engine in einen Niedrigspannungszustand versetzt, bei dem laut Intel (Seite 56) die Spannung auf etwa 0,4 Volt reduziert wird.

Inaktive Energieverwaltung

Eine Leistungsbremse sind die deaktivierten Semaphores für die Grafikeinheit, die sich zwar nicht unmittelbar auf die Akkulaufzeit auswirkt, aber die Videoqualität verbessert. Auch hier gibt es Probleme, so dass im Kernel die Option erst mit dem Kernelparameter i915.semaphores=1 aktiviert werden muss. Intel selbst empfiehlt, die Virtualisierungsoption VTd im Bios auszuschalten, die in Kombination mit aktivierten Semaphores zu Abstürzen führen kann.

Der von Ubuntu bereitgestellte Linux-Kernel 3.2, der einfach unter Kubuntu 11.10 nachinstalliert werden kann, unterstützt bereits eine weitgehend fehlerfreie Version von ASPM (Active State Power Management), das in früheren Kernel-Versionen noch Schwierigkeiten bereitete. Dies kann und sollte ebenfalls aktiviert werden. Dazu dient der Kernel-Parameter pcie_aspm=force. Das funktionstüchtige ASPM wurde in den Vanilla-Kernel 3.3 integriert und ist dort standardmäßig aktiviert. Patches sind auch im aktualisierten Vanilla-Kernel 3.2.5 gelandet. Auch hier hat Ubuntu Patches in den Kernel 3.0.6 eingepflegt.

Allerdings lösen diese Parameter nicht das Problem, dass die Geräte nicht in den Ruhezustand und den Bereitschaftsmodus versetzt werden können. Hier liegt der Fehler darin, dass die USB-2.0-Treiber vom Kernel 3.2 nicht ordnungsgemäß abgeschaltet werden. In Kernel 3.0 bleiben zusätzlich die USB-3.0-Treiber aktiviert. Daher fährt, wenn der Deckel des Ultrabooks geschlossen wird, sogar der Lüfter hörbar hoch und saugt den Akku leer. Außerdem lässt sich das Betriebssystem danach nicht mehr reaktivieren, das Ultrabook muss neu gestartet werden.



Zickige USB-Controller

Das Skript für das korrekte Herunterfahren in den Bereitschafts- oder Ruhemodus ist recht einfach umzusetzen. Es wird als Benutzer Root als ausführbare Datei im Konfigurationsverzeichnis /etc/pm abgelegt. Mit dem Linux-Kernel 3.2 muss lediglich das Modul EHCI für den USB-2.0-Controller vor dem Versetzen in den Bereitschaftsmodus deaktiviert und nach dem Aufwachen wieder aktiviert werden.

Das Wiki berichtet von Fällen, in denen die Speicherverwaltung unter Umständen durcheinanderkommen kann, wenn die Ultrabooks ohne diese Workarounds zugeklappt werden - auch mit Kernel 3.2. Sie sollen erst dann wieder korrekt funktionieren, wenn das Ultrabook aufgeschraubt und der Akku kurz abgesteckt wird, was allerdings zu einem Garantieverlust führt. Andernfalls soll es zu Systemabstürzen und Dateisystemfehlern kommen - auch unter einem parallel installierten Windows. Ob die Speicherverwaltung korrupt ist, lässt sich mit Memtest86+ feststellen. Wir konnten diese Probleme erfreulicherweise nicht reproduzieren.

Powertop hilft beim Energiesparen

Die Einstellungen für die optimalen Energiesparoptionen haben die Wiki-Autoren aus der Anwendung Powertop von Intel für Intel-Chipsätze übernommen. In der aktuellen Version 1.97 aus den Ubuntu-Repositories listet Powertop den Energieverbrauch aktueller Prozesse und Geräte auf. Unter Tunables gibt das Programm Hinweise darauf, welche Einstellungen zur vorhandenen Hardware bei abgestecktem Netzstecker noch optimiert werden können. Schlechte Optionen ("Bad") können per Enter-Taste optimiert werden ("Good").

Noch ein Hinweis zur Nutzung von Powertop. Die Anwendung funktioniert nur ab Linux-Kernel 2.6.36. Für seine Messungen verwendet Powertop die Anwendung Perf, die auf die Überwachungsmöglichkeiten des Kernels zugreift. Für die Leistungsberechnungen werden Informationen vom ACPI verwendet. Es handelt sich dabei um recht genaue Schätzungen, die eigentlichen Wattzahlen kann Powertop nicht ermitteln. Powertop muss auch über eine längere Zeit beobachtet werden, um einen brauchbaren Überblick zu liefern. Es lässt sich nur sinnvoll verwenden, wenn der Rechner nicht am Netzteil hängt und die Energiesparmaßnahmen greifen sollen.

Damit auch im aktiven Zustand die Energiesparmaßnahmen richtig funktionieren, müssen dann sämtliche optimierten Einstellungen zur Hardware explizit im virtuellen Dateisystem /sys angepasst werden.



Energieverwaltung in Handarbeit

Die Übernahme der Parameter in ein Skript ist noch recht mühsam: Per cat-Befehl müssen die veränderten Parameter ausgelesen und in das Power-Saving-Skript übernommen werden. Auch dieses Skript muss in /etc/pm als für Root ausführbar abgelegt werden. Das Skript wird dann vom Power-Management-Dämon aktiviert, sobald das Ultrabook in den Akkubetrieb wechselt.

Damit gelang es uns, den Verbrauch im Akkubetrieb laut Powertop von etwa 12 Watt auf 6 bis 7 Watt zu senken. Die meiste Energie wurde naturgemäß durch den Bildschirm genutzt. Wird er abgedunkelt, sinkt die Leistungsaufnahme nochmals deutlich. Das lässt sich auf dem Asus Zenbook über die entsprechende Funktionstaste bewerkstelligen.

Unnötiges ausschalten

Wer gänzlich auf Bluetooth verzichten kann, deaktiviert den dazugehörigen Dämon gleich beim Systemstart, indem er die dafür zuständigen Init-Werkzeuge, etwa Rcconfig, bemüht. Das Btusb-Modul wird aber trotz Deaktivierung geladen und nimmt dabei Leistung auf. Es muss also zusätzlich per Blacklist explizit ausgeschaltet werden.

Sind sowohl Bluetooth als auch WLAN deaktiviert und der Bildschirm abgedunkelt, fällt eine weitere Komponente auf, die stets Leistung benötigt: das Modul asus-nb-wmi, der Treiber für die Funktionstasten des Ultrabooks. Wird er mit rmmod deaktiviert, lässt sich beispielsweise das WLAN-Modul über die Funktionstasten nicht mehr steuern, die Bildschirmhelligkeit aber schon. Immerhin sinkt die Leistungsaufnahme laut Powertop um weitere 1 bis 2 Watt.

Mehr als doppelte Laufzeit

In unseren Experimenten erhöhte sich die Akkulaufzeit von knapp über 2 auf 5 Stunden bei der Videowiedergabe mit einem MP4-Video bei maximaler Helligkeit, eingeschaltetem WLAN und deaktiviertem Bluetooth. Beide Werte liegen im Normalbetrieb aber höher.

Auffällig ist auch die unterschiedliche Leistungsaufnahme zwischen den verschiedenen Desktops. Für einen ausgiebigen Test fehlte uns noch die Zeit. Wir konnten jedoch feststellen, dass Ubuntu mit dem Unity Desktop deutlich mehr Leistung aufnimmt als die KDE-Version Kubuntu. Auffällig war, dass der Compositing-Manager Compiz, der bei Unity für die Desktopeffekte sorgt, in der Liste der Stromfresser immer unter den ersten Fünf war.



Nette Gesten

Bleibt noch die Konfiguration der Touchpads, die Asus in seinen Zenbooks verbaut. Derer gibt es zwei, eines vom Hersteller Sentilic, das andere von Elantech. Der Befehl cat /proc/bus/input/devices | grep -i pad gibt darüber Auskunft, welches Touchpad vorhanden ist. Laut Wiki benötigt das Sentilic-Touchpad keine zusätzliche Konfiguration, aber Multitouch-Gesten werden noch nicht von Haus aus unterstützt. Daran arbeiten zwei Projekte, allerdings gibt der Hersteller bislang keine Details an die Entwickler weiter.

In unserem Asus Zenbook war das Touchpad von Elantech verbaut, das noch per Hand konfiguriert werden muss; mit der Anwendung Synclient und mit den dazugehörigen Parametern. Der Befehl synclient FingerLow=9 FingerHigh=12 beschleunigt beispielsweise die Cursorgeschwindigkeit, eine sehr zu empfehlende Einstellung.

Linux mit mehr Fingern

Das Elantech-Touchpad kann ab Linux 3.2 auch mit Mehrfingergesten genutzt werden. Die Befehlszeile synclient TapButton1=1 TapButton2=3 TapButton3=2 legt fest, dass das Tippen mit zwei Fingern die mittlere Maustaste, das Tippen mit drei Fingern die rechte Maustaste emuliert, denn die rechte Kontexttaste des Touchpads funktioniert nicht. Das Scrollen mit zwei Fingern wird ebenfalls unterstützt. Dazu muss Synclient mit dem Parameter synclient VertTwoFingerScroll=1 HorizTwoFingerScroll=1 aufgerufen werden.

Das Ubuntu-Wiki liefert noch weitere Tipps zum Asus Zenbook, etwa zum Anschließen eines externen Monitors. Allerdings beziehen sich viele Informationen auf den Kernel 3.0. Bluetooth wird beispielsweise von Kernel 3.2 unterstützt, wir mussten uns nicht auf die Anleitung beziehen. Mit Kernel 3.2 funktionierte auch der beigelegte USB-LAN-Adapter. Unter Kernel 3.0 muss noch nachgeholfen werden.

Anleitungen zur Optimierung der Leistungsaufnahme mit Linux gibt es auch für andere Distributionen, etwa Arch Linux, die sich allerdings fast alle auf den von uns genutzten Wiki-Eintrag für Ubuntu-basierte Systeme stützen. Außerdem ist die Webseite lesswatts.org zu empfehlen, die Tipps zur Senkung der Leistungsaufnahme unter Linux gibt.

Fazit

Zwar hat sich seit unserem ersten Test im Oktober 2011 einiges getan. Allerdings muss der Linux-Anwender weiterhin selbst sein Ultrabook konfigurieren, bis es die von Intel vorgegebene Laufzeit von mindestens fünf Stunden erreicht.

Das ist unverständlich, denn Intel war und ist daran interessiert, seine Komponenten auch unter Linux zu unterstützen. Immerhin arbeiten Intel-Angestellte auch am Linux-Kernel. Auch die Distributoren müssten funktionierende Konfigurationen deutlich schneller umsetzen, wenn sie Interesse daran haben, Linux als Desktopsystem zu etablieren. Also musste sich die Community darum kümmern, dass Linux auf dem Ultrabook läuft.

Mit den Anpassungen aus dem Wiki verhält sich das Ultrabook auch mit Linux zumindest so wie gewünscht: zuklappen, aufklappen, weiterarbeiten.  (jt)


Verwandte Artikel:
Asus B9440 im Test: Leichtes Geschäftsnotebook liefert zu wenig Business   
(17.05.2017, https://glm.io/127855 )
Sandy Bridge: Ubuntu 12.04 mit aktivierter Energiesparoption   
(20.02.2012, https://glm.io/89883 )
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )
Bpfilter: Linux-Kernel könnte weitere Firewall-Technik bekommen   
(22.02.2018, https://glm.io/132933 )
Systemanalyse: Wie Dtrace auf Linux kommen könnte   
(15.02.2018, https://glm.io/132799 )

© 1997–2019 Golem.de, https://www.golem.de/