Erfahrungsbericht Toshiba AC100

aus Nomads, der freien Wissensdatenbank

Diese Seite beschreibt meine Erfahrungen mit dem Toshiba AC100 Smartbook. Es ist ein 870g leichtes, lüfterloses und supermobiles Netbook mit ARM CPU (Nvidia Tegra 250, 1Ghz Dual-Core Cortex A9 CPU mit 512 MB RAM, genaue Hardwarebeschreibung hier im grandou Wiki). Darauf läuft kein Windows 7, wie auf Intel-basierten Systemen, sondern nur Android oder ein Linux Derivat. Im folgenden schildere ich meine Erfahrungen mit einer Custom-ROM-Version von Android sowie mit Ubuntu's ARM-Version für das AC100.

AC100?action=AttachFile&do=get&target=toshiba-ac100_01.jpg

Inhaltsverzeichnis

Das AC100 unter Android

Android Custom ROM

Im Auslieferungszustand enthält das AC100 Android 2.1 und unterstützt nicht den Android Market. Es wurde ein Update auf Froyo (Android 2.2) im Februar und das letzte Update auf v.2.2.5.0030.WW_EU im Juli von Toshiba veröffentlich. Auch diese unterstützen keinen Market, das letzte Update funktioniert aber immerhin stabil, habe ich aber nicht selber ausprobiert, da schon vorher das Custom ROM verfügbar war. Es wurde entwickelt, um den Android Market zu erhalten und einige spezifische Probleme (kein Acelerometer zum drehen des Bildschirms) zu lösen. Ich hatte es recht frühzeitig auf das AC100 geflasht, da der Originalzustand kaum nutzbar war:

Weiteres bezieht sich auf die Nutzung mit diesem Custom ROM.

Ansonsten gibt es noch Bemühungen, Android Honeycomp 3.0 bzw. 3.1 zu portieren und es wurde am 03.Okt.2011 eine Stable Version veröffentlicht, siehe diesen Thread "acomb100-v0-4-honeycomb-3-0-1" auf Tabletroms. Ich habe das selbst noch nicht ausprobiert.

Mit Ubuntu Oneiric Ocelot hat Canonical nun das AC100 als Beispielgerät für seine ARM-Variante gewählt, da ist nun frischer Wind zu erwarten und daher fiel die Wahl auf Ubuntu als Alternative zu Android, siehe 2. Teil dieses Erfahrungsberichtes unten.

Auch MeeGo könnte auf dem AC100 laufen, bisher ist aber wohl das Interesse daran zu gering. Eher sind ArchLinux oder Debian weitere Alternative, da sie sehr kompakte und strukturierte Linux-Installationen erlauben, dazu gibt es viel Erfahrung im Embedded-Bereich auf ARM-Hardware. Dabei steht der Wechsel auf "hard float" an (siehe dazu dieser Blog), also die Nutzung der Floating Point Unit im Tegra 2 SoC, die bislang ungenutzt ist. Siehe dazu nachfolgend Abschnitt zu ArchLinux und Debian HF weiter unten auf dieser Seite.

In Zukunft könnte möglicherweise auch Windows 8 auf dem AC100 laufen.

Office

  • Zoho Writer, eine AJAX Browser Textverarbeitung funktioniert im Opera und Standard Browser, sogar akzeptabel schnell, stürzt aber leider ständig ohne Fehlermeldung ab
  • Die Google Docs Android App erlaubt die Bearbeitung der Textanteile. Komplexere Formatierungen muss man aber auf einem anderen Rechner machen, da Ajax-Webseiten wie Google Docs unter Android nicht wirklich funktionieren.
  • Documents to Go App liegt für Android bislang nur in Version 3 vor (für Apples iOS ist Version 4 verfügbar), die leider nicht überzeugen kann. Produktives Arbeiten an Texten ist damit kaum denkbar.

Stromverbrauch / Allways-On

  • Idle-time: Bildschirm aus und zugeklappt ohne was zu tun läuft das AC100 circa 11 Stunden. Dabei war eine UMTS Karte eingelegt, also allway on, WLAN suchend, push Mail und Facebook Instant Mssenger (imo.im) aktiv.
  • In der selben zeit verbrauchte mein Galaxy Tab 7" lediglich 2% seines Akkus für diese Funktionen
  • Ich vermute, dies liegt an einem Fehler im (Deep) Sleep Mode, den der Kernel im AC100 wohl leider nicht kann. Damit ist einer der wichtigsten Vorteile der ARM Plattform, nämlich stromsparendes allways on, nicht machbar. Sehr schade. Man darf aber wohl auf Kernel-Updates hoffen, denn prinzipiell sollte das gehen:
  • Tegra 2 soll laut NVIDIA eine Standby-Zeit von bis zu 2.000 Stunden, rund 140 Stunden MP3-Musikwiedergabe und bis zu 8 Stunden Video-Wiedergabe in HD auf dem Display eines mobilen Gerätes liefern (bei 2.000 Milliamperestunden Akku). Das AC100 mit seinem 25 Wh Akku sollte also insgesamt viel länger durchhalten, insbesondere im Standby und Sleep.

@-Zeichen Problem

  • offenbar wegen falschen Code Tabellen geht nach dem Update auf Android 2.2 das @-Zeichen in einigen Anwendungen nicht. Workaround:

- mit CRTL-SPACE auf die englische Tastatur umschalten - mit ALT-GR + 2 ein @ erzeugen - mit CTRL-SPACE zurück zur deutschen Tastatur schalten.

  • Oder: Clipper installieren und Emails dort eingetragen. Ist eine Clipboard App mit der man eine Clipboardhistroy, samt eben, festgestellten Emaileinträgen hat.

Diverse Beobachtungen

  • einwählen ins eduroam Uni WLAN geht Android-typisch ganz ohne Probleme mit den hier beschriebenen Einstellungen: Erfahrungsbericht_Samsung_Galaxy_Tab#WLAN_im_Uninetz_.28eduroam.29
  • Firefox Browser geht nicht mit dem Custom Rom.
  • auch Öffi stürzt ab (liegt vermutlich an den Display DPI Einstellungen). Ansonsten scheinen soweit praktisch alle Apps aus dem Appstore, pardon Android Market, zu funktionieren

Browser

Ich hab ein paar probiert. Leider überall das nervige von-Link-zu-Link scrollen. Linksclick drag-scrolling geht, ist jedoch weniger praktikabel. Schade. Immerhin kann man dank PGup/down ganz gut blättern, das verschiebt dann aber immer gleich eine ganze Seite, also zum flüssigen Lesen bzw. definierten Ansteuern bestimmter Inhalte schlecht. Aktuell am besten für das AV100 finde ich xscope:

Positiv:

  • man kann close tab on long press back button einstellen, das kann sonst kein Browser. In Dolphin HD gibt es zwar einige Shortcuts für suche oder reload, aber die wichtigsten (neue Tab oder Tab schließen) fehlen.
  • open in new tab in background für long press left mouse button ist sehr praktisch, das machst sonst nur noch Miren Browser
  • Wischen zum Wechseln zwischen Tabs, wobei mir ein Shortcut wie CTRL-T wesentlich lieber wäre, aber immerhin kann man so dauerhaft im Fullscreen Modus arbeiten und zwischen Tabs wechseln.
  • Doppleclick und dann links/rechts schieben erlaubt zoom in/out - sowas kann sonst kein Browser
  • Doppelclick auf Text kann diesen direkt vergrößern/verkleinern. Leider macht xscope dabei kein ordentliches refit, das schafft - anders als auf einem Tablet - komischerweise beim ac100 allerdings keiner der Browser

Negativ:

  • Umständlich für cut&past Textselektion über Menü-Lange-klicken. Hier ist Dolphin HD vorne, da kann man mit Menü-e den Selektionsmodus aktivieren. Dafür funktioniert der Selektionsmodus in xscope zuverlässig.
  • Tabansicht zeigt immer auch die untere Menüleiste. Das hätte ich gerne konfigurierbar.
  • Beim Editieren beendet xscope immer den Vollbild Modus, den muss man umständlich durch Menü/Vollbild reaktivieren, damit die Android Statusbar nicht ständig Bildschirmfläche verbraucht. Das ist eigentlichein k.o. Kriterium gegen xscope, schade.
  • im non-Fullscreen wir immer die platzraubende Menüleiste eingeblendet. Und wird nicht, wie etwa bei Dolphin HD oder Miren beim Scrollen automatisch freigegeben
  • wechselt bei der google Suche in die mobile Ansicht, trotz User Agent Desktop. Miren oder Dolphin HD behalten den Fullscreen mode auch beim editieren. Auch die idee mit dem automatischen Ausblenden der Tabs sobald man zu scrollen beginnt ist nett. Geht allerdings nur mit linksclickdrag-scrolling. Dolphin HD schiebt dagegen die Tabs nach oben raus, sobald man scrollt, das geht auch mit PGup/down wodurch ein unnötiger Mousepad click entfallen kann. Allerdings funktioniert das bei Dolphin HD nicht im Fullscreen mode, man muss die Tabs dann expliziet durch erneutes drücken von Menü ausblenden. Auch die Tastenkürzel, etwa Menü+f für suchen, finde ich bei Dolphin HD sehr nützlich. Leider kann Dolphin HD nicht das open-new-tab-in-background-on-long-press. Das User-Interface ist beim Dolphin Mini wieder gelungener, close tab und Fullscreen Mode beispielsweise sind direkt erreichbar. Bei Miren nervt wiederum, dass er, wie auch xscope, immer beim Suchen in Google in die mobile Ansicht wechselt. Das lässt sich leider auch nicht durch Ändern des User Agent beheben - aber indem man erst google öffnet und von dort aus sucht. Merkwürdig.

Für Dolphin HD sprechen noch ein paar Features:

  • kann auch per Spacebar scrollen, das ist sehr angenehm, da man dann nicht immer die Finger umposiitonieren muss.
  • kann per Shift+Linksclickdirekt Markieren und in die Zwischenablage bringen. Das ist sehr gut gemacht.

Fazit AC100 unter Android

Eigentlich könnte das AC100 ein tolles Internet-Maschinchen sein. Die wichtigste Anwendung, der Browser, glänzt mit flotter Bedienung, Seitenaufbau und Scrolling, schön flüssig und sogar etwas schneller als mit einem Atom Netbook. Apps aus dem Market lassen sich problemlos installieren und die Einfachheit der Nutzung bietet viele Vorteile gegenüber einem Windows Laptop. Dazu ist das Gerät klein, leicht, ausdauernd mit sehr guter Tastatur und akzeptablem Bildschirm und verfügt über UMTS. Aber es gibt noch einige Stolpersteine: Die Bedienung der verfügbaren Browser macht das Interneterlebnis unbefriedigend. Scrollen sowie Cut&Paste, was man ja bei einem Tastatur-Android Gerät gerne nutzen möchte, funktioniert nicht richtig. Multitasking zwischen Anwendungen klappt nur partiell, beispielsweise werden gerade in Bearbeitung befindliche emails in K-Mail beim Taskwechsel unter Entwürfe verschoben und müssen dort nach dem Zurückwechseln erst wieder geöffnet werden. Des weiteren fehlen für ein produktives Arbeiten etliche Anwendung, die man unter Windows gewöhnt ist, insbesondere ein vollständiges Office. Google Docs ist noch keine ernstzunehmende Alternative. Browserbasierte Office Ansätze funktionieren auf dem Android Gerät auch nicht. Mit VerbTex, einer Android-LaTex-App, kann man spartanisch arbeiten, muss aber remote übersetzen. Insgesamt bleibt das AC100 eine Notlösung. Eine erneute Evaluierung sollte aber erfolgen, wenn Softmaker sein angekündigtes Softmaker Office für Android rausbringt. Schaut man sich das mit Android 3.1 betriebene Asus eeePad Transformer an, das auch mit Tastatur und Touchpad zu steuern ist, bleibt weiter zu hoffen, dass mit einem Betriebssystem-Update diese Funktionen nachgereicht werden, unter anderem funktioniert beim Transformer auch das 2-Finger Scrolling bzw. Wischen.

Wegen dieses ernüchternden Fazits habe ich Ubuntu als Alternativ-OS auf das AC100 geflasht, siehe nachfolgend:

Ubuntu auf dem AC100

