All News | Chips | Boards | Devices | Android | Software | LinuxDevices.com Archive | About | Sponsors | Subscribe

Follow LinuxGizmos:

Twitter Facebook Google+ RSS feed

Emulator brings x86 Linux apps to ARM devices

Aug 22, 2014  |  Eric Brown

Eltechs announced a virtual machine that runs 32-bit x86 Linux applications on ARMv7 SBCs and mini-PCs, and is claimed to be 4.5 times faster than QEMU.

The open source QEMU emulator has long been the go-to app for providing virtual machines (VMs) that mimic target hardware during development or otherwise run software in alien territory. Every now and then, someone comes up with software that claims to perform all or part of QEMU’s feature-set more effectively. In this case, Eltechs has launched its Eltechs “ExaGear Desktop,” a VM that implements a virtual x86 Linux container on ARMv7 computers and is claimed to be 4.5 times faster than QEMU. Despite its “desktop” naming, we can imagine many non-desktop possibilities fpr ExaGear in embedded and IoT applications.

“After installing ExaGear you won’t notice a difference between running x86 applications on ARM and running native ARM applications,” claims Moscow, Russia based Eltechs, which is backed in part by ARM Holdings. The VM works with both Intel and AMD x86 ISAs, ExaGear CEO Vadim Gimpelson told us in an email.

ExaGear Desktop should appeal to those who have purchased an ARM mini-PCs or single board computers and want to run a wider array of software. Now available for a half-off pre-order price of $15, the software lets you run x86 Linux applications simultaneously with native applications running on ARM. The VM also supports the x86-based Wine Windows compatibility platform, so the combination should enable running some x86 Windows applications on ARM-based hardware.

ExaGear is based on binary translation technology, and requires ARMv7, which means that it should run on mini-PCs and SBCs that use Cortex-A8, A7, A9, and A15 system-on-chips. However, it won’t run on the ARM11 (ARMv6) SoC found on the Raspberry Pi. It also does not support applications that require kernel modules. It currently requires Ubuntu (v12.04 or higher), but will soon support another, unnamed Linux distro.

Eltechs posted some charts based on its SysBench benchmarks comparing ExaGear’s x86 apps and native ARM apps on the same Odroid-XU SBC, which features a quad-core, Cortex-A15 Samsung Exynos5 SoC clocked at 1.6Ghz. The benchmarks, performed using SysBench, show ExaGear to perform about the same as native ARM during read and write operations, while slowing down to about half the performance of ARM during memory and mutex operations.



ExaGear x86 vs. native ARM (left), and vs QEMU
(click images to enlarge; source: Eltechs)

Eltechs used the same platform to compare ExaGear with QEMU, Here, the performance advantages, benchmarked with GeoBenchmark, ranged from dramatic when dealing with in-memory operations to virtually identical during heavy disk reads.

Eltechs already offers an ExaGear Mobile product designed to bring desktop PC games to Android devices. The emulator enables three apps found on Google Play. Heretic by Eltechs and Doom by Eletechs each recasts the original versions of these classic games for Android.

A third app, ExaGear Strategies, is an emulator that lets you “run old-school PC strategy games,” says Eltech. The main draw here are the “deeply customized” touchscreen controls, says the company. Last month, Digital Trends gave ExaGear Strategies a fairly positive hands-on review.

Judging from its mission statement, Eltechs is less interested in games than in bringing x86 applications to the new wave of ARM-based servers. Its ExaGear Server emulator is currently in a pilot phase, but already is claimed to offer 80 percent of native ARM application performance on servers.

 
Further information

Pre-orders are now available for Eltechs ExaGear Desktop for $15, half off the retail price of $30, with no payment obligation until availability. The software is expected to be ready in September. More information can be found at the Eltechs ExaGear Desktop.
 

(advertise here)


PLEASE COMMENT BELOW

