Android-x86 – ARM Binary Translation und erste Hinweise auf Jelly Bean

Android-x86 ist ein Projekt, um Android auch auf x86 Prozessoren nutzen zu können. Nachdem sich allerdings bei ICS in den offiziellen ROMs seit einiger Zeit nichts mehr getan hat, gibt es nun erste Hinweise auf Arbeiten an Jelly Bean für x86. Auch bei der ARM-Binary Translation, mit der sich binärer ARM-Code auf x86-Prozessoren ausführen lässt, geht es voran.

Android war von Anfang an als offene Plattform konzipiert. Dank frei verfügbarem Sourcecode lässt sich das OS für quasi alle Architekturen kompilieren. So gibt es neben den Standard-ARM-Versionen inzwischen auch x86- und MIPS-Builds. Im x86-Bereich spielt Intel bei der Entwicklung eine wichtige Rolle, da die Jungs (und Mädels) aus Santa Clara inzwischen ja auch im Smartphone-Bereich mit ihren Medfield-SoCs Fuß fassen konnten und Ende des Jahres mit Cloverfield für Tablets nachlegen wollen und daher umfangreich zu Verbesserungen der Plattform auch für – die hauseigenen – x86-Prozessoren beitragen.

Wer Android auf anderen Intel- oder AMD-Systemen nutzen möchte, der muss momentan aber entweder selbst zum Compiler greifen oder er geht auf android-x86.org und lädt sich ein entsprechendes fertigkompiliertes Image herunter. Interessant ist das natürlich zum Beispiel für die wenigen Käufer eines Tablets mit AMD Prozessor, wie z.B. dem MSI WindPad 110W oder dem Acer IconiaTab W50x. Interessierte können das Image aber auch auf anderen Systeme auf Basis von AMDs Brazos Plattform ausprobieren. Mein Acer Aspire One 522 lief zum Beispiel weitgehend problemlos, allerdings funktioniert die Hardwaretastatur beim ICS-Image nicht (bei HC geht es seltsamerweise), was die Bedienung extrem verkompliziert. Fehlende Optimierungen sorgen in Benchmarks für recht niedrige CPU-Leistungswerte, dennoch fühlt sich das System aufgrund der ordentlichen GPU-Leistung sehr rund an. Für Intel Systeme auf Intels Atom-Architektur (z.B. das WeTab) gibt es ebenfalls Images im Download-Bereich.

Das größte Problem besteht aber darin, dass viele Android-Apps binäre ARM-Pakete nutzen und somit nicht ohne weiteres auf x86-Systemen laufen. Bei Medfield umgeht Intel das Problem durch einen ARM-Binary Translator, also einen Emulator, der in der Lage ist, die ARM-Binaries zur Laufzeit für die x86-Architektur nutzbar zu machen, für andere x86-Systeme ist diese Funktionalität noch nicht offiziell verfügbar, weil Intel das entsprechende Paket nicht quelloffen zur Verfügung stellt. Aber inoffiziell laufen umfangreiche Arbeiten und es gibt auch schon Benchmarks von einem Atom N450-System dazu. Zudem gibt es auf tabletsx86.org entsprechende Test-ISOs für Atom-Systeme. Auf AMD-Systemen funktioniert das Ganze leider noch nicht.

Jedenfalls scheint hinter den Kulissen derzeit einiges zu passieren, wie die zahlreichen Diskussionen und Commits für das Projekt zeigen. Ich freue mich darauf, wenn Jelly Bean kommt, könnte mich aber auch mit einem ICS-Build anfreunden, sobald der Binary Translator auch für AMD-Systeme verfügbar ist.

Intel zeigte sich über die Arbeiten auf android-x86 übrigens nicht erfreut, weil man der Ansicht ist, dass die Jungs nur die eigenen Bemühungen nutzen, ohne etwas zurückzugeben. Gleichzeitig behauptet man, dass dadurch die Plattform weiter fragmentiere, was mir wenig schlüssig erscheint. Aber das ist das schöne: Android ist eben OpenSource- abgesehen von Intel´s Binary Translator vielleicht.

 

Mehr Infos zu Intels Binary Translator und einer allgemeinen Nutzung:

4 Gedanken zu „Android-x86 – ARM Binary Translation und erste Hinweise auf Jelly Bean

  1. Pingback: Android 4.1 x86 (Jelly Bean), was gibt’s neues? « Borns IT- & Windows-Blog

  2. Pingback: 2012 – ITKrauts in Zahlen -

  3. Pingback: Erstes Testrelease von Jelly Bean für x86 -

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>