Skip to content
A VNC viewer for ebook readers
Branch: master
Clone or download
hwhw Merge pull request #7 from langelgjm/master
removed GLIBC 2.7 dependency, added bugfix for Kindle DX
Latest commit e6bec4d Mar 2, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
libjpeg-turbo-1.3.0 add libjpeg-turbo-1.3.0 Nov 30, 2013
libvncserver @ 646f844 update submodules libvncserver and zlib Sep 24, 2014
luajit-2.0 @ 0de431e update LuaJIT, switch to 2.1 (beta) branch Sep 24, 2014
zlib @ 5089329 Switching to a LuaJIT controlled architecture (WIP). Sep 24, 2013
.gitignore .gitignore for this project Sep 24, 2014
.gitmodules removed libjpeg Nov 30, 2013
COPYING initial version Sep 19, 2011
README update README Dec 1, 2013
config.lua implemented keyboard events, optional pointer events possible Mar 5, 2012
kvncviewer.ini rename to kVNCviewer Dec 1, 2013
rfbkeys.lua added declaration files for default config Mar 5, 2012
vncviewer.lua add possibility to don't do full refreshes at all Sep 25, 2014


This is a VNC viewer for e-book devices
Copyright (c) 2013 Hans-Werner Hilse <>

It works on the framebuffer, using the einkfb API from e-ink devices (einkfb.h) to do screen refreshs.
This is based on LibVNCclient (part of the LibVNCserver project, see

There's a discussion thread at

Note that the current version is a major rewrite from the original version.
The current version is implemented in Lua, targeted at LuaJIT.


input handling is configurable/customizable in "config.lua".

kVNCviewer supports a lot of options that determine various settings. Run it without any argument to show a list of supported options. In addition, libvncviewer parses the options, too. That allows for additional configuration settings. Look into the documentation of libvncviewer to see those options:


In order to build kindlevncviewer, you can use GNU make. Specify a toolchain prefix as "ARCH" variable:

    make ARCH=arm-linux-gnueabihf

and it should build luajit, zlib, libjpeg and finally libvncclient.

You can find the result in the "dist/<ARCH>" subdirectory. Also, a .zip file is created for distribution.


You need to copy the program and the libraries it needs (you can just try running it without and it will show you which libraries are missing) onto your ebook device. Then call (from a launcher app or a shell)

    ./luajit vncviewer.lua

(you will need to put in the correct server address or name and screen number).


This software is licensed under the GPLv2 (see file COPYING).
You can’t perform that action at this time.