Run x86 program on ARM Chromebook with Exagear Desktop

About Exagear Desktop

Many ARM Chromebook users should know you may not have much fun compared with x86 Chromebook, the main reason is you can’t run popular x86 programs on ARM Linux by Crouton.

I have written a post about running x86 version Sopcast on Raspberry Pi before, which using QEMU user mode to run x86 program on ARM Linux, however, its drawback is the performance of QEMU user mode isn’t really well.

Now we get a good news that Eltechs has released their new Exagear Desktop software, they claim it is able to get near native performance by running x86 Linux program on ARM Linux with Exagear Desktop, which is about 5 times faster than QEMU. This sounds really useful for my Samsung Chromebook, so I’m considering buy a license (Exagear Desktop is not freeware, you need to pay 20 to 30 dollars according to your device) to see its real performance.

You can check more details about Exagear Desktop on Eltechs’ website:

http://eltechs.com/product/exagear-desktop/

After paying 30 dollars, Eltechs will send you an email with downloading link and license file, you can download Exagear Desktop from their Google Drive link.

Install Exagear Desktop

You should know some concept about Exagear Desktop before you start trying, the ARM Linux system is called host system, the x86 Linux system you need to run is called guest system, and you need to make sure your ARM device meets its requirements:

  • ARMv6 or ARMv7 processor;
  • 512MB or more memory;
  • Ubuntu 12.04 14.04 or other Debian-like Linux system.

ARM Chromebook totally satisfy these requirements, for saving your time, you should try install Ubuntu Linux on Chromebook with Crouton. I’m using XUbuntu 14.04 armhf system to test Exagear Desktop software.

Unpack the install package of Exagear Desktop, you can see these files:

chronos@localhost ~ $ ls exagear/
eltechs_exagear_desktop_1.1_guide.pdf  exagear-guest-debian-7-wine2g_3_all.deb  exagear-mem2g_2254-1_armhf.deb
exagear_2254-1_armhf.deb               exagear-guest-ubuntu-1204lts_9_all.deb   install-exagear.sh
exagear-guest-debian-7_3_all.deb       exagear-guest-ubuntu-1404lts_1_all.deb   README

Exagear Desktop provides different x86 guest system like Debian 7, Ubuntu 12.04, Ubuntu 14.04, you can follow user guide PDF file to install Exagear Desktop by running install-exagear.sh script file. The install script will ask you to install which version x86 guest system.

You can run exagear-ls command to check installed guest systems, and run exagear command to enter the x86 guest system, you can certainly run and install x86 programs after entering the x86 guest system.

About binfmt_misc

It’s being told by Eltechs that binfmt_misc should be supported by your ARM Linux host system for running x86 program seamlessly (especially for some x86 program which needs SUID or SGID).

While Chromebook’s Linux kernel doesn’t support binfmt_misc by default, you need to compile the binfmt_misc kernel module for Chromebook by yourself, you can refer to my post for compiling details: Compile Chromebook kernel on Koding platform

You may meet the problem that /proc/sys/fs/binfmt_misc directory is not created after loading binfmt_misc kernel module manually, because it is not compiled in Chromebook kernel. You need to create a new /var/binfmt_misc directory in your ARM Linux host system in Crouton, so that binfmt_misc can be successfully mounted and enabled during starting Exagear Desktop service (You can check more details in /etc/init.d/exagear service script).

Moreover, I add some changes to /etc/init.d/exagear service script to load the binfmt_misc module automatically (you need to compile and install kernel module first):

[ -d /sys/module/binfmt_misc ] || modprobe binfmt_misc

sum-up

From my experience about using Exagear Desktop these days, Exagear Desktop’s compatibility is not bad for x86 programs like Sublime Text and Skype, TeamViewer, and the performance is close to native ARM Linux program. While it is quite a pity Visual Studio Code doesn’t work with Exagear Desktop.

To end this article, here is the screenshot of running Sublime Text on my Samsung ARM Chromebook:

Sublime Text></p>
<p>Have fun!</p>
<div class='yarpp-related'>
<p>Related posts:</p><ol>
<li><a href=Compile Chromebook kernel on Koding platform

  1. andeaker:

    不能运行VS.net?那它能运行需要DX支持的游戏么?我登陆他的官网,貌似这个软件一年多都没更新了

  2. admin:

    这个是为了在ARM Linux系统上支持运行x86 Linux程序,不是用来跑Windows exe的,
    部分支持以WINE方式运行Windows程序,WINE方式运行.net的程序可能可以,
    想拿来装VS.net写代码编译程序或者玩DX的Windows游戏估计还不太现实,
    软件本身11月份还更新了1.2版本的

  3. Unee Wang:

    原来还要刷一个Linux

  4. admin:

    装个crouton不是很方便嘛





*