New in the 0.9.13 x11vnc release:
Improved support for non-X11 touchscreen devices (e.g. handheld or
cell phone) via Linux uinput input injection. Additional
tuning parameters are added. TSLIB touchscreen calibration
is supported. Tested on Qtmoko Neo Freerunner.
A tool, misc/uinput.pl, is provided to diagnose uinput
behavior on new devices.
The env. vars. X11VNC_UINPUT_BUS and X11VNC_UINPUT_VERSION
are available if leaving them unset does not work.
The Linux uinput non-X11 input injection can now be bypassed:
events can be directly written to the /dev/input/event
devices specified by the user (direct_abs=..., etc.)
A -pipeinput input injection helper script,
misc/qt_tslib_inject.pl is provided as a tweakable
non-builtin direct input injection method.
The list of new uinput parameters for the above two features is:
pressure, tslib_cal, touch_always, dragskip, btn_touch;
direct_rel, direct_abs, direct_btn, direct_key.
The MacOSX native server can now use OpenGL for the screen
capture (glReadPixels().) In nearly all cases this is
faster than the raw framebuffer capture method. Sadly,
it appears that MacOSX 10.7 (Lion) has broken or removed
OpenGL screen capture support. Set X11VNC_DEBUG_OPENGL=n
to print out more debugging info.
There are build and run time flags,
X11VNC_MACOSX_NO_DEPRECATED, etc. to disable use of
deprecated input injection and screen access interfaces.
Cursor shape now works for 64bit binaries.
The -unixsock and -unixsockonly options enable listening on a
unix socket instead of TCP. This can enable interesting
tunnelling modes. X11VNC_INETD_NO_DUP=1 to avoid
The -inetd option can now work directly with raw stdio as long
as the file descriptor is opened O_RDWR; if it is not
then x11vnc's internal helper '-enc none' is used.
One can specify X11VNC_NO_SET_ENC=1 to disable.
The libvncserver bundled with x11vnc can now handle non AF_INET
sockets passed to it, and even non socket file descriptors
in some cases.
The included SSL enabled Java VNC Viewer now handles Mouse
miscellaneous new features and changes:
In -reflect mode, the libvncclient connection can now have
the pixel format modified via the environment
In -reflect mode, allow -reflect listennofork:port to not do
client fork when listening (if available.) Same as
In -create mode the following environment variables are added
to fine tune the behavior: FIND_DISPLAY_NO_LSOF:
do not use lsof(1) to try to determine the Linux VT,
FIND_DISPLAY_NO_VT_FIND: do not try to determine the
Linux VT at all, X11VNC_CREATE_LC_ALL_C_OK: do not bother
undoing the setting LC_ALL=C that the create_display
script sets. The performance of the -create script
has been improved for large installations (100's of
user sessions on one machine.)
The -tag option allows you to put an arbitrary string on the
x11vnc command line, perhaps to identify it later via
ps(1) or pgrep(1).
In -unixpw mode, one can now Tab from login: to Password.
An environment variable, X11VNC_SB_FACTOR, allows one to scale
the -sb screenblank sleep time from the default 2 secs.
In -rawfb mode, a bug is fixed in setting the number of bits
Documented that -grabkbd is no longer working with some/most
window managers (it can prevent resizing and menu posting.)
The macosx deprecated interface GetMainDevice() call is removed.
Compile with -DX11VNC_MACOSX_USE_GETMAINDEVICE if needed
for an old macosx version...
-unixpw check mode '%stdin2' for two line user than passwd.
Fix race condition in tkx11vnc gui where the comm file may be
deleted before tail opens it. TKX11VNC_SHOW_LSOF=1 for
open file info. Clear some query cases.
Fix bug with pointer position when -clip and -scale are both
Fix bug with mouse cursor shape in -reflect mode on 64-bit
machines. X11VNC_DEBUG_REFLECT=1 env. var. Do not use
CopyRect in -reflect mode with -clip active.
Fix bug that send CopyRect updates to non-CopyRect clients such
as VNC2Go. Also correct copyrect events for clients
that support copyrect but ask for partial screen updates.
See also X11VNC_DEBUG_COPYRECT=1 and X11VNC_FORCE_COPYRECT=1
For testing and workaround with non-Copyrect clients like
old VNC2Go set X11VNC_SKIP_cursor_noshape_updates_clients=1
For -allow modes set X11VNC_DEBUG_ACCESS=1 and also
X11VNC_ALLOW_FULLMATCH=1. Unix sockets can also be
filtered via -allow.