So sieht Ubuntu auf dem AC100 aus:

  • deutsches Video von Dez. 2011, mit Ubuntu Desktop, zeigt Flash, Sound, Wlan und Standby
  • Video von Ubuntu 11.04 mit marvin24s Kernel, LXCE Desktop und Openbox Fenster Manager
  • Video von Ubuntu 10.10 mit phh Kernel zeigt backlight, flash, HD video, suspend

Grundlagen zum Flashen

Man kann einfach die nachfolgende Installationsanleitung abarbeiten und Ubuntu auf dem AC100 nutzen. Da es sich aber um ziemliches Neuland handelt in dem viel passiert, ist es ganz hilfreich, sich in Entwicklungen und Begriffswelt orientieren zu können. Dazu diese kurze Zusammenfassung.

Prinzip: Beim Linux Boot Prozess startet zunächst ein Bootloader, er holt das Image des eigentlichen Kernels und starten den Init-Prozess, dieser mountet das File System (rootfs) und fährt das Betriebssystem hoch. Siehe auch Linux Startup Prozess in Wikipedia.

Um Ubuntu auf das AC100 zu bringen, muss man einen Kernel sowie ein Root File System Image (rootfs) einrichten. Um die Daten auf der eMMC zu ändern ("flashen") gibt es das Tool nvflash von Nvidia.

Unter Android ist der Bootprozess gleich (Android basiert ja auf Linux) und es sind entsprechende Partitionen auf der eMMC konfiguriert (siehe Partition Layout des AC100). Der Android Bootloader "Fastboot" befindet sich auf Partition 4 "EBT". Fastboot startet, was er auf Partition 6 "LNX" findet. Prinzipiell kann man den Android-Bootloader aber auch austauschen, beispielsweise gegen einen Bootloader, der auch von externen Medien booten kann (wobei eine externe SD Karte etwas langsamer ist).

Für Ubuntu Oneiric Ocelot wird aber der normale Android "Fastboot" Bootloader beibehalten, sowohl der Android 2.1 Bootloader als auch der von Android 2.2 funktionieren. Wobei der Android 2.1 Bootloader eine nettes Feature beherrscht: bei gedrückter Home Taste beim Starten botet er von Partition 5 "SOS" statt von Partition 6 - somit wäre ein Dualboot möglich (siehe extra Abschnitt dazu weiter unten).

