EP9307 Thin Client with DirectVNC

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.

Compiling a VNC client for framebuffer access

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:


The final step is to compile DirectVNC as follows:


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.

Using VNC with Linux

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:


This will create 10 VNC servers with independent displays numbered from 1 to 10.

Back to the thin client type:
/directvnc IP_ADDRESS_OF_THE_LINUX_BOX:DISPLAY_NUMBER
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.

Using VNC with Windows

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.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC