Cross-compiling VMWare View for ARM Linux (in Debian/Ubuntu)
Earlier this month, I wrote an article about PCoIP Technology which shows an Android application (VMWare View) running on an OMAP4 Tablet displaying a Windows 7 desktop. This remote desktop technology relies on a powerful server to do the processing and thin clients (in that case Tablets) to display the desktop. Since only pixels are transferred any OS (supported by the server) could be displayed in the thin client.
That made me wonder if there was an open source PCoIP client that could run on low end Linux client such as the Raspberry Pi. VMWare View Open Client provides just what we need, but is only available in source code so we need to cross-compile it for ARM or build it in an ARM machine. Today, I’ll show the instructions I followed to cross-compile it for ARM in Debian using Emdebian Toolchain.
First download and extract VMware View Open Client 4.5 source code:
wget http://vmware-view-open-client.googlecode.com/files/VMware-view-open-client-source-4.5.0-297975.tar.gztar xzvf
Install some tools on the build machine:
sudo apt-get install intltool
and some ARM libraries and development packages:
sudo /usr/share/pdebuild-cross/xapt -a armel libicu-dev libcurl3-dev libgtk2.0-0 libboost-signals-dev
Finally, configure, build and install VMWare Open Client:
LDFLAGS="-L/usr/arm-linux-gnueabi/lib -lboost_signals" ./configure --target=arm-linux-gnueabi \ --host=arm-linux-gnueabi --prefix=/home/jaufranc/edev/vmware-client --with-boost-signals=no make make install
That’s it! VMWare View for ARM is now ready. You just need to copy the files in the installation directory to your target board.
I have tried it in my Raspberry Pi emulator and after installation some libraries (libcurl3 and libboost-signals1.42.0), vmware-view could run (Screenshot below).
So we now have VMWare View (PCoIP client) running in an ARM emulator, we should then able to “run” any OS – such as Windows 8 – in the Raspberry Pi or other low-end thin clients. Of course, this method only makes sense if you need several thin clients with one server. I have not not fully tested this with a VMWare server, but I’ll surely have a try once the Raspberry Pi board and Windows 8 Consumer Preview are released later this month.