Da die Partition 6 nur 8MB umfasst, wurde für die Daten die Partition 14 "UDB" gewählt, sie hat 5,6 GB. Damit das Image auf allen unterschiedlichen AC100 Modellen funktioniert, wählt man einen Trick: es wird zunächst ein "bootimg" auf Partition 6 geschrieben. Dieses holt das "Preinstalled desktop filesystem archive" für das AC100 von einem externen Medium (USB-Stick oder SD-Karte), entpackt und konfiguriert es und schreibt (Kernel + Initd (überschreibt sich selbst) auf Partition 6 sowie das Dateisystem auf Partition 14 (Anwendungen + Daten).

Anleitungen im Netz

Im Netz kursieren einige Anleitungen zum flashen von Linux auf das AC100:

  • deutsche Anleitung für Oneiric Ocelot
  • flash howto von Gildean (phh 2.6.32 Kernel mit Anpassungen von Markit und Gildean), Stand: 23.5.2011
  • howto von Markit
  • AC100-Verzeichnis von Markus
  • howto von Yang auf seinem Webblog o-learn.com (markit's new boot img + Markus rootfs mit phh 2.6.32 Kernel und Anpassungen von Markit, Gildean und Markus, "Updated: 2011/July/08:using new ubuntu file package from markus, wifi, sound, suspend and much more functions work out of box!!! markus, Thanks!")
  • howto von kotelett (phh)
  • howto von gudinna (ogra), Stand: Oktober 2010
  • Installationsanleitung im grandou Wiki

Obige Anleitungen sind im Prinzip identisch und unterscheiden sich nur in den zu flashenden Images (bootloader und rootfs). Sie basieren auf den Vorgaben von Nvidia, die Linux-Kernel für Tegra2 mit Treiberintegration zur Verfügung stellen. Die Kernel sind ursprünglich für Google's Chrome OS gedacht, das auch eine Linux-Derivat ist, funktionieren aber auch mit anderen Linux-Systemen, etwa Ubuntu. Diese Kernel werden mit Treibern (z.T. von Android) und dem Linux-Betriebssystem zu einem Basis-System (rootfs) zusammengestellt. Zum Teil ist nachträgliches installieren von Scripten etc beschrieben.

Netter Weise hat Markus dazu ein rootfs Image erstellt in dem das alles schon integriert ist inclusive Keyboard Shortcuts, WLAN, UMTS, Sound (derzeit nur über Kopfhörerausgang) und Suspend. Markus hat dazu keine eigene Anleitung zum Flashen erstellt und nur auf das Howto von Gildean verwiesen. Aber Yang hat seine Anleitung aktualisiert, so dass man die einfach durcharbeiten kann (siehe Anleitung von Yang oben verlinkt mit Stand von July 2011). Nachfolgend habe ich die Schritte auch noch mal gelistet und ein paar Erfahrungen ergänzt (siehe Flash-Anleitung Ubuntu Maverick Mercat).

Diese versprenkelten Anleitungen einzelner Entwickler werden aber nicht weiter gepflegt denn es gibt eine offizielle Unterstützung seitens Ubuntu. Diese basiert auf Ubuntu 11.10 (Oneiric Ocelot) bzw. Chrome-OS (siehe nachfolgend), der grundsätzliche Flash-Vorgang bleibt aber im Prinzip gleich.

  • offizielle Wikiseite zum AC100 von ubuntu.com zum Status der Ubuntu-Portierung. Soll nach eigenen Angaben offiziell und aktuell sein. Enthält knappe Installationsanleitung und listet eine Übersicht über langfristige Prinzipien und Links zu aktuellen Images und Treibern, unter anderem zu dem "Preinstalled desktop filesystem archive" für das AC100. Es kommt zusammen mit einem Bootimg-File, dass diese Archiv beim Bootprozess auf die interne eMMC entpackt und vereinfacht so den Installationsvorgang (ein Image auf SD-Karte ist somit allerdings nicht mehr möglich). Das AC100 wurde als das offizielle Beispielgerät für die Ubuntu-ARM-Variante für die Oneiric Version gewählt, weshalb hier nun deutlich bessere Unterstützung erfolgt.
  • Dazu gibt es das Personal Package Archive (PPA) für AC100, über das man Kernel Updates (marvin24s Kernel), Nvidia Tegra Treiber, spezielle Settings etc. direkt per Paketverwaltung bzw. Update Manager erhält. Dies ist für eine Installation von Ubuntu Natty nötig, wer dagegen Oneiric installiert benötigt das nicht - die Oneiric Repositories enthalten die Pakete des AC100 PPAs bereits.
  • grandou Wiki - "The AC100 Wiki" - nach eigenen Angaben das offizielle Wiki zu den technischen Details, abgespaltet vom Ubuntu-Wiki, da es Distributions-unabhängig ist, aber noch dünn bestückt und im Aufbau:
"I wanted to have some content before advertising it broadly, the less we need is yet another ac100 wiki with incomplete/obsolete/wrong content. But errr... time is lacking...Our ac100 wiki history is directly linked to the ac100 kernel history, from the initial hacks inside Android up to the marvin's chromeos kernel with nvidia Xorg and the almost official Ubuntu support thanks to ogra, without forgetting all the work from phh to have a full HW support using nvidia daemons and libs. The work is fragmented so that the docs. The fact that wetpaint is a very poor wiki platform (I'm staying polite) didn't help to motivate people to keep it up to date. So, yes, I've started a new wiki, with the secret hope to be "the ac100 wiki". I've started to import all pages from wetpaint & gitorious, and to write some pages, but there is really a lot of stuff to do. it really needs some manpower. It's available here: <http://ac100.grandou.net>. the days it would become useful enough, we could always think about giving it its own domain, but that's not the most important thing today. And by the way, ac100 is not limited to ubuntu, debian hf is more and more promising ;)
Gilles."
  • der aktuelle Entwicklungsstand befindet sich auf gitorous, das ist eine kostenlose Plattform zur Entwicklung von Open Source Projekten. Dort kann man sich den Stand anschauen, beispielsweise die Änderungen zum Kernel (commits in marvin24/ac100)
  • hier geht es u.a. um die Integration von AC100 Spezifika. Beispielsweise Tastatur/Mousepad Unterstützung. Dies geschieht über drivers/input/keyboard/tegra-nvec.c ein "Keyboard class input driver for keyboards connected to an NvEc compliant embedded controller"
  • die Entwickler kommunizieren über IRC auf Channel #ac100. Der ist z.B. erreichbar mit diesem Webclient http://webchat.freenode.net/?channels=ac100. Die Chat-Protokolle sind zu finden als monatliches Txt-File hier auf gildean logs.
  • Dazu gibt es eine Teamseite der AC100-Entwickler auf Launchpad, zu der man sich auch subscriben kann. Die Launchpad-Plattform organisiert eine AC100-Mailingliste. Der email Verkehr ist über das launchpad AC100-Mailarchive öffentlich einsehbar.
  • Nach einigen Test landen die Entwicklerversionen dann im PPA bzw. im offiziellen Repository. Es das dauert i.d.R. also wenige Tage, bis man diesen Stand per Ubuntu Update-Manager (bzw. apt-get update) erhält.

Ansonsten sind dieses Wikis auch interessant:

Mehr zu den Unterschieden der AC100 Images im extra Abschnitt unten.

Ausgangssituation zum Flashen - Was braucht man?

  • einen Linux-Rechner (das Tool nvflash, das man benutzt, läuft unter Linux)
  • wer keinen Linux-Recher hat (sondern z.B. Windows oder Apple) kann sich mit einem Live-USB-Stick behelfen. Siehe Punkt 2 in dieser Anleitung (ob es auch eine Version von nvflash für Windows und den Tegra 2 Chipsatz gibt, ist mir nicht bekannt).
  • ein Kabel, um das AC100 zu verbinden. Es muss also in USB Host auf der einen Seite passen, auf der anderen Seite in den USB Client-Anschluss des AC100, und zwar ist das ein mini USB wie auch bei vielen Handys.
  • einen USB Stick oder eine SD-Karte zum transferieren der Daten auf das AC100. Mindestgröße 1GB
  • Custom Rom oder was auch immer vorher auf dem AC100 drauf war ist egal.

Status der Oneirc Ocelot Portierung

Nachfolgender Status gilt für Kernel 2.6.38-1000-ac100, verfügbar als .deb und Auto-Update über die Standard-Oneiric Repositories seit 24.09.2011

Was geht:

  • Audio via Headphone und endlich (seit 07.10.2011) auch über interne Lautsprecher
  • Suspend und Resume (seit 03.10.2011)
  • Drahtlos-Hardware (WLAN, UMTS, Bluetooth - falls hardwareseitig vorhanden)
  • Touchpad incl. Scrollbereich rechte Seite
  • integrierte Kamera
  • Geräte über USB (externe Maus, Festplatte, Drucker, Bluetooth-Stick, etc)
  • Ändern der Bildschirmhelligkeit sowie der Lautstärke (beides liegt aber default nicht auf den richtigen Tasten, muss man sich umkonfigurieren)
  • die 4 Status LEDs und Caps Lock LED (befindet sich auf der Caps-Lock Taste)
  • Power button event (einstellbar für suspend, not for resume yet)
  • Lid switch (Deckel zu wird erkannt und kann einer Aktion zugeordnet werden, vorkonfiguriert ist suspend. Deckel auf wird nicht erkannt, zum Resume muss man also eine Taste drücken)
  • Flash Video (bis 360p ruckelfrei)
  • zram (transparente Speicherkompression für Swap-Bereich)
  • Anwendungen: Open Source Software wurde für armel compiliert und ist per Paketmanagement einfach installierbar. Manche proprietäre Software existiert nicht für armel (z.B. Skype, aber Google Talk, incl. Video funktioniert. Ferner gehen alle anderen Chatsysteme und VoIP/SIP Telefonie)

In Arbeit:

  • armhf statt armel, also Support der Floating Point Unit von Tegra 2, alle .deb Pakete soweit umgestellt, nur Nvidia Treiber fehlen noch für armhf
  • Hibernate

Bestehende Treiberprobleme und Konfiguration:

  • HDMI audio support
  • Function keys (Brightness and friends) - muss man noch selber einstellen

Was nicht geht:

  • Skype (weil es keinen funktionierenden ARM Port gibt).
  • man kann aber die Web App IMO in Google Chrome benutzen und damit Skype Chats und auch Skype VoIP nutze
  • Konfiguration des Micro (neben der Webcam)

Nvidia Status:

  • aktulle Version ist Nvidia Tegra 12beta1 vom Dezember 2011 (Flash Player funktioniert nicht.) Mit der Nvidia Tegra 12alpha1 vom Juli 2011 funktioniert der Flash Player.
  • rudimentäre Video- und GLX Beschleunigung
  • Deep Sleep Probleme, daher kein Allways on (bzw. zu hoher Stromverbrauch)

Aktueller Stand ist einsehbar im Launchpad Mail Archive - Archive des Mailverkehrs zwischen den Entwicklern

Siehe auch Status der alten Kernel-Versionen im Abschnitt weiter untern. Stellenweise war man da bereits weiter, in Natty+Kernel 2.6.37 ging bereits HDMI und 720p Videos sowie GLES Beschleunigung und in Mercat+ phh/Markus Kernel 2.6.32 waren auch schon alle Tasten und Lid-Events vorkonfiguriert. Diese älteren Stände haben aber wieder andere Probleme, weshalb man nun bemüht ist, alles in Oneiric Ocelot zusammenzuführen.

Flash-Anleitung für Ubuntu Oneiric Ocelot

Da Oneiric Ocelot gut auf dem AC100 läuft, sind die Anleitungen zum Flashen früherer Versionen obsolet (ans Ende dieser Wiki-Seite verschoben) und man kann dieser Anleitung hier folgen.

Diese Anleitung gilt für Ubuntu Oneiric Ocelot Final Release. Stand der Anleitung ist 02.11.2011.

Man muss dabei insgesamt 2 Dateien runterladen und 4 Kommandozeilenbefehle in ein Terminal kopieren und ausführen. Schließlich noch Ubuntu konfigurieren und ein Systemupdate durchführen. Alles zusammen dauert circa 20 Minuten.

wget http://share.grandou.net/debian/nvflash/nvflash_20110628-2_all.deb
  • und dann installieren
sudo dpkg -i nvflash_20110628-2_all.deb
  • ein Backup wird empfohlen, siehe Backup-Anleitung, um alle Partitionen zu sichern (kann man aber auch weglassen, da man immer ggf. ein Custom Rom drauf machen kann, siehe Abschnitt weiter unten zu Backups und Bricked Device)
  • Bootloader runterladen. Der Download liegt bei mir dann unter ~/Desktop
  • AC100 an den Linux Rechner per USB-Kabel verbinden und mit gedrückt CTRL+ESC booten (Recovery Mode zum Flashen per nvflash)
  • von dem Linux Rechner den Bootloader auf das per USB angeschlossene AC100 transferieren per nvflash:
nvflash --bl /usr/lib/nvflash/fastboot.bin --download 6 ~/Desktop/ubuntu-11.10-preinstalled-desktop-armel+ac100.bootimg
cp ~/Desktop/oneiric-preinstalled-desktop-armel+ac100.tar.gz /media/A8C4-6C3B/ubuntu-11.10-preinstalled-desktop-armel+ac100.tar.gz
  • dabei ist zu beachten: es funktioniert mit USB Stick oder auch mit SD Karte. Die Datei muss aber auf der ersten Partition liegen. Ausserdem sollte der Bootloader und das Rootfs vom Namen zusammen passen. Sonst gibt es den Fehler: "No tarball found"
  • nun das AC100 neu booten. Das rootfs tarball wird gefunden und installiert, es finden 2 Reboots statt, dann wird man mir der Einrichtung für Ubuntu begrüßt und muss die Sprache und die lokale Zeitzone wählen. Hier empfehle ich English zu wählen, da (teilweise irreführende) Übersetzung das System schlechter bedienbar macht.
  • für die Tastatur natürlich Deutsch wählen. Namen wählen.
  • Bisher hatte ich an dieser Stelle noch "log in automatically" empfohlen weil das komfortabler ist (aber natürlich nicht so sicher). Seit Suspend/Resume problemlos funktioniert ist eine Userauswahl/Passwortabfrage nach einem (seltenen) Neustart aber ganz sinnvoll.
  • WLAN Verbindung auswählen und den Key eingeben
  • Schließlich erscheint der neue Unity Desktop.
  • Als erstes sollte man auf Updates prüfen und ggf. durchführen, entweder mit dem grafischen Tool "Aktualisierungsverwaltung" oder per Terminalbefehl:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  • Ab hier ist das System gut nutzbar - Rest ist Feintuning

Nvidia Grafiktreiber für Tegra 2

  • die obige Installation funktioniert auch ohne Nvidia Grafiktreiber, nutzt dann aber nicht die Harwarebeschleunigung. Die ist nötig für Flash bzw. Videos. Der derzeitige Alpha-Stand unterstützt - je nach Codec - nur bis ca 320p Video.
  • da das nvidia-tegra Paket nicht im Oneiric-Repository ist (Stand 02.11.11) kann man dazu übergangsweiese das Entwickler PPA in die Sourcen eintragen, dazu gibt es das Frontend Menu/Preferences/Software Sources, dort unter Other Software die Zeile hinzufügen:
deb http://people.debian.org/~jak/ac100/ unreleased main non-free
  • und Paketlisten holen:
sudo apt-get update
  • erzeugt eine Warnung wegen fehlendem Key des neuen Repositories, da haben wir ja keinen angegeben. Es klappt trotzdem, aber man kann den Key auch einfach installieren durch:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AC2A5FFE00823EC2
  • wobei AC2A5FFE00823EC2 der öffentliche Schlüssel ist, der in der Warnung oben angezeigt wird
  • es handelt sich dabei um Pakete für Debian-Linux für AC100. Es kann Kompatibilitätsprobleme mit Ubuntu geben - bei mir funktioniert es aber so. "It provides a Linux kernel, a modified flash-kernel, and (in non-free) Nvidia's binary user space drivers for X and OpenGL ES [almost entirely untested at the moment". Nun daraus die Treiber installieren:
sudo apt-get install xserver-xorg-video-tegra 
  • installiert auch das Paket tegra-libraries (Version 12-alpha.1.0-0ac3)
  • ich weiß nicht, wie man das nun aktiviert. Hab einfach mal ein Reboot gemacht. Und siehe da, Youtube Videos funktionieren (mit Flashplayer s.u. in Chromium)
  • allerdings kriegt man nach dem Booten die Fehlermeldung das der Unity Test "Probleme verursacht" hat. Liegt offenbar an dem Alpha Stand des Nvidia Treibers. Ich hatte in Unity auch Bildartefakte (Kästchen und Streifen) unter Lubuntu funktioniert die Grafik.
  • Nachtrag: es könnte auch am Chromium Plugin Smooth-Scrolling liegen. Das scheint den Framebuffer speziell anzusteuern. Unter Unity ergeben sich dann Grafik-Störungen. Unter Lubunt dagegen nicht. Warum ist mir nicht klar, vermutlich weil der Lubuntu-Desktop keine Harwarebeschleunigng nutzt. Unity ist dagegen ein Compiz-Plugin, das verwendet offenbar Teile des Tegra Treibers so, dass die Darstellung nicht richtig klappt. Ich empfehle hier daher den Wechsel auf Lubuntu, siehe Anleitung dazu weiter unten.
  • es wird nicht das Paket nvidia-tegra installiert. Ich weiß auch nicht, ob man das überhaupt benötigt (kurzer Test zeigte, Flash und Video klappt auch ohne das Paket nvidia-tegra). Man kann jedenfalls diese Version manuell runterladen und installieren:
sudo gdebi ~/Downloads/nvidia-tegra_12-0ubuntu1~alpha1monson6_armel.deb
diese Version alpha1monson6 ist von 05-Jul-2011, ob es neuere bzw. bessere gibt ist mir nicht so klar
es ist auch eigentlich für Ubuntu Natty, nicht für Oneiric. Daran wird wohl noch gearbeitet. Ist also erstmal nur eine Zwischenlösung, die passabel geht, siehe Benchmarks im extra Abschnitt unten.
"> I am interested in the status of ac100 support in Oneiric. Is this landing(ed?) there? Would it be a mistake to upgrade to Oneiric at the moment? Antwort: the .38 kernel will definitely go into oneiric (together with the rest of the ppa stuff), according to alberto multiarch causes issues with the graphics driver in oneiric atm, so we have to see how thats fixable (i would assume the x86 nvidia driver has the same prob though and i hope to inherit any fixes from there) ..." Quelle
  • den Tegra Treiber in /etc/X11/xorg.conf eintragen, sowie auf 16 Bit Tiefe einstellen (mehr geht derzeit nicht):
Section "Screen" 
 Identifier "<myscreen>" 
 Device "Tegra" 
 DefaultDepth 16 
EndSection 
  • Hab bei mir allerdings keine /etc/X11/xorg.conf (komisch) und hab diesen Schritt daher übersprungen
  • Schließlich zeigt sich auch, das die erwünschte GGLX/DRI2 Grafikanbindung nicht funktioniert. Test durch Aufruf von Chromium in terminal:
chromium-browser --allow-outdated-plugins --use-gl=egl --ignore-gpu-blacklist
ergibt:
libEGL warning: GLX/DRI2 is not supported
ohne die Komandozeilenparameter erzeugt viele Meldungen:
GLSurfaceGLX::InitializeOneOff failed

Hinweise:

  • wenn man ganz aktuell sein möchte, kann man unter Einstellungen/Software Sources/Aktualisierungen drei Haken setzen: Wichtige, Empfohlene und Vorab veröffentlichte. Dann gibt es auch die Aktualisierungen aus dem Proposed Repository. Dies beinhaltet ungetestete Pakete, die zu Testzwecken vorab installierbar sind - ist nur versierten Usern zu empfehlen.
  • es gibt auch Daily Builds für Ubuntu 12.04 LTS (Precise Pangolin) hier
  • AC100 ppa einbinden (Edit: dieser Schritt war unter Natty Narwal nötig, inzwischen sind alle benötigten Pakete in den normalen Repositories, d.h. nachfolgede Schritte zum Einbinden des PPA sind nicht nötig bzw. liefern Error 404 "nicht gefunden"):
sudo add-apt-repository ppa:ac100/ppa
sudo apt-get updates
sudo apt-get install linux-ac100 ac100-settings

Flashplayer

  • das Flashplayer-Plugin erfordert die Nvidia Grafiktreiber, s.o, sonst passiert nichts
  • Flashplayer-Plugin in das Pluginverzeichnis von Firefox runterladen:
sudo wget -O /usr/lib/mozilla/plugins/libflashplayer.so http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so
  • wird wegen Compatibility check nicht ausgeführt, also bei Firefox in about:config noch einzustellen:
extensions.checkCompatibility false
  • Firefox (Version 7.0) zeigt weiterhin "You need to upgrade your Adobe Flash Player to watch this video. " geht also nicht. Update: Geht ab Firefox Version 7.0.1
  • für Chromium:
sudo wget -O /usr/lib/chromium-browser/plugins/libflashplayer.so http://kotelett.no/ac100/phh/Android2.2/libflashplayer.so
oder dort einen Symlink setzten
  • Chromium macht einen Warnhinweis, wobei man dann "dieses Mal ausführen" wählen kann, oder Aufruf:
chromium-browser --allow-outdated-plugins 
dann geht Flash ohne Warnhinweis
  • das veraltete Flash Plugin liefert zusammen mit dem Alphastand des Tegra Treiber allerdings nur eine Notlösung (Benchmark siehe unten) und stürzt auch manchmal ab, was dann ggf. ein Reload der Webseite erfordert.
  • Click-to-Play aktivieren: Daher sollte man nicht jedes Flash-Objekt automatisch starten, sondern die Click-to-Play Option aktivieren. Dazu unter about:flags folgendes aktivieren: "Click-to-Play aktiviert eine "Click to play"-Option in den Plug-in-Content-Einstellungen." Dann unter Einstellungen/Details/Content/Plugins die hinzugekommene Option Click-to-Play statt Auto-Play wählen
  • Update: "Hier liegt ein 10.2er Flashplayer vom Motorola Atrix: from Webtop - xda-developers. Der läuft bei mir etwas besser, als der vom Kotelett(.no), außerdem wird er nicht als veraltet markiert" Credits to faddie@android-hilfe.de

Suspend und Resume

Nachtrag: hab das noch mal gecheckt (Stand 02.01.2012) inzwischen ist der Kernel angepasst, so dass er mit beiden Booloadern funktioniert, nachfolgender Schritt ist also nicht mehr nötig. Auch kann man suspend einfach im Power Manager (Rechtsclick auf das Taskbar Icon) so konfigurieren, dass ein Lid Close den Suspend auslöst. Das klappt alles jetzt ohne weitere Eingriffe. Nachfolgendes wird daher nicht mehr benötigt, belasse es aber wegen Vollständigkeit.

Funktioniert nach obiger Anleitung direkt, wenn man vorher den Bootloader von Android 2.1 genutzt hatte. Ansonsten entweder wieder zurück nach Android 2.1 oder in der Datei /boot/bootimg.cfg die Parameter ändern. Siehe hier: http://ac100.grandou.net/installing_linux

Um Ein Suspend-to-Memory auszulösen (erfordert Superuserrechte, per sudo su):

echo mem > /sys/power/state

Sudo geht hier nicht, da der Zugriff auf /sys/power/state diese Rechte nach dem echo Befehl nicht beibehält. Dazu wäre nöötig:

sudo bash -c "echo mem > /sys/power/state"

Sauberer ist es aber sowieso, das script dafür aufzurufen (siehe auch Ubuntu Dokumentation zu pm-utils):

sudo pm-suspend

Das kann man sich natürlich auf jede beliebige Tastenkombination oder auf das Lid close event legen. Damit es entsprechende Reche bekommt kann man entweder udev rules anlegen, oder einige Kommandos generell freigeben für sudoers ohne Passwortabfrage:

sudo visudo

Und dann diese Zeilen hinzufügen:

%s ALL=(ALL) NOPASSWD: /home/s/bin/wifi_off
%s ALL=(ALL) NOPASSWD: /home/s/bin/wifi_on
%s ALL=(ALL) NOPASSWD: /home/s/bin/suspend
%s ALL=(ALL) NOPASSWD: /home/s/bin/backlight
%s ALL=(ALL) NOPASSWD: /sbin/shutdown
%s ALL=(ALL) NOPASSWD: /sbin/mount
%s ALL=(ALL) NOPASSWD: /usr/sbin/pm-suspend
%s ALL=(ALL) NOPASSWD: /usr/sbin/rfkill

Zram aktivieren

Man muss entweder einen Swap-Bereich auf dem MMC definieren, oder - empfohlen - mit Zram einen Swap im RAM festlegen , was deutlich performanter ist (oder beides, was ideal aber etwas komplizierter ist). Ohne Swap funktuiniert das System instabil und stock zwischendurch.

Zram nutz Teile des RAM als komprimierten, virtuellen Swap Speicher und ist aus dem google compcache Projekt hervorgegangen. Es nutzt LZW-Kompression. ARM Code wird damit auf ca 50% komprimiert. Webseiten noch kleiner. Dadurch passen mehr Daten in den Swap, der hier einen Teil des Hauptspeichers abzwackt, statt auf die MMC auszulagern. Der Tradeoff besteht darin, dass man weniger Hauptspeicher für die Anwendungen hat und etwas Performance-Einbussen für die Kompression/Dekompression. Dies lohnt sich aber beim AC100, da die MMC vergleichsweise langsam ist. Zum aktivieren:

  • die Konfigurationsdatei erstellen:
sudo gedit /etc/init/zramswap.conf
  • diese Konfiguration per cut & paste in das Editorfenster und abspeichern
  • zum aktivieren ein Reboot durchführen
  • sonst ist nichts weiter zu tun, die Zram Funktionalität ist im Oneiric Image bereits enthalten
  • wenn alles geklappt hat sieht man dann im System Monitor die Anzeige: 0 von 217MB Swap.

Man kann zusätzlich auch das /tmp Verzeichnis ins Ram legen Quelle, habs noch nicht getestet):

Mounting /tmp to RAM This will make your system a tiny bit faster, but will take up some of your RAM. It also reduces disk read/write cycles, and is therefore a good choice if using an SSD or if you have RAM to spare. Simply add this line to /etc/fstab and reboot:

tmpfs /tmp tmpfs defaults,noatime,nodev,nosuid,mode=1777 0 0

Sound

  • Den Entwicklerkernel .deb aus jani's Verzeichnis installieren (einfach anclicken installiert den und dann reboot).
    • Edit: seit 20.10.2011 auch in Oneiric Proposed (in den Sourcen anclicken und per Update installieren).
    • Edit: Seit 13.12.2011 nun auch in den normalen Updates enthalten.
  • den Speaker im alsamixer aktivieren: dazu alsamixer starten (terminalbefehl). Es funktionieren mehrere Einstellungen. Z.B. einfach den Teil der "SpeakerOut Mux" heißt auf "HPout Mix". Alternativ auf "Speaker Mix", dann muss man aber noch die Speaker unmuten, das geht durch Drücken der Taste M
  • irgendwas abspielen, z.B. Youtube Musikvideo. Das kann man ggf. auch vor Schritt alsamixer machen, dann hört man sofort den Erfolg.
  • allerdings hab ich erst was nach Neustart des testweise gespielten Flash Videos was hören können
  • Einstellungen von alsamixer speichern, sonst sind die beim Reboot wieder weg:
sudo alsactl store

Hinweis: Soundtreiber wird bei Resume derzeit noch nicht richtig gestartet, d.h. ein normales Boot ist erforderlich, um Sound zu nutzen.

  • Micro geht nicht. Offenbar sind die Controls und das Verhalten von alsamixer noch nicht richtig zugeordnet.
  • in einigen Fällen ist offenbar ein re-login erforderlich, damit Änderungen in alsamixer wirksam werden bzw. damit Sound auch aus dem Klinkenstecker kommt. Siehe dazu auch diese Entwickler Diskussion.

Von Ubuntu nach Lubuntu

Das von der Community rausgegebene Preinstalled Image kommt mit dem Standard Desktop Unity/Gnome. Das ist eigentlich keine gute Idee, da Unity/Gnome für das AC100 recht schwer gewichtig ist und hat wohl eher politische Gründe. Vielleicht, weil Unity das Baby von Canonical ist, dem Hauptmacher von Ubuntu? Den Desktop kann man aber frei wählen und umschalten. Am leichtgewichtigsten ist LXDE (Lightweight X11 Desktop Environment). Lubuntu ist nichts anderes als Ubuntu mit dem Desktop LXDE (mit ein paar Ubuntu Anpassungen). Es ist ausgerichtet auf Netbooks, also besonders stromeffizient für eher langsamen Prozessor, wenig Speicher und kleines Display. Lubuntu läd schneller, insbesondere die Tools wie Dateimanager oder Bildbetrachter. Und belegt auch weniger Platz im Hauptspeicher sowie auf der MMC, bei insgesamt 8GB sollte man ja etwas bedächtig damit umgehen. Daneben sprechen noch einige weitere Gründe für Lubuntu auf dem AC100, siehe Vergleich der Desktopumgebungen weiter unten. Unity läuft aber dennoch gut - wer das möchte.

Installation: Lubuntu

  • Diese Anweisung "Remove Ubuntu" von psychocats zum Entfernen überschüssigen Pakete für Ubuntu Oneiric Ocelot ins Terminal kopieren und ausführen. Das deinstalliert alle unnötigen Pakete von Unity/Gnome auch lightdm und wechselt auf lxdm und installiert dann Lubuntu-desktop. So klappts.
  • wer bestimmte Software aus dieser Löschliste behalten möchte, etwa LibreOffice oder das Software Center, sollte die entsprechenden Pakete aus der Liste entfernen. Meine aktualisierte Löschliste siehe De-Ubuntuization.

Schwierigkeiten

  • bei der Installation von Lubuntu bin ich zunächst auf ein paar Schwierigkeiten gestoßen, daher oben der ganz einfache Weg, der für mich schließlich funktioniert hat und nachfolgend die veralteten Schritte, mit denen es nicht so wirklich ging:
  • für LXDE am einfachsten das Lubuntu-Metapaket installieren:
sudo apt-get install lubuntu-desktop
  • man wird gefragt, welchen Session Manager man möchte. Ich denke LXDM wenn man nur LXDE nutzen möchte, ansonsten LightDM. Ich habe LightDM gewählt, weil dies der zukünftige DM sein wird für alle Ubuntu-Derivate.
  • Installation dauert circa 10 Minuten
  • beim Einloggen im Session Manager bekommt man dann den Eintrag Lubuntu bzw. Lubuntu-Netbook (mit einem speziellen Launcher, der den Desktop-Hintergrund ersetzt.
  • neben der etwas anderen Optik (die man wie gewohnt schnell nach eigenen Wünschen umkonfigureren kann) fällt erstmal auf, dass alles viel schneller reagiert. Warum das so ist, ist mir nicht ganz klar. Allein am geringeren Speicherverbrauch (circa 110 MB statt 260 MB benötigt der jungfräuliche Desktop) kann es wohl nicht liegen.
  • eine deutsche Rechtschreibkorrektur für die Desktop Tools (Gedit, Abiword etc) wurde nicht automatisch installiert, nur die Englische, es gibt dafür sicher grafische Installationsmöglichkeiten, einfacher ist aber Kommandozeile:
sudo apt-get install aspell aspell-de
  • Entfernen der Unity-Desktops Pakete spart MMC-Speicher (circa 500MB), ausserdem nerven sonst die ständigen Updates der vielen Gnome-Pakete. Vor allem aber gibt es offenbar einen Konflikt zwischen LXDE und Unity, so dass im System Tray bei LXpanel die Icons nicht richtig dargestellt werden. Welche Pakete dies verursachen habe ich nicht näher untersucht, es ließ sich für mich durch Entfernen aller überschüssigen Pakete für den Ubuntu-Desktop lösen. Das Entfernen stellte sich allerdinsg als ziemlich fummelig heraus
  • Offizielle Anleitung: http://wiki.ubuntuusers.de/Desktopumgebung_deinstallieren
sudo apt-get remove ubuntu-desktop
sudo apt-get autoremove
  • dies sollte das Metapaket ubuntu-desktop deinstallieren und dann bei autoremove erkennen, dass es viele Pakete gibt, die keinen angewählten Installationskandidaten haben. Das klappte bei mir aber nicht, autoremove entfernt nur rund 500 kB, also fast nichts, daher ist manuelles Entfernen überflüssiger Pakete angesagt
  • in der Liste von psychocats der überschüssigen Pakete wird auch lightdm entfernt. Wer für Lubuntu den lightdm beibehalten möchte, darf beim Entfernen dieser o.a. Pakete den lightdm und die zugehörige lib nicht löschen (lubuntu-desktop installiert nur lxdm). Habe das probiert, aber beim Reboot bleibt er dann nach "Bluetooth ... ok" hängen, es kommt kein Login Screen
  • Rekonfiguration von lighdm: sudo dpkg-reconfigure lightdm ergab "dpkg-maintscript-helper: warning: environment variable DPKG_MAINTSCRIPT_NAME missing" und ich fand dazu diesen Thread. Nun mit sudo apt-get purge lightdm und sudo apt-get install lightdm den noch mal komplett entfernt und neu installiert. Reboot kommt dann bis "Schwarzer Bildschirm". Die in dem verlinkten Thread vorgeschlagene Lösung mit debconf aus den debian Quellen zu installieren hab ich nicht probiert. Habe das Problem einfach nurch Wechsel auf lxdm gelöst:
sudo apt-get purge lightdm && sudo dpkg-reconfigure lxdm
  • Hinweis dazu: solange man keinen Login Screen hat muss man mit Ctrl-Alt-F1 (F1 ist neben Esc) in die Console wechseln
  • Man kann auch alternativ nur Unity entfernen:
sudo apt-get remove unity unity-2d-places unity-2d unity-2d-panel unity-2d-spread unity-asset-pool unity-services unity-lens-files unity-lens-music unity-lens-applications gir1.2-unity-4.0 unity-common indicator-sound indicator-power indicator-appmenu libindicator6 indicator-application evolution-indicator indicator-datetime indicator-messages libnux-1.0-0 nuxtools
  • funktionierte bei mir nicht wie gewollt, es wurden immer irgendwelche Packete nachinstalliert
  • Hier bei mypcsupport findet man noch eine ganz gute Zusammenstellung über mögliche Aufräumaktionen (habe selbst nicht alles probiert)
  • Anleitung zu De-Ubuntuization im grandou AC100 Wiki
  • Pakete listen, wählen und abwählen geht normalerweise mit dem grafischen Frontend Synaptic paket Manager. Das war aber nicht stabil, daher lieber per Kommandozeile.
  • Alle installierten Pakete anzeigen lassen:
dpkg -l | less
  • nach bestimmten Textstellen filtern
dpkg -l | grep <Text>
  • Pakete durchsuchen (Es wird der durch update aktualierte Stand der Quellen durchsucht, also alle installierten oder installierbaren Pakete):
apt-cache search Suchbegriff1 [Suchbegriff2]
  • die Standard-Session im Autostart umstellen:
sudo gedit /etc/lightdm/lightdm.conf

Vergleich der Desktop Umgebungen

  • wesentliches Problem - neben der Performance - war für mich, dass in der Unity Oberfläche die obere Leiste nicht mehr auf automatisch Ausblenden konfiguriert werden kann (wie in Gnome). Dadurch verbraucht sie immer Displayfläche. Es wird zwar immerhin dort das Menü angezeigt, das benötigt man aber in etlichen Anwendungen (z.B. Chromium) nur sehr selten.
  • mit aktiviertem Tegra Treiber bekomme ich bei Unity auch Display-Störungen wie Artefakte am Cursor, um Buchstaben oder Streifen im Window-Header oder Unity-Launcher, dies tritt unter Lubuntu nicht auf. Merkwürdig.
  • nun kann man auf XFCE (Xubuntu) oder LXDE (Lubuntu) als Desktop Umgebung wechseln. Wer bei Unity/Gnome bleiben möchte kann auch eine effiziente Gnome/Openbox Kombination wählen
  • eine leichtgewichtige Desktop Umgebung wird auch hier im ArchLinux Wiki als effizienteste Methode zur Steigerung der Performance empfohlen
  • oder siehe auch in diesem Artikel: http://linuxmoose.wordpress.com/2011/07/19/thinking-about-desktop-environments-window-managers-and-how-to-get-a-lightweight-desktop/
  • der OpenBox Window Manager in LXDE ist - obwohl das eigentlich GTK spezifisch sein müsste und daher für alles gleich schnell - komischer Weise beim Scrolling etwas schneller als Metacity oder xfce4 in ihren Desktopumgebungen Unity bzw. XFCE. Dies bemerkt man beispielsweise beim Scrollen in Firefox oder Chrome (ich benutze immer smooth scrolling aktiviert). Um das noch mal genauer zu testen, habe ich die Window Maneger in einer Minimaldesktop Session verglichen (nur nacktes Openbox) und das scheint dann keinen Unterschied mehr beim Scrollen zu geben, d.h. Openbox, xfwm4 und Metacity sind gleich schnell. Umschalten kann man mit metacity --replace bzw. xfwm4 --replace. Die Verzögerung entstand also offenbar durch die fehlende Swap-Partition. Und dazu die Hintergrunddienste der Desktop Umgebungen.
  • Gegenüber Openbox haben Metacity oder xfwm4 als Compositing Window Manager Transparenzeffekt und Schatten und sind beim Fensterwechsel oder Panel einblenden schneller als Openbox, weil die nicht erneut zeichnen, sondern aus dem Puffer laden. Man kann die Desktop Umgebungen auch mit anderen Fenstermanagern kombinieren, also beispielsweise Gnome + OpenBox nutzen, muss dann aber etwas Erfahrung mitbringen, da einige der Einstellungstools dann durcheinander kommen.
  • Ohne Desktop Umgebung, also nur mit einem Window Manager ist das System ein wenig responsiver, reagiert also unmittelbar auf Tasten- oder Mausclicks (z.B. Tab-Wechsel im Browser). Das liegt vermutlich an Diensten die im Hintergrund laufen.
  • Openbox kann man so konfigurieren, dass Anwendungen automatisch Maximiert und ohne Fenstertitel erscheinen. Bei Metacity oder xfwm4 benötigt man dazu den Maximus Dienst.
  • bei den Tools ist LXDE zwar flotter, kann aber auch weniger (z.B. macht gedit Syntax Highlight, leafpad nicht).
  • Speicherverbrauch eines LXDE- oder XFCE-Desktops nach dem Start ist ca. 110MB bzw. 155MB versus 260MB gegenüber dem Standard Unity/Gnome-Desktop. Das sind für Unity circa 150 MB mehr als für LXDE, dank zram ist das kein so großes Problem.
  • nur nackte Openbox Session benötigt auch etwa 110 MB, also nicht wirklich mehr als LXDE
  • Vergleich der Desktops und Anwendungen XFCE vs. LXDE http://mygeekopinions.blogspot.com/2011/08/lxde-vs-xfce.html
  • Lubuntu - a lightweight Ubuntu. Gegenüberstellung des Speicherverbrauche, etc: http://www.osnews.com/story/24476/
  • Gnome erlaubt direkte Integration von Dropbox in Nautilus, bei Thunar oder PCmanFM geht das wohl nicht
  • der Unity Launcher hat ein visuellen Feadback beim Starten einer Anwendung (das Icon ändert sich auf). Beim LXpanel gibt es das beim Taskmanager auch (Icon verschiebt sich leicht wie ein gedrückter Button). Beim Launcher dagegen gibt es leider kein visuelles Feedback. Gerade bei größeren Anwendungen, die länger zum Laden benötigen ist man daher zunächt unsicher, ob der Click registriert wurde.
  • bei Unity sind einige Events vorkonfiguriert, Power Button startes den Logout Dialog, Deckel schließen macht ein suspend.
  • Mich stört an Unity hauptsächlich die fixe obere Leiste

Kernel ändern

  • dafür gibt ein Tool namens abootimg, damit lässt sich der Kernel ersetzen
  • beispielsweise mit einer neuesten Version aus dem Git
  • oder mit dem Kernel von Intersolar ersetzen:
wget  http://avolver.ru/ac100/kernels/38.095bb47-20Sen11/modules-marvin24s-2.6.38-095bb47.tar.gz 
tar xvf modules-marvin24s-2.6.38-095bb47.tar.gz --numeric-owner -C /mnt/mmc
  • damit soll suspend funktionieren, hab ich nicht ausprobiert, da unklar, wie genau der bisherige Kernel zu ersetzen ist und dann das automatische Update wohl nicht mehr funktionieren würde

Multiboot

Multiboot, also Auswahl zwischen Android und Ubuntu geht bislang nur Ubuntu+Android 2.1. Da der Multi-Bootloader nicht mit Android 2.2 kompatibel ist (Gründe sind mit noch unklar): "Recovery work differently after 2.2, no way to boot utuntu after update ... not yet ;) You have to go back to 2.1 boot loader but this way android 2.2 will not boot. You have to choose: ubuntu and 2.1 or 2.2 alone" Quelle

Das bedeutet: man kann derzeit leider nicht Linux auf SD-Karte installieren und intern Android, so dass man ein Dual Boot System hat.

Es geht zwar mit Android 2.1 aber dann hat man eben nur Android 2.1 was einem nix hilft. Es gibt auch spezielle Bootloader, die beides laden könnten, bisher aber nichts gefunden, was wirklich ginge. Und die SD Karte ist etwas langsam. Man muss sich also entscheiden.

  • der AC100 bootet per default von Partition 6 (siehe auch Liste der Partitionen hier)
  • AC100 einschalten mit gedrücktem "Home"-Button (der mit dem Häuschen drauf) bootet in die Recovery Partition, das ist Partition 5. Hier kann man ein SOSBoot Image installieren), mit dem man im Zweifelsfall Systemanalysen und Reparaturen durchführen kann.

Ein Test, ob es reicht, die Partition 2 und 6 zu restaurieren, um zwischen Android und Ubuntu zu wechseln zeigte: Von Ubuntu zu Android reicht es, aber anscheinend erkennt Android die ext4 Partition des Ubuntu nicht und formatiert die heimlich neu. Nach Zurückwechseln zu Ubuntu bleibt dann der Bootloader hängen. Man muss also doch quasi ein fullbackup / restore machen. Das geht, dauert aber insgesamt ca 90 min. (credits to AndroRai@ahndroid-hilfe.de)

Backups, Bricked Device

  • man kann alle Partitionen einzeln auslesen und sichern, siehe Backup Anleitung im grandou Wiki
  • Etwas komfortabler Backup bzw. alles wieder zurück in Ursprungszustand per Script (auch, wenn man kein Backup der Auslieferungsdaten gemacht hat) gibt es hier im Android-Hilfe-Forum gibt es eine umfassende Anleitung
  • Wenn man Ubuntu auf SD Karte laufen ließ, dann reicht ein reflashen das Bootloaders auf Partition 6 und Android ist wieder da, wobei ein Backup nicht nötig ist, siehe z.B. Anleitung von Yang
  • hat man Ubuntu auf MMC installiert, also Partition 14 (wo vorher Android drauf war) überschrieben, kann man über gedrückte Home-Taste beim Einschalten in die Recovery Partition booten (auch "SOS Partition" genannt, das ist Partition 5) und kann dort den original Systemzustand zurückflashen, also "Factory Reset" durchführen. Dies überschreibt Partition 14 wieder mit Android.
  • damit Android wieder korrekt bootet muss der Android Bootloader in Partition 6 stehen. Factory Reset stellt diese Prtition nicht wieder her (sondern wohl nur Partition 14). Daher sollte man ein Backup der Partition 6 haben. Wieder zurückspielen:
sudo LD_LIBRARY_PATH=./nvflash/ ./nvflash/nvflash --wait --bl ./prebuilt/fastboot.stock.bin --download 6 /the/path/to/partition_6_backup.bin --go
  • Alternativ zu einem Factory Reset kann man per gedrückten Tasten Ctrl+Esc beim Booten den Recovery Modus starten (nicht zu verwechseln mit der Revovery Partition, die daher besser SOS Partion zu nennen ist). Dieser erlaubt es von einem anderen per USB Kabel verbundenen Rechner über das Tool nvflash die Daten zu ändern bzw. zu reparieren und wieder zu einem funktionsfähigen System zu kommen. Beispielsweise ein Custom Rom aufzuspielen.
  • besteht dabei die Gefahr, die Hardware zu "bricken"? Also dass gar nichts mehr geht, nur noch als "Briefbeschwerer"?
Es besteht eine Restchance, dass man die dazu nötige Software auf den dazu extra vorgesehenen Partitionen im AC100 zerstört. Davon würde ich nicht ausgehen. Aber nicht umsonst geben alle ROM-Flash-Anleitungen immer den Hinweise: "auf eigene Gefahr". Jedenfalls sollte man die Partitionierung der eMMC nicht ändern, wenn man nicht genau weiß, was man tut. Genügend Akku beim Flashen ist auch empfehlenswert.
  • Ein Voll-Backup ist zu empfehlen, wenn man einen bestimmten, mühsam konfigurierten Zustand wiederherstellen möchte. Ansonsten aber nicht nötig, um wieder den Auslieferungszustand oder ein Custom-Rom wiederherzustellen.

Re-Flash

Hat man das System irgendwie zerlegt und möchte es neu aufsetzen, kann man die obige Install-Anleitung von vorne durchgehen. Wenn die Konsole noch funktioniert geht es aber etwas schneller, statt mit USB kabel und nvflash, direkt das Image von USB Stick bzw. SD karte zu holen und auf die MMC zu flashen:

sudo dd if=ubuntu-11.10-preinstalled-desktop-armel+ac100.bootimg of=/dev/mmcblk0p2

Dabei den USB-Stick/SD-Karte mit ubuntu-11.10-preinstalled-desktop-armel+ac100.tar.gz rein und los geht's von Neuem (thanks to excogitation@android-hilfe.de)

Images / Sourcen / Repositories

Die Images unterscheiden sich nach Kernel-Versionen, Ubuntu Versionen und einigen Besonderheiten für das AC100:

  • phh 2.6.32 KernelKernel mit diversen Patches und Ubuntu Maverick (veraltet)
  • marvin24's Kernel 2.6.37 bzw. 2.6.38 mit Ubuntu Natty (veraltet seit Oneiric Beta 2 und Kernel 2.6.38-1000-ac100). Hierfür ist die Einbindung des AC100 PPA zusätzlich den normalen Natty Repositories erforderlich.
  • marvin24 Kernel mit Updates und Ubuntu Oneiric. Neueste Pakete incl. aller AC100 Kernels und updates sind in den Standard Oneiric Repositories, Einbindung des AC100 PPA ist also nicht erforderlich ("note that all packages from the PPA are integrated in the oneiric images linked above, in oneiric the PPA will only be used for post-release updates of single packages")

Nvidia Spezifikation

  • Quelle: Tegra_Linux_Driver_Package_Release_Notes_L4T.ER1.pdf
  • Deep Sleep (LP0) does not work.
  • Resume nur über Power On Knopf

Quellen

Flash Anleitung für Ubuntu Maverick Mercat

Hier nun Anleitung zum Flash-Vorgang, der die Schritte aus obigen Anleitungen zusammenfast (hauptsächlich die von Yang auf o-learn.com) und die dazugehörigen Images verlinkt.

Folgenden Schritte erstmal auf einem anderen Linux-Rechner durchführen, der dann das AC100 später zum Leben erweckt:

  • nvflash runterladen. Normalerweise gibt es dieses Tools von Nvidia als Bestandteil von linux4tegra. Da die Nvidia Seite zum Zeitpunkt als ich diesen Text schrieb down war muss man das woanders her holen. Fündig wurde ich hier bei scoopr: linux4tegra_10.9.3.tar.gz. Edit: inziwschen hat Nvidia das etwas neuere linux4tegra Release 12 Alpha 1 veröffentlicht und auch als .deb Paket. Vorzugsweise also einfach das .deb installieren, Anleitung dazu siehe hier im grandou Wiki.
  • Backup des AC100 (über das Tool nvflash von einem anderen Linux Rechner, der AC100 ist dazu per USB-Kabel verbunden)
sudo su
cd path-to-your-linux4tegra/
sudo LD_LIBRARY_PATH=./nvflash/ ./nvflash/nvflash --bl ./prebuilt/fastboot.stock.bin --read 6 partition_6_backup.bin --go
  • neuen Bootloader runterladen (http://markit.dyndns.org/ac100/32/boot.menu.img/32.boot.menu.v1.img) und auf den AC100 flashen, so dass man wählen kann zwischen Boot von der SD Karte oder Shell. Multiboot Android/Ubuntu geht damit leider nicht, mehr dazu unten unter Multiboot. AC100 flashen geht über das Tool nvflash von einem anderen Linux Rechner:
sudo LD_LIBRARY_PATH=./nvflash/ ./nvflash/nvflash --wait --bl ./prebuilt/fastboot.stock.bin --download 6 /the/path/to/32.boot.menu.v1.img --go
  • SD Card vor dem Formatieren unmounten, dazu zuerst anzeigen lassen, welche Geräte es gibt:
sudo fdisk -l

typischer Weise heißt die SD Karte:

mmcblk0p1
  • Unmount (notwending, weil gemountete Geräte lassen sich nicht formatieren):
sudo umount /dev/mmcblk0p1
  • SD-Karte formatieren:
sudo mkfs.nilfs2 /dev/mmcblk0p1
  • Ubuntu Image runterladen
  • es gibt dabei diverse Image Varianten mit unterschiedlichen Kernels, welches nun am besten ist scheint noch offen.
  • ich habe dieses maverick-5-test-Image von Markus gewählt. Wurde im Readme als stabil empfohlen. Es basiert auf Maverick plus dem phh 2.6.32 Kernel mit Tweaks von Markus für das AC100, siehe Readme.
  • Als neuere "Sorglosinstallation" gilt das neuere 2.6.37 Image, das auch mit dem AC100 PPA zusammenspielen sollte und eine Abspaltung aus dem aktuellen Chrome-OS ist. Man kann dann Ubuntu Natty nutzen Hab diesen Weg selber nicht probiert, sondern bin gleich zu Oneiric Ocelot, als die ihre Beta 2 rausgebracht haben. Stand ist: "As of early September 2011 a 2.3.38-chromeos kernel fork is used in Ubuntu and included in the Oneiric archives. It does not support suspend/resume and sound yet. NOTE: Oneiric is still in beta, and random errors might (read: probably will) occur. " siehe Ubuntu AC100 Wikiseite. Mit der Beta 2 und dem Kernel 2.6.38-1000-ac100, verfügbar seid 24.09.2011, funktioniert aber das meiste, anders als angegeben geht suspend durch den Kernel nun doch und Sound immerhin aus den Kopfhörerbuchsen. Am Sound aus den internen Lautsprechern wird fleissig gearbeitet. Daher empfehle ich inzwischen die Oneiric Installation, siehe Status der Oneiric Portierung und Installationanleitung weiter unten. Die funktioniert etwas vereinfacht mit einem anderen Loader, deshalb siehe weiter unten die andere Anleitung unter Oneiric Ocelot. Hier nun weiter mit der Installation des Markus' Image:
  • SD Karte mounten sonst kann tar nicht auf die Karte zugreifen (mmcblk0p1 als Devicenamen ggf. ersetzen).
sudo mount -t nilfs2 /dev/mmcblk0p1 /mnt
  • auf die SD Karte entpacken
 sudo tar xavf Ubuntu-rootfs-file-package-you-downloaded.tar.gz --numeric-owner -C /mnt
das dauert ca 5 Minuten
  • SD Karte in AC100 stecken und Ubuntu booten und erstmalig einrichten
  • Hinweis: Bei Wahl des Deutschen Quertz Layouts macht er bei PG UP immer einen Screenshot. Nicht wundern. Dazu (später) unter Menü/System/KeyboardShortcuts den Befehl Print Screen auf einen anderen shortcut setzen, z.B. Alt-Page-Up. Nur löschen reicht komischer Weise nicht. Dieses Problem ist in der Oneiric Installation behoben.
  • nach der erfolgreichen installation WLAN einrichten, ein Terminal öffen und die Updates holen (anschließend ist ein Reboot empfohlen):
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  • das Image auf den internen eMMC Speicher übertragen. Dazu am einfachsten erstmal die SD-Karte in den Linux Rechner legen und mounten:
sudo mount /dev/mmcblk0p1 -t nilfs2 /mnt

Nun das vorher runtergeladene rootfs-Image auf die SD-Karte kopieren:

sudo cp ~/ac100/rootfs-32-maverick-5-test.tar.gz /mnt/rootfs-32-maverick-5-test.tar.gz

Dann die SD-Karte wieder in den AC100 stecken und das rootfs file von der SD Karte in den internen Speicher entpacken:

sudo mkfs.nilfs2 /dev/mmcblk3p6 (formatiert den internen Speicher mmcblk3p6)
sudo mount -t nilfs2 /dev/mmcblk3p6 /mnt
sudo tar xavf Ubuntu-rootfs-file-package-you-downloaded.tar.gz --numeric-owner -C /mnt

Status und Unterschiede der Image-Versionen

Das o.a. Maverick-5-test Image von markus basiert auf einem phh 2.6.32 Kernel mit Tweaks von Markus für das AC100. In dieser Übersicht (Toshiba AC100 - Linux ARM Database) steht der phh 2.6.32 Kernel unterstützt die HW komplett, bis auf Backlight Control (komischer Weise behauptet das obige Readme, dass Backlight Control doch ginge). Ich konnte das in Test zwar bestätigen, leider wacht aber WLAN nach dem Suspend nicht auf und merkwürdige CPU-/Netzwerklast-Probleme bestanden, siehe Erfahrungen oben.

Updates des Kernels über das PPA gehen aber vom phh Kernel nicht, dies geht erst ab 2.6.37 Kernel. Dazu wird komischer Weise dieser Kernel 2.6.37 downloadbar von Ogra vorgeschlagen (in der Übersicht ist Ogra jedoch auf Stand 2.6.29).

Soweit das auf der offiziellen AC100 Wiki-Seite angegeben ist, ist das alles aber veraltet. Nun scheint in dem AC100 PPA der marvin24s Kernel zu stecken, aus einem ChromeOS. Dieser ist aktueller und wird weiter gepflegt. Die Kernel-Version 2.6.38 ist aktuell, konnte bislang (bis 24. September 2011) aber auf dem AC100 noch kein Sound/Suspend. Daher wurde von einigen noch Kernel 2.6.37 benutzt. Laut dieser Übersicht kann marvin24's Kernel 2.6.37 alles bis auf HDMI Ausgang und Backlight Control, habe das nicht verifiziert.

Seit Oneiric Beta 2 und Kernel 2.6.38-1000-ac100 (verfügbar seit 24.09.2011) sind aber die meisten Schwächen behoben und man sollte die Oneiric Installation wählen, siehe Anleitung oben bzw. Erfahrungsbericht dazu nachfolgend.

Tastaturbelegung

Die obere Reihe sind unter Ubuntu ganz normal F1 bis F12. Rechts dann Begin, End, Insert und Delete. Alle Tasten sind vorhanden, wie bei einer normalen dt. Belegung. Nach kurzer Eingewöhnung braucht man eigentlich auch keine Beschriftung. Hier findet man eine genaue Tabelle der Tastenbelegung/Keycodes.

Per FN Key werden die aufgedruckten Funktionen, also Bildschirm heller/dunkler, Lautstärke lauter/leiser etc ausgeführt. Das kann man in Linux alles frei konfigurieren. Im Markus Rom ist das mit dabei und FN liegt auf dem Menüknopf (neben rechtem Ctrl). Im aktuellen Ubuntu Image ist dieses FN Feature noch nicht drin. Mit ein wenig Linux kenntnissen kann man das aber schnell selber einstellen. Oder das bisherige File anpassen.

Bildschirm-Helligkeit

  • für den Zugriff auf pwm-backlight sind Superuser Rechte erforderlich, vorher also
sudo su
  • Bildschirmhelligkeit z.B. auf 40% setzen
echo -n 40 > /sys/class/backlight/pwm-backlight/brightness
  • in Unity kann man die Helligkeit auch durch Einstellungen/Bildschirm per Schieberegler einstellen
  • um die Steuerung der Helligkeit auf Tasten zu legen nach dieser Anleitung:
  • die scripte backlight_inc und backlight_dec wie angegeben erstellen und als root in /usr/local/bin/ ablegen, am einfachsten durch gedit:
sudo gedit /usr/local/bin/backlight_inc
  • Dann ausführbar machen:
sudo chmod +x /usr/local/bin/backlight_inc
sudo chmod +x /usr/local/bin/backlight_dec
  • udev rules anlegen, damit Zugriff auf pwm-backlight für User der Gruppe admin erlaubt ist:
sudo gedit /etc/udev/rules.d/99-backlight-permissions.rules
  • Und diese Zeilen einfügen:
KERNEL=="pwm-backlight" SUBSYSTEM=="backlight" RUN+="/bin/chmod 664 /sys/class/backlight/pwm-backlight/brightness"
KERNEL=="pwm-backlight" SUBSYSTEM=="backlight" RUN+="/bin/chgrp admin /sys/class/backlight/pwm-backlight/brightness"
  • Nun die Hotkeys Ctrl-F6/F7 eintragen und als Aktion die o.a. Scripte aufrufen. Für Lubuntu per:
gedit ~/.config/openbox/lubuntu-rc.xml

dort im Abschnitt keyboard einfügen:

<keybind key="C-F7"><action name="Execute"><command>/usr/local/bin/backlight_inc</command></action></keybind>
<keybind key="C-F6"><action name="Execute"><command>/usr/local/bin/backlight_dec</command></action></keybind>

Eindruck/Erfahrungen

Eindrücke rootfs-32-maverick-5-test.tar.gz von SD Karte

  • Bootet akzeptabel schnell von der SD Karte (circa 1:30 Minute von PowerButton bis Desktop mit Panel und WLAN verbunden)
  • beinhaltet Gnome mit Netbook Remix, startet also alle Fenster in Fullscreen (dank Maximus Dienst). Der Netbook Launcher ist aber wie gehabt zu langsam und mit seinen riesigen animierten Icons nicht für Maus ausgelegt, muss man ändern. Seit Ubuntu 10.04 geht das aber nicht mehr so einfach, da der Panel gelockt ist. Am einfachsten als in eine standard Gnome Session einloggen statt in die Netbook Edition. Dort dann den Fensterwechsler (Window Picker Applet) in das Panel eintragen und Maximus in Autostart.
  • Touchpad funktioniert sehr präzise, gut Beschleunigung, Srollen am Rand, leider keinerlei Multitouch Gesten (müsste man wohl spezielle Tools nachinstallieren)
  • alles recht flott, allerdings laden größere Anwendungen recht langsam, das liegt wohl an der langsamen SD Karte
  • Akkulaufzeit beim WLAN Surfen scheint gut, im Bereich 5 Stunden bei 50% Bildschirmhelligkeit, und damit etwa vergleichbar mit der Laufzeit unter Android. Laufzeit bei 100% Bilschirmhelligkeit liegt um gut 4 Stunden.
  • Suspend klappt prima, dauert ca 2 Sekunden bis er danach wieder da ist und noch mal ca 5 Sekunden bis WLAN verbunden ist. In einem ersten Test hat er über Nacht 3% Akku im Suspend verloren, würde voraussichtlich also circa 2 Wochen im Standby durchhalten.
  • Suspend wird durch Menü+ESC ausgelöst. Deckel schließen macht nur das Display aus. Finde ich gut gelöst. Deckel öffnen (oder Power on oder Home) löst das Resume aus. WLAN und UMTS werden reconnected. Beim WLAN klappt das meistens, aber nicht immer, das scheint ein bekanntes Problem zu sein. Bei UMTS muss man immer erst die PIN eingeben und danach verbinden - etwas umständlich, aber das war bei Android leider auch schon so.
  • Deckel zu verbraucht circa 10% Akku je Stunde, das kaum weniger als der normale Idel-Betrieb, da scheint also noch einiges Strom zu verbrauchen. Markus: "menu + left ctrl button shuts down screen forever (which saves another 700mW more as just turning off backlight), but is only seldomly useable" d.h. 700mW braucht das Screen Refreshing, das man hier ausschalten kann, man kriegt den Schirm dann aber nur durch Reboot wieder aktiviert.
  • Ändern der Bildschirmhelligkeit geht über Menü+F7, funktioniert. Wird allerdings etwas unsystematisch verzögert und das Onscreen-Display Feedback dazu erscheint nur sporadisch.
  • Sound und Flash: Test mit ARD Tageschau als Fash Video läuft im Firefox incl. Sound über Klinkenstecker. Interner Lautsprecher gibt keinen Sound. Lautstärke Volumen lässt sich über Hotkeys steuern (reagiert aber wieder nur sporadisch). Flash läuft ruckelfrei, auch Fullscreen. CPU Last wird mit rund 50% angezeigt.
  • ab und zu friert das System ein und kommt erst nach einigen "Gedenkminuten" wieder zu sich. Das liegt vermutlich an der langsamen SD-Karte.

Eindrücke rootfs-32-maverick-5-test.tar.gz von eMMC

  • Nachdem die ersten Eindrücke recht positiv ausfielen, habe ich das rootfs-32-maverick-5-test.tar.gz per USB Stick transferiert und auf den internen eMMC Speicher entpackt, Reboot. Weitere Eindrücke sind also auf dem selben Image, aber von eMMC statt SD-Karte
  • bootet nur unwesentlich schneller, liegt bei ca 1:20 Minute
  • Anwendungsperformance ist nicht unbedingt schneller als über SD-Karte, aber es ist verzögerungsfreier. Läuft auch recht stabil. Nur Ubuntu Software Center macht probleme, man sollte immer nur ein Programm nach dem anderen installieren/deinstallieren, Paralelverarbeitung hängt sich auf
  • als Mail Client habe ich Claws Mail ausprobiert, dann aber doch Thunderbird gewählt (ist einfach gewohnter), klappt problemlos (mit IMAP/Googlemail)
  • einige Anwendungen scheinen aber nicht zu gehen: Freemind (stürzt ab mit Bildschirmartefakten), Minitube (meldet Medienzugriffsfehler), gmail (Bildschirmartefakte)
  • Thunderbird versucht die 3000 Mails aus der Inbox runterzuladen (später hab ich das dann anders eingestellt). Das legt das System lahm. Überhaupt muss man etwas beobachten, welche Anwendung was auf dem eMMC Speicher macht, da der recht langsam ist wird der bei Parallelbetrieb zum Flaschenhals. Ich vermute der Taskwechsel und das Swapping ist dann teilweise schneller als der eMMC hinterherkommt und es gibt einen Deadlock. D.h. für die Praxis: man kann kaum mehrere Anwendungen resident halten als die 512 MB Hauptspeicher, darüber wird das System instabil und friert sporadisch ein. Chromium mit 4 Tabs plus Thunderbird mit einigen hundert emails ist da bereits schon zu viel. Muss man sequentiell machen.
  • das WLAN scheint sich sporadisch zu verabschieden (selten, aber es stört), d.h. die Verbindung geht verloren und wird nicht wieder aufgebaut. Bislang hilft dagegen nur ein Reboot. Ist nicht wieder vorgekommen, also wirklich sehr selten.
  • an die Tastatur gewöhnt man sich nach einiger Zeit richtig gut
  • das Touchpad berühre ich leider dabei oft unabsichtlich und der Cursor verspringt (bin sonst ein Thinkpad mit Trackpoint gewöhnt).
  • Scrollen in Firefox ruckelt (Bildschirmflimmern) mit der Einstellung smooth scroll und auch mit der Yet Another Smooth Scrolliing Extension, die oft sehr verzögert reagiert. Die SmoothWheel Extension ist ähnlich laggy. Scrollen bringt extreme Last auf das System. Chromium mit seiner Smooth Scroll Extension ist da viel flüssiger und belastet auch die CPU nicht. Firefox het daher leider nur ohne smooth scrolling. Dies scheint aber ein bekanntes Problem von Firefox zu sein und hat wohl nichts mit dem AC100 zu tun.
  • Firefox hat auch nicht wie Chromium eine Trennung der Tabs in einzelne Tasks. Das bedeutet, dass ein ladender Tab den anderen blockiert, also z.B. nicht mehr scrollbar ist. In Chromium teilen die sich dann die CPU, blockieren aber nicht. Allerdings benötigen Tabs in Chromium recht viel Speicher, rund 30 MB je Webseite, stellenweise auch deutlich mehr.
  • in Chromium solte man "Click to Play" einstellen, dazu unter about:flags zunächst aktivieren und dann die entsprechende Checkbox unter Einstellungen aktivieren. Dadurch wird Flash Content erst beim anclicken ausgeführt.
  • das flash Plugin (libflashplayer.so) ist vorinstalliert in diesem Image. Es liegt in /usr/lib/mozilla/plugins. Chromium erkennt es automatisch und kopiert es in /usr/lib/chromium-browser/plugins. Damit es keine Fehlermeldung generiert, wird Chromium mit folgender Option aufrufen:
chromium-browser --allow-outdated-plugins %U
  • 480p Flash Videos in Youtube werden flüssig mit circa 30% CPU Last abgespielt. 720p Flash geht auf 100% Last und kann schon mal stottern.
  • bei Starten von Chromium aus einem Terminal heraus erhalte ich direkt die Fehlermeldung:
ERROR:extension_prefs.cc(734)
das scheint ein bekanntes Problem zu sein, eine Lösung hab ich aber nicht gefunden.
  • Leider crash Chromium auch bei mehr Last (ab ca 6 Tabs)
  • noch mal ein Boot Speed Test. Direkt ohne Login Abfrage in Gnome Standard: 1m:08s Offenbar bootet das in Gnome rund 12 Sekunden schneller als in die Netbook Edition
  • das Tastatur Layout schaltet sich nach jedem Reboot zurück auf USA. Etwas lästig.
  • manchmal beschäftigen die Tasks clearnerd und mmcqd die CPU sehr stark. Vermutlich nach einem vorausgehenden Systemabsturz
  • unerklärlicher Background Traffic, ständig einige kB/s Download. Bisher nicht klar wo der herkommt

Lubuntu Oneiric Beta 2 mit Kernel 2.6.38-1000-ac100 und Nvidia Tegra 12alpha1 Treibern

  • Ausgangspunkt: Ubuntu Oneiric Image installiert, dazu Nvidia Treiber ("alpha1monson6"), dann sudo apt-get lubuntu-desktop, Gnome/Unity alle Pakete entfernt, s.o.
  • Leider ist Dash sehr langsam und das Software Center erzeugt Hindergrundlast (siehe per commando top) - unbenutzbar (Stand: Beta 2 Image vom 23.09.2011, nachfolgende Images sollten stabiler laufen)
  • "udate-apt-xapian-index" closed unexpectedly Fehlermeldungen
  • mit top die Systemlast beobachten und die Indexierung erstmal durchlaufen lassen (xapian-index, mandb), bis sich das etwas beruhigt
  • dann ein Update durchführen:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  • das dauert wenn man ein Daily Image installiert hat nur wenige Minuten, da es nur wenige Updates gibt (von Beta 2 auf 10 Tage später dauert es allerdings ca 30 Minuten)
  • anschließend läuft wie durch Geisterhand alles ordentlich. Keine unerklärliche Hintergrundlast mehr, keine Abstürze, der Browser (default ist Firefox dabei) klappt prima. :
  • wesentliches schnelleres Booten als mit dem vorherigen Markus Kernel, Benchmarks nachfolgend, mag teilweise am geringeren Speicherbedarf des LXDE Desktops liegen, teilweise am neueren Kernel
  • Flüssigeres Scrollen in Firefox, noch mal deutlich flüssiger scrollt Chromium. Das liegt voraussichtlich an Openbox als Fenstermanager und an den selteneren Interrupts durch Dienste. Noch nicht ganz klar.
  • der misteriöse Background Traffic, s.o. ist weg
  • Anwendungen die nicht funktionieren hab ich keine gefunden geht alles. Auch die gelegentlichen Bildschirmartefakte o.ä. sind nicht mehr aufgetreten. An welchem Update das genau lag, kann ich leider nicht mehr im nachhinein feststellen
  • eine Maus am USB-Port ging wie zu erwarten problemlos
  • UMTS einschließlich HSDPA über meine O2 SIM Karte geht flüssig und kein Problem, verbindet auch reibungslos.
  • CPU-Last durch Browser: Chromium produziert beständige Last in seinen Tasks. Lasse mir das mit top im Terminal anzeigen. Eine der Chromium-Browser Tasks liegt meist bei 5 bis 18% Auslastung. Das hängt aber wohl stark von den Inhalten der Seite ab. Bei Tests mit nur Wikipedia Seiten, also ohne komplexe Verschachtelung, Scripte o.ä. geht die Last tatsächlich auf 0% runter, wenn man nichts (Scrollen) macht. Tippen in diesem Wiki hier produziert aber bereits 10-40% Last. Lässt man sich das im Chrome Task-Manager (Shift-ESC) anzeigen, liegt der "Browser" kontinuierlich bei recht hoher Last, 10 bis 60% auch in Ruhe. Erstaunlich. Bei vielen Tabs (so ab ca 20) kommt es dann offenbar zu CPU- bzw. Speicherüberlastung und das ganze wird unresponsiv, Chrome schließt dann einige Tabs und komm dann wieder zu sich. Adblock Plus benötigt übrigens 22 MB Speicherplatz, Smooth Scrolling 5,2MB, beides ist das aber wert, denke ich.
  • Firefox produziert Last dagegen nur, wenn Seiten geladen werden, danach geht die Last bei Firefox runter. Hintergrundlast durch Flash (geht ja nicht) oder Scripte besteht kaum (wohl auch Dank Adblock Plus). Auch der Speicherverbrauch ist bei Firefox einiges geringer. Chrome teilt jedes Tab ja in einzelne Tasks. Dadurch leichter zu debuggen, wohl aber speicherhungrig.
  • Firefox hat den weiteren Vorteil, dass man Autohide der Adressleiste durch eine Erweiterung hinzufügen kann, schafft mehr nutzbaren Bildschirmplatz. Das geht in Chrome derzeit nur unter Windows (siehe Chrome Compact Navigation).
  • leider geht unter Firefox aber kein Flash und das scrollen ist etwas langsamer als mit Chrome
  • Performance Test mit und ohne Antialiazing/Hinting (GTK Einstellung) ergaben keinen nennenswerten Performanceunterschied - sowohl Chromium als auch Firefox irgnorieren diese Einstellung und machen ihr eigenes Font Rendering.
  • Performance Bugs: selten aber offenbar gibt es immer noch Locks in der Speicherverwaltung. mmcqd task belegt manchmal viel CPU. Ebenso die Tasks irq/182-3d oder kswapd0, kworker, ksoftirqd/1 - alle deuten auf Probleme der Speicherverwaltung bzw. ACPI wakeup signale, Interrups von Maus, Ethernet oder anderen Systemen hin. Möglicherweise liegt es am Dateisystem? Am NvEc? Ist per default auf ext4. Hilft nilfs2? Hilft Zram? Offenbar, siehe Abschnitt nachfolgend.
  • es gibt eine Powertop Implementation für Tegra, mit der man das genauer debuggen kann. Wenn man das Entwickler PPA (.../~jak/ac100/, s.o.) eingebunden hat einfach per apt-get installieren:
sudo apt-get install powertop
  • Und dann wie gewohnt starten:
sudo powertop

Mit Zram

  • obige Speicherprobleme lagen wohl an der fehlenden Swap Konfiguration. Jedenfalls tritt das nach der Installation von Zram (Aktivierung siehe oben) nicht mehr auf. D.h. keine mmcqd Überläufe mehr und damit bleiben auch die Task von Chromium bei 0% Prozessorlast wenn sie nichts tun, das ganze System läuft dadurch viel runder.
  • auch unter Unity nun ordentliche Performance
  • die problematischen Anwendungen wie Ubuntu Software Center oder Synaptic laufen nun ohne Absturz bei Speicherüberlauf

Netzwerkverbindungen (UMTS/EDGE/GPRS/WLAN)

  • eine O2 SIM Karte funktioniert problemlos. Es gibt 4 Möglichkeiten sie einzulegen, richtig ist: Schräge Ecke aussen Links (wenn man von unten drauf schaut). Man muss die erstmalig einrichten mit Zugangpunkt "O2 Internet". Leider wird nach jedem Suspend/Resume die PIN erneut abgefragt, das ist etwas lästig. Allerdings kann man hier nach Resume auch Cancel drücken, die Verbindung geht dann trotzdem (PIN war ja bereit vorher eingegeben). Der Durchsatz erscheint mir sehr flott, deutlich schneller als mit einem Galaxy Tab (noch genauer zu testen).
  • der Network Manager verhält sich etwas merkwürdig: er versucht ein Interface (WLAN oder UMTS) zu verbinden, obwohl das Häckchen dort gar nicht gesetzt ist, das scheint initial erstmal so zu sein und wird wohl falsch angezeigt. Wenn man an+aus macht, ist das Interface es deaktiviert, ok. Reaktivieren gehts dann nicht mehr so spontan, das hat eine komische Gedenkminute, plötzlich verbindets dann. Kann man aber mit leben.
  • eine Eduroam-Verbindung suchte endlos und schien nicht zu wollen (Markus' Image). Reboot hat das Problem behoben, die Eduroam-Verbindung ging dann direkt.Mit Oneiric ging das sofort, ohne Reboot.
  • kuzer Speedtest ergab 3,5 Mbit Download im Uni-WLAN

Anmerkungen von Philipp 25.10.2011:

  • Meine Vodafone SIM Karte funktioniert unter Ubuntu 10.10/11.04/11.10 problemlos. Einfach mit dem Assistenten die Vorgaben für Vodafone übernommen. Leider bleibt die UMTS-Verbindung während des Standbys nicht aufrecht.
  • WLAN macht keine größeren Probleme. Ab und zu wird die Verbindung abgebrochen und lässt sich dann auch nicht mehr aufbauen. Ein Neustart löst dieses Problem. Der Verbindungsabbruch kommt etwa nach 10 Stunden mal vor. Also nicht allzu häufig. Unter Android besteht dieses Problem auch.

--pi 19:59, 3. Nov 2011 (CET) dazu:

  • Ich kann keinerlei Verbindungsabbrüche mit WLAN feststellen, bei mir läuft es stabil. Kann auch immer verbinden, auch nach Suspend. Prüfe mal Packet Loss, ggf. hast Du das unten angegebene Problem

Bekannte Probleme

  • mit einigen Routern (lt. Berichten: WRT54GL, Asus RT-N16, Netgear, DSL-Easy Box 802) wurden Störungen der WLAN Verbindung berichtet. Ping auf den Router erzeugt 50% und mehr Packet loss. Möglicherweise ein Konfigurationsproblem des Routers bzw. seiner Firmware im Zusammenspiel mit dem Ralink Treiber im AC100. Mehr ...
  • Unter Android funktioniert die WLAN Verbindung dabei trotzdem, offenbar weil dort eine andere Fehlerkorrektur stattfindet, die der unter Linux eingesetzte Ralink Treiber so nicht macht bzw. anderes Timing der Fehlerkorrektur hat.
  • das Problem trat dann auch bei Fritzbox als Router auf
  • Ursache war in diesen Fällen wohl eine Beeinflussung durch die Abschirmung des LCD im AC100, das auch die WLAN-Antenne überdeckt. Das kann man durch Öffnen des Display Deckels und eine kleine Isolierschicht leicht beheben, siehe diese bebilderte Anleitung.

Browser

  • Leider unterstützt weder Firefox noch Chrome ein Double Tap Zoom einer Spalte, so wie in iOS oder Android. Das wäre für Netbooks mit kleinem Bildschirm auch besonders hilfreich
  • Chrome kann nicht mal ein Text only zoom. Nur Full Page Zoom. Dabei bleibt die physikalische Breite aber erhalten, das nützt also nichts, um einen Absatz füllend zu bekommen.

Spezifisch zu LXDE/Openbox

  • LXDE zeigt kein Busy Mouse Icon beim starten einer Anwendung vom Desktop (obwohl dieser Effekt auf True eingestellt ist) - offenbar ein bekannter Bug in LXDE/PCmanFM
  • Double Click ist statisch und zu kurz. Muss man manuell in gtk Konfigurationsfile umstellen, siehe hier 400ms passt prima. D.h. die Datei ~/.gtkrc-2.0 erstellen (existiert normalerweise nicht, es sei denn man hat etwas am GTK-Thema geändert), am einfachsten mit:
gedit ~/.gtkrc-2.0
  • und da rein dann die Zeile eintragen:
gtk-double-click-time=400el
  • Einstellungen werden aktiv nach GTK restart (ausloggen und wieder einloggen)
  • Icon Positionierung auf dem Desktop ist "problematisch"
  • Sylpheed mailer nutzt nicht die systemeinstellungen für Standardbrowser oder Editor, musss man einstellen: "For making changes to Sylpheed's interface, you need to open the "common preferences" in the Configuration menu."
  • Panel Font (Stil und Größe) kann nicht verändert werden (dmit die Digitale Uhr auch in ein vertikal ausgerichtetes Panel passt). Workaround: Zeitformatangabe durch Newline %n trennen:
%H:%n%M
  • Maximus meldet Fehler: Unhandled action type _OB_WM_ACTION_UNDECORATE. Offenbar unterstützt Openbox diesen Befehl nicht. Es gibt aber in der lubuntu-rc.xml Einstellmöglichkeiten, auch ohne Maximus Fenster zu maximieren. Siehe openbox/lubuntu-rc.xml
  • Batteriesymbol verschwindet/xfce4-power-manager scheint nicht gestartet. xfce4-power-manager-settings sagt "Xfce power manager is not running", crasht aber dann bei "run". Das Problem wird in diesem Thread beschrieben und Lösung ist, die überschüssigen Pakete von Unity/Gnome zu entsorgen. Welcher Konflikt hier aber genau besteht ist leider unklar.
  • Aufbau des Menüs ist ganz leicht verzögert, vermutlich liegt das an den "dynamischen" Menüs von Openbox, da werden die Menüeinträge wohl erst zu Laufzeit generiert. Edit: Nein, die Openbox Menüs sind andere, in Lubuntu per Default gar nicht aktiviert. Verzögerung vielleicht durch laden der Icons?

Benchmarks

rootfs-32-maverick-5-test.tar.gz von eMMC:

  • Launch Firefox: 6,9s; 3,6s
  • Load tabletroms.com: 7,3s
  • Load Endaget.com: 12s
  • Launch Midori: 4,9ss
  • Load tabletroms.com (Midori): 5,9s
  • Load Endaget.com: 11,0s

Lubuntu Oneiric Beta 2 mit Kernel 2.6.38-1000-ac100 und Nvidia Tegra 12alpha1 Treibern:

  • Boot von Power On bis WLAN verbunden: 46s
  • Launch Chromium (incl. Adblock Plus): 16s
  • Load tabletroms.com: 6,3s
  • Load ARD.de: 11,5s
  • Tageschau Fullscreen läuft flüssig
  • Youtube Flash 360p Originalgröße spielt flüssig, Fullscreen leichte ruckler, höhere Auflösungen mehr Ruckler
  • Load Endaget.com: 10,0s

zum Vergleich, Android 2.2.5:

  • Launch Opera: 6,35s
  • Load tabletroms.com: 9,3s

Systembenchmarks

  • MMC: average read 23,7MB und average access time 1,1ms (credits to AndroRai@android-hilfe.de)

Tipps

  • SmoothScroll extension für Chromium Browser installieren
  • sowie ThinScrollBar für mehr Platz
  • die Erweiterung Lazarus speichert Texteingaben in Edit-Fenstern auf einem Server und kann alte Version auf Click später (z.B. nach Absturz) recovern
  • Multilinguale Rechtschreibkorrektur: Automatische Sprachenerkennung für die Rechtschreibkorrektur in Chrome kann man per Kommandozeilenparameter freischalten. Dieses experimentelle Feature hat aber derzeit nur unter Windows einen Effekt (und funktioniert auch da wohl noch nicht so recht, aber die Idee ist gut)
  • damit er bei Supend/Resume direkt wieder da ist, ohne Passwortabfrage: ohne Passwortabfrage Einloggen, Keyring Passwort leer lassen, Sreensaver lock screen abstellen
  • Touchpad beim Tippen automatisch deaktivieren:
syndaemon -i 4 -d -t -K
http://www.webupd8.org/2009/11/ubuntu-automatically-disable-touchpad.html
https://addons.mozilla.org/en-US/firefox/addon/prospector-lessChrome-HD/
<keybind key="XF86MenuKB">
<action name="Execute">
<command>xdotool click 2</command>
</action>
</keybind>
xdotol installieren, im Terminal:
sudo apt-get install xdotool
und Openbox rekonfigurieren:
openbox --reconfigure
  • Ubuntu standard to open menu is Alt + F1 but I assigned it to Super Key + Down Key, so I can directly use the cursor to select within the menu:
<keybind key="W-Down">
<action name="Execute">
<command>lxpanelctl menu</command>
</action>
</keybind> 
  • zum Bearbeiten der .xml Dateien am besten gedit wählen (statt leafpad), gedit kann Syntax Highlighting. Allerdings muss man Text Wrapping (in den Einstellungen) abschalten.
  • Linksclick auf CapsLock legen (ist dann etwas besser 2-händig zu bedienen)
  • Shortcut für Window auf untersten Layer senden bzw. mit darunterliegendem Fenster wechseln.
  • Shortcuts für Anwendungen mit xdotool. Beispielsweise neue Seite in Firefox.
# Window id von firefox ermitteln:
WID=`xdotool search firefox | head -n1`
xdotool windowactivate $WID
xdotool key "ctrl+t"
xdotool key "ctrl+l"
  • Shortcut, um lokale File-URIs direkt per Leafpad zu öffnen
  • Manual für Keybindings in Openbox: http://openbox.org/wiki/Help:Bindings
  • Sylpheed die Symbolleiste wegblenden (für mehr Bildschirmplatz) und per Shortcuts arbeiten, beispielsweise Ctrl-i für Mailbox abfragen

Weitere Linux Distributionen

Linksammlung

Testberichte

'Persönliche Werkzeuge