Run x86 Linux and Windows Applications in Raspberry Pi and other ARM Linux Devices with Exagear

Orange Pi Development Boards

A few weeks ago, I finally decided to buy a Raspberry Pi 2 board as it could always be useful for some testing, at least for comparison purpose. I ended up buying it from Ebay for $40, as it’s more $3 to $5 more expensive locally. Nevertheless I was not sure what I’ll use it first for, but after seeing a tweet for Exagear Desktop software that allows ARM boards to run x86 Linux or Windows applications, the later through wine. The program is available for Raspberry Pi, Raspberry Pi 2, and ARMv7 devices for $19.95 to $29.95.

I asked for version for testing purpose, and I was given a Google Drive link to download Exagear for Raspberry Pi 2, as well as a 3-month trial key. Installation is very easy.

I started by downloading and installing Raspbian Jessie the usual way on a 32GB micro SD card. It went pretty smoothly, and after installation I had to run raspi-config to extend the partition size, change the timezone, and keyboard layout.

Once you have downloaded the 1.4GB tarball for Exagear, extract it in your Raspberry Pi 2:


Now copy your product key (pk-xxxxxxxxxxxx.key) in the directory, and you should end with the the following files:


Now run the installation script:


The script should auto-detect your operating system and install the right files for your operating system:


You’d definitely need a 8GB micro SD card, and preferably larger, since 6.9GB is taken after Exagear is installed, and before you’ve installed any of your x86 apps:


Let’s compare the kernel in Raspbian and exagear.


So we’ve switched to an i686 machine with four cores (only one shown below):


First let’s try to run Skype for Debian, which has not been released for ARM.

The first step is to download Skype package and install it within exagear:


Installation failed because some of dependencies are not installed, but apt-get can take over from here:


This should complete Skype installation, with 7.2GB now used on the SD card.


I could start Skype from the command or top menu, login, start chatting.

Raspberry_Pi_Skype
Click for Original Size

Great! But when I tried the Echo / Sound Test Service, I noticed no audio. But I found on the forums that I would have to install pulseaudio on the ARM side. After exiting exagear, I did so, and tested audio.


Audio worked, but with pretty bad quality. Some problems related to the Raspberry Pi image, as Exagear is not involved here. I tried Skype again, but I had no luck with audio. [Update: Exagear provided more instructions but still no luck]

Beside the few x86 Linux programs not available for ARM, x86 emulation is particularly interesting to run Windows programs, which is usually done with wine in Linux.


Wine is already installed, so I decided to try Microsoft Windows 2007 Word Viewer, which has a Platinum rating in WineHQ website, meaning it should work well, and I did test it successfully in my Ubuntu 14.04 computer before trying it on the Raspberry Pi 2. Sadly it did not work well when I switched to exagear.


After checking into Eltechs_ExaGear_Desktop_guide_1.2.pdf, the issue is likely related to a kernel / user memory split, but Exagear has supposedly ported wine to support 2G/2G kernel split, and including a table with the versions to install for a given OS.

Kernel Split / OS Version / Exagear Packages
Kernel Split / OS Version / Exagear Packages


My system is running Raspbian Jessie 8 operating system with debian-8-wine2g package installed.  You’ll probably want to try another operating system with a 3G/1G split, such as Debian Jessie 8 to make sure wine runs fine. I’ve asked the company about the audio and wine issues, but did not receive any feedback after nearly 48 hours , so I’ve moved on due to time constraints. [Update: See comments with Skype ionstructions, and a promise to provide a patch for wine]. Other people were more lucky with Exagear and Windows with for instance, some old Windows games running on ODROID boards.

The company claims Exagear is up to 4.5 times faster than QEMU, but I wondered what would be the difference between native ARM programs to one compiled for x86. There’s always going to be a performance hit with emulation, but I built and ran linpack to find out how much.

  • Linpack natively run inside Raspberry Pi

  • Linpack emulated in Exagear.


Linpack x86 in Exagear is about 4.2 times slower than native Linpack (ARM) in the Raspberry Pi 2

I had mixed experience with Exagear. Skype is running well if all you do it chatting, but I had some audio issue, and I did not test video conference which is likely to suffer with emulation. You may have come across some configuration issues with Windows emulation, and unless you use old programs, for example games like Doom, Red Alert, or Duke Nukem 3D, the memory available on most ARM platforms will be a limitation. Finally, Exagear also has competition from both the free QEMU emulator (which is not quite as fast) and  cheap Intel hardware with Ubuntu Intel Atom TV Sticks selling for a little over $70.

10
Leave a Reply

avatar
10 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
cnxsoftJotaMGagumonkeyNobody of ImportBiru Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
milkboy
Guest
milkboy

afaik wine cannot x86 binaries on the ARM,
Wine (Wine Is Not an Emulator) is just serving compatibility layer for running windows app.
so, afaik, it can run WinCE app but not winx86, since winx86 lib can only be run on x86 hardware or emulated ones.

am i wrong and have i been misinformed this whole time?

milkboy
Guest
milkboy

@cnxsoft
ic it now….
misconstrue a paragraph there for a sec.
now i get that u tried wine on rpi’s guest X86 machine, instead on wine on host machine
my bad…. ;p
hahahaha…

u may del the comment if u wish

manuti
Guest

@milkboy I do test with previous versions of ExaGear. This software emulates x86 machine on ARM hardware, in the emulate x86 machine you can install Wine and after that I install Office2007
Sorry is in Spanish, but you have a lot of snapshopts Probando ExaGear emulador x86 sobre ARM

Biru
Guest
Biru

Interesting post, there was also just a webinar about ExaGear running on Linux on a Nvidia Tegra Toradex SOM:
https://www.youtube.com/watch?v=3w1XJjUYR2E

Nobody of Import
Guest
Nobody of Import

@cnxsoft
Another reason I dislike PulseAudio (or, rather *anything* Lennart Pottering has touched…)- you should not have had to do that…

agumonkey
Guest

@cnxsoft
emulating wine on a rpi .. how slow will that be ?

JotaMG
Guest
JotaMG

Thanks for the review, it is only missing a performance comparison with QEMU…