17 Responses to “Emulator brings x86 Linux apps to ARM devices”

  1. pUnK says:

    Guys, I represent Eltechs. If you have any questions feel free to ask them here.

    • Dan says:

      How did you do the x86 comparison? Did you compare it to a specific x86 processor? Will you be doing an ARMv8 version as well? Any hints on what the other “unnamed distro” is?

      • pUnK says:

        We support x86 ISA upto SSE4.2. So it corresponds early Core i3/5/7 processors.
        Works on ARMv8 is in progress but there are a lot of work there.
        Regarding distro. Any Debian-like distro should work. ExaGear works on Fedora but without a couple integrations features like automatically services start up forwarding (but we focused our tests on Ubuntu so on another distro ExaGear migth be a bit unstable).

        • Dan says:

          Thanks for the reply! I was also wondering how you got those relative percentages as shown on the left graph. You mention that the ARM used in the comparison was the Exynos 5 Octa from the odroid-XU board (aka exynos 5410) But was it compared to a specific Intel part? Like the atom Z3740 or a core i3-4100?

          • pUnK says:

            We did not compare against Intel chips. There are a lot of ARM with different performance and a lot of x86 with different performance. It is not our business to compare x86 vs ARM :)
            You can google a lot of comparison x86 vs ARM.

  2. littlenoodles says:

    So when can we combine this with WINE and run .EXE’s on an iPad?

    • pUnK says:

      We have already combined ExaGear with Wine and launched several apps for Android http://eltechs.com/product/exagear-mobile/. They available on Play Market.

      Unfortunately Apple has a very strict policy regarding emulation/binary translation. Recall ban of flash. So we think that Apple do not allow to launch ExaGear on Apple Store :(

      • littlenoodles says:

        Pretty cool. Doesn’t WINE push the app size beyond the limits of the Play store? I’ve bundled a small (~1MB) win32 app with Wine Bottles for the Mac, and it works great, but Wine Bottles generates about a 33 MB zipped installer that expands to almost 300MB. I guess it’s possible to use a small subset of WINE with only what it takes to run a particular .exe, huh?

  3. mittorn says:

    Running gzip to compress 50MB file from urandom, placed in tmpfs:
    arm host, native gzip:
    date;cat random |gzip -c>/dev/null;date
    Чт. сент. 4 17:03:30 NOVT 2014
    Чт. сент. 4 17:03:50 NOVT 2014
    20 seconds
    arm host, qemu-1386, i386 gzip (debian wheezy):
    date;cat tmpfs/random|qemu-i386 ./lib/ld-linux.so.2 –library-path ./lib/:./lib/i386-linux-gnu/ ./bin/gzip -c>/dev/null;date
    Чт. сент. 4 17:11:54 NOVT 2014
    Чт. сент. 4 17:13:57 NOVT 2014
    2 minutes and 3 seconds
    arm host, native arm gzip in qemu-arm
    date;cat random |qemu-arm /lib/ld-linux-armhf.so.3 /bin/gzip -c>/dev/null;date
    Чт. сент. 4 17:45:26 NOVT 2014
    Чт. сент. 4 17:47:41 NOVT 2014
    2 minutes and 15 seconds
    arm host, native gzip, in valgrind:
    date;cat random |valgrind /bin/gzip -c>/dev/null;date
    Чт. сент. 4 17:50:18 NOVT 2014
    ==11185== Memcheck, a memory error detector
    ==11185== Copyright (C) 2002-2012, and GNU GPL’d, by Julian Seward et al.
    ==11185== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
    ==11185== Command: /bin/gzip -c
    ==11185==
    ==11185==
    ==11185== HEAP SUMMARY:
    ==11185== in use at exit: 0 bytes in 0 blocks
    ==11185== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
    ==11185==
    ==11185== All heap blocks were freed — no leaks are possible
    ==11185==
    ==11185== For counts of detected and suppressed errors, rerun with: -v
    ==11185== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
    Чт. сент. 4 17:56:15 NOVT 2014
    5 minutes and 57 seconds
    ExaGear:
    date;cat random |gzip -c>/dev/null;date
    Thu Sep 4 10:04:01 UTC 2014
    Thu Sep 4 10:04:36 UTC 2014
    35 секунд
    Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz, 3.8 GHz (overclock), native x86_64 gzip:
    date;cat random |gzip -c>/dev/null;date
    Чт сен 4 19:57:41 NOVST 2014
    Чт сен 4 19:57:42 NOVST 2014
    one with half seckonds.
    Allwinner A10 device with 1008 MHZ cortex-a8

  4. pUnK says:

    Why Eltechs ExaGear time “35 секунд” in Russian? :)

Leave a Reply