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:
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.
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
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
To end this article, here is the screenshot of running Sublime Text on my Samsung ARM Chromebook: