One of my reader had issues running Thin-clients ENTC Encore-1000 based on EP9307 and wanted to update the firmware in his systems. So I’ll explain how to access Linux, Windows XP or any other operating systems using a thin client based on Cirrus Logic EP9307 hardware. This is for reference only, and the performance may not be suitable for your environment/setup.
One PC (server) is needed to run VNC (Virtual Network Computing) server for each remote desktop (i.e. each thin client), then the thin client can run the software without hard disk by just using the network connection. This can be used for checking emails, browsing internet, office applications, etc.. All resource heavy tasks are done on the server side whose specifications may be chosen to match the applications requirements.
I’ll explain how to use Linux, but Windows XP (or any other operating systems for that matter) could also be used in the thin client. But at the time I did that setup (a few years ago), VNC server could only support one connection under Windows.
VNC client is normally using the X11 library which is undesirable for an embedded system with memory limitations.
DirectVNC 0.7.5 allows us to use the framebuffer, removing the need for X11. It will access the framebuffer throught DirectFB library.
libz, libpng, libjpeg and DirectFB 0.9.17 are required to build DirectVNC.
Libz, libpng and libjpeg are already part of ARM Linux SDK provided by Cirrus Logic.
DirectFB 0.9.17 library can be compiled as follows:
./configure –host=arm-linux –target=arm-linux –enable-fbdev –enable-linux-input –disable-sdl -disable-freetype –without-tools --prefix=/installation_directory
The final step is to compile DirectVNC as follows:
./configure –target=arm-linux –host=arm-linux
To have a successful compilation you may also have to build and install the libraries (the versions used to cross-compile) to your build machine.
For each thin client make sure the following files are present:
/directvnc – the executable
all in the files from DirectFB /installation_path must be copied to the root of the ramdisk.
Then go to /bin and type ./directfb-config –input=linux-input it will display a line with -L/some_kind_of_path/inputdrivers.
Make sure to copy all files from /lib/directfb-.0.9.17/inputdrivers to /some_kind_of_path/inputdrivers or directvnc will not find the keyboard.
Then make sure to configure the linux server:
Linux supports multiple sessions so it it possible to start 10 servers as follows:
./directvnc :1 -name Client1-geometry 800x600 -depth 16
./directvnc :10 -name Client1 -geometry 800x600 -depth 16
This will create 10 VNC servers with independent displays numbered from 1 to 10.
Back to the thin client type:
and enter the password, you should have Linux displayed in the thin client monitor.
At this point you are ready to use your Linux applications as it is done on PC.
The thin client would be configured as it is done above for Linux.
For Windows you can download tightVNC server, install it and run it under windows. Then you will be able to use Windows on the thin client after you start ./directvnc IP_ADDRESS_OF_WINDOWS_PC:0 and typed the password.
Windows did not support multiple sessions when I tried that setup a few years ago, so it was not possible to use multiple thin clients. But it seems TightVNC has been updated to support multiple clients.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.