x86-code kan ongewijzigd draaien op devices met ARM-processors, zoals de Raspberry Pi 1 en 2. Een Russische start-up laat Linux-software en via Wine ook Windows-applicaties werken.
Het Russische bedrijf Eltechs brengt de werelden van ARM, Raspberry Pi, Linux en Windows bij elkaar. Het heeft namelijk onlangs een nieuwe versie uitgebracht van zijn Exagear Desktop-software en daarbij support toegevoegd voor de Raspberry Pi 1 en 2. Tot op heden is Eltechs bij een select publiek bekend van zijn emulatiesoftware, waarmee klassieke pc-games zijn te draaien op Android. Dat mobiele besturingssysteem van Google is gebaseerd op Linux. De ambities van de in 2012 opgerichte start-up gaan verder dan slechts mobile gaming van retro pc-games.
Mobiel, desktop én server omvatten
Eltechs mikt met zijn technologie voor runtime-conversie van x86-code op een breed bereik. Dit loopt uiteen van mobiel voor gaming, via desktop voor reguliere pc-applicaties, tot aan servergebruik voor onder meer high-performance computing (hpc). Laatstgenoemde kan dan een relatief laag energieverbuik hebben en daardoor een gunstigere tco (total cost of ownership). De serveroplossing van Eltechs is sinds 2013 ook beschikbaar als clouddienst via ARM-as-service en sinds 2014 opgenomen in het Allianceone-partnerprogramma van HP.
De desktopoplossing is sinds kort specifiek geoptimaliseerd voor de populaire microcomputers Raspberry Pi 1 en 2. Het tweede, snellere model van de Britse ‘knutselcomputer’ krijgt steeds meer serieuze toepassingen, zoals bijvoorbeeld RDP-software om als thin client voor Windows-desktops te dienen. Daarnaast brengt Microsoft het aankomende Windows 10 naar de Raspberry Pi 2. De Windows-maker wil de boot niet missen.
Binary translation
De virtualisatie-aanpak van Eltechs brengt niet een aparte Windows-variant naar Linux en ARM, maar laat reguliere x86-applicaties daarop draaien. De leverancier claimt hierbij dat het prestatieniveau niet te lijden heeft onder de binary translation. De x86-code wordt al draaiende ‘onderschept’ en geconverteerd in ARM-compatibele instructies voor de eigenlijke onderliggende hardware. Ceo Vadim Gimpelson stelt dat de technologie van zijn bedrijf vijf keer sneller is dan Qemu. Zijn claim is gebaseerd op eigen tests met Geobenchmark.
De door Exagear Desktop ondersteunde ARM-hardware kan een Raspberry 1 of 2 zijn, of andere microcomputers zoals de Odroid, Cubieboard, Cubox, Utilite, Jetson TK1, Wandboard, en de Banana Pi. Ook een Chromebook met ARM-processor waarop dan Chrome OS is vervangen door Linux komt in aanmerking. Qua Linux-distributie heeft Eltechs Ubuntu 12.04, Ubuntu 14.04, Debian 7 en Raspbian op de lijst van systeemvereisten staan.
Wine erbij
Voor het draaien van Windows-applicaties is er nog wel een extra vereiste. De Wine-software (Wine Is not an emulator) moet geïnstalleerd zijn op het systeem waarop de Exagear Linux-software dan voor de code-conversie zorgt. Hiermee is het mogelijk om bijvoorbeeld Microsofts communicatiesoftware Skype te draaien op een ARM-systeem met daarop Ubuntu (zie onderstaand filmpje).
Applicaties die zijn geschreven voor x86-uitvoeringen van Linux hebben verder geen aanvullende software nodig om te kunnen draaien op ARM-hardware. Zowel voor Linux als voor Windows gaat het echter wel alleen om 32-bit applicaties. Voor het draaien van programma’s die de Intel-extensies mmx en/of sse gebruiken, moet de ARM-hardware wel de neon-extensies van chipontwerper ARM ondersteunen.
Transmeta en Torvalds
Eind vorige eeuw heeft het veelbelovende chipbedrijf Transmeta al een dergelijke aanpak gebruikt, maar dan in hardware. De energiezuinige processors waar onder meer Linux-schepper Linus Torvalds en Ultrasparc-chiparchitect David Ditzel aan werkten, converteerden instructies voor Intel-processors. Uiteindelijk is Transmeta na jaren van forse verliezen niet doorgebroken en in 2009 ten onder gegaan. De patenten op de technologie van de chipinnovator zijn in licentie verleend aan diverse chipbedrijven, waaronder Intel, Nvidia, Sony, Fujitsu en NEC.
Quote: De leverancier claimt hierbij dat het prestatieniveau niet te lijden heeft onder de binary translation
Dat is nogal een sterke claim !
Er moeten immers iha meerdere arm instructie voor een enkele x86 instructie worden uitgevoerd, en intel specifieke zaken moeten ook afgevangen worden, plus nog eens de Intel moederbord hardware ondersteuning moet worden ondersteund.
In essentie wat QEMU (emulatie mode !) ook doet in omgekeerde richting.
Al met al een knap stukje werk, maar echt performen zal het waarschijnlijk niet.
Vraag is natuurlijk ook ‘waarom’, je kunt immers veel gemakkelijker en efficienter code voor de betreffende ARM cpu compileren.
(ik bedoel de betreffende omdat met gebruik van geoptimaliseerde van de gebruikte CPU instructies ook nog winst valt te behalen)
Beste forumgebruikers , ik heb een beetje moeite met de term Russen:
Als een nederlands bedrijf iets doet dan zegt men toch ook niet De Hollanders hebben het gemaakt.
Je mag wel zeggen de Russen hebben de krim gepikt.
de IT mannen liggen weer dwars.
Ik heb hier voor even Limbo geprobeerd, een emulator voor Android en het beeld is zo slecht meestal dat ik boven op een 22 inch tv moet zitten om het te zien, dus echt veel helpt een emulator niet, neem ik aan.