Statistics
| Branch: | Revision:

root / ui @ 012b80d3

# Date Author Comment
d4970b07 06/06/2011 10:14 am Hans de Goede

spice: add option for disabling copy paste support

Some people want to be able disable spice's guest <-> client copy paste support
because of security considerations.

[ kraxel: drop old-version error message ]

48b3ed0a 06/06/2011 10:14 am Marc-André Lureau

spice: add SASL support

Turn on SASL support by appending "sasl" to the spice arguments, which
requires that the client use SASL to authenticate with the spice. The
exact choice of authentication method used is controlled from the
system / user's SASL configuration file for the 'qemu' service. This...

012b80d3 06/06/2011 10:14 am Gerd Hoffmann

spice: require spice 0.6.0 or newer.

This patch raises the minimum required spice version to 0.6.0 and drops
a few ifdefs.

0.6.0 is the first stable release with the current libspice-server API,
there shouldn't be any 0.5.x development versions deployed any more....

1de9756b 05/15/2011 02:05 am Michael Tokarev

set $SDL_VIDEODRIVER=x11 on Linux to prevent sudo kvm from fighting for video card

Signed-off-by: Michael Tokarev <>
Acked-by: Alexander Graf <>
Signed-off-by: Aurelien Jarno <>

14da8345 05/03/2011 04:35 pm Jes Sorensen

Make spice dummy functions inline to fix calls not checking return values

qemu_spice_set_passwd() and qemu_spice_set_pw_expire() dummy functions
needs to be inline, in order to handle the case where they are called
without checking the return value.

Signed-off-by: Jes Sorensen <>...

e0c64d08 05/03/2011 04:35 pm Gerd Hoffmann

spice: don't create updates in spice server context.

This patch moves the creation of spice screen updates from the spice
server context to qemu iothread context (display refresh timer to be
exact). This way we avoid accessing qemu internals (display surface)...

07536094 05/03/2011 04:35 pm Gerd Hoffmann

spice: don't call displaystate callbacks from spice server context.

This patch moves the displaystate callback calls for setting the cursor
and the mouse pointer from spice server to qemu (iothread) context.
This allows us to simplify locking.

Signed-off-by: Gerd Hoffmann <>

196a7784 05/03/2011 04:35 pm Gerd Hoffmann

spice: drop obsolete iothread locking

We don't use qemu internals from spice server context any more.
Thus we don't also need to grab the iothread mutex from spice
server context. And we don't have to temporarely release the
lock to avoid deadlocks. Drop all the calls....

2caa9e9d 04/10/2011 01:14 am Michael Tokarev

vnc: tight: Fix crash after 2GB of output

fix 2Gb integer overflow in in VNC tight and zlib encodings

As found by Roland Dreier <> (excellent
catch!), when amount of VNC compressed data produced by zlib
and sent to client exceeds 2Gb, integer overflow occurs because...

ee7495d3 04/01/2011 11:29 pm Leszek Grzegorek

vnc: added missing name->keysym pairs for Polish national characters

There are no { name, keysym } values in name2keysym[] array for Polish
national characters so "-k pl" option has no effect.

Signed-off-by: Leszek Grzegorek <>...

09cec717 04/01/2011 10:53 pm Stefan Weil

ui/sdl: Load optional QEMU icon

Load an optional QEMU icon file. If there is no icon file named
qemu.bmp in QEMU's default search path, QEMU will run with
the usual system default icon.

A matching icon file will be loaded and used by X Windows managers...

d6e58090 03/25/2011 02:28 pm Ulrich Obergfell

severe memory leak caused by broken palette_destroy() function

The following commit breaks the code of the function palette_destroy().

http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commit;h=e31e3694afef58ba191cbcc6875ec243e5971268

The broken code causes a severe memory leak of 'VncPalette' structures...

a0843a68 03/22/2011 06:27 pm Anthony Liguori

vnc: fix build error from VNC_DIRTY_WORDS

Signed-off-by: Anthony Liguori <>

821601ea 03/22/2011 03:39 pm Jes Sorensen

Make VNC support optional

Per default VNC is enabled.

Signed-off-by: Jes Sorensen <>
Signed-off-by: Anthony Liguori <>

6ed391bf 03/22/2011 03:39 pm Wen Congyang

fix vnc regression

This patch fix the following regression:
1. we should use bitmap_set() and bitmap_clear() to replace vnc_set_bits().

Signed-off-by: Wen Congyang <>
Signed-off-by: Anthony Liguori <>

ffe8b821 03/22/2011 03:39 pm Jes Sorensen

Consolidate DisplaySurface allocation in qemu_alloc_display()

This removes various code duplication from console.e and sdl.c

Signed-off-by: Jes Sorensen <>
Signed-off-by: Anthony Liguori <>

7bd427d8 03/21/2011 10:23 am Paolo Bonzini

change all rt_clock references to use millisecond resolution accessors

This was done with:

sed -i '/get_clock\>.*rt_clock/s/get_clock\>/get_clock_ms/' \
$(git grep -l 'get_clock\>.*rt_clock' )
sed -i '/new_timer\>.*rt_clock/s/new_timer\>/new_timer_ms/' \...
ad620c29 03/15/2011 10:49 pm Blue Swirl

win32: implement missing timersub

Implement and wrap timersub() for Win32.

Acked-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

b7680cb6 03/13/2011 04:44 pm Jan Kiszka

Refactor thread retrieval and check

We have qemu_cpu_self and qemu_thread_self. The latter is retrieving the
current thread, the former is checking for equality (using CPUState). We
also have qemu_thread_equal which is only used like qemu_cpu_self.

This refactors the interfaces, creating qemu_cpu_is_self and...

23bfe28f 03/11/2011 12:12 am Stefan Weil

vnc: Fix stack corruption and other bitmap related bugs

Commit bc2429b9174ac2d3c56b7fd35884b0d89ec7fb02 introduced
a severe bug (stack corruption).

bitmap_clear was called with a wrong argument
which caused out-of-bound writes to the local variable width_mask....

c53af37f 02/26/2011 12:04 am Corentin Chary

vnc: fix a memory leak in threaded vnc server

VncJobQueue's buffer is intended to be used for
as the output buffer for all operations in this queue,
but unfortunatly.

vnc_async_encoding_start() is in charge of setting this
buffer as the current output buffer, but...

cf76a1ce 02/24/2011 07:25 pm Peter Maydell

ui/vnc-enc-tight.c: Fix compile failure if CONFIG_VNC_JPEG not defined

Add some missing #ifdefs to fix compilation failures in the !CONFIG_VNC_JPEG
case introduced by commit ce702e93.

Signed-off-by: Peter Maydell <>
Signed-off-by: Anthony Liguori <>

207f328a 02/24/2011 12:28 am Corentin Chary

vnc: fix lossy rect refreshing

The for loop in send_lossy_rect was totally wrong, and we can't
call vnc_set_bits() because it does not really do what it should.
Use vnc_set_bit() directly instead.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

bc2429b9 02/24/2011 12:28 am Corentin Chary

vnc: use the new generic bitmap functions

Switch to bitmap.h and bitops.h instead of redefining our own bitmap
helpers.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

6c71a539 02/24/2011 12:28 am Corentin Chary

vnc: don't try to send bigger updates that client height

Respect client size if it doesn't not support desktop resizing.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

8cb4a6b7 02/24/2011 12:28 am Corentin Chary

vnc: tight: tweak adaptive tight settings

The force_jpeg threshold was too low.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

80e0c8c3 02/24/2011 12:28 am Corentin Chary

vnc: add a non-adaptive option

This option allow to disable adaptive behaviors in some encodings.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

5db8378a 02/24/2011 12:28 am Stefan Weil

vnc: Fix fatal crash with vnc reverse mode

Reverse mode is unusable:

qemu -vnc localhost:5500,reverse

crashes in vnc_refresh_server_surface because some pointers are NULL.

Fix this by calling vnc_dpy_resize (which initializes these pointers)
before calling vnc_refresh....

b31f519e 02/24/2011 12:28 am Corentin Chary

vnc: don't set the quality if lossy encoding are disabled

This should not change the current behavior, but if any new
encoding try to use the tight quality, it will always be set
to -1 when lossy encodings are disabled.

Signed-off-by: Corentin Chary <>...

999342a0 02/24/2011 12:28 am Corentin Chary

vnc: add a way to get the update frequency for a given region

This patch compute the update frequency (in Hz) for each 64x64 rects.
Any adaptive encoding can get this value using vnc_update_freq(), and
switch to a lossy encoding if the value is too high....

7d964c9d 02/24/2011 12:28 am Corentin Chary

vnc: refresh lossy rect after a given timeout

If an adaptive encoding has choosen to send a lossy update
based on the result of vnc_update_freq(), then it should advertise
it with vnc_sent_lossy_rect(). This will allow to automatically refresh
this rect once it's static again....

ce702e93 02/24/2011 12:28 am Corentin Chary

vnc: tight: use the update frequency to choose between lossy and lossless

Use the new update frequency infrastructure to use jpeg for regions with
high update frequency.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

e31e3694 02/24/2011 12:28 am Corentin Chary

vnc: palette: use a pool to reduce memory allocations

We now that the palette will never have more than 256
elements. Let's use a pool to reduce malloc calls.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

72aefb76 02/24/2011 12:28 am Corentin Chary

vnc: palette: add palette_init calls

This allow to use palette on the stack instead of always
allocating them.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

f8562e32 02/24/2011 12:28 am Corentin Chary

vnc: palette: and fill and color calls.

These two helpers are needed for zrle and zywrle.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

148954fa 02/24/2011 12:28 am Corentin Chary

vnc: Add ZRLE and ZYWRLE encodings.

Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolen
from libvncserver (again), but have been rewriten to match QEMU coding
style.

[1] http://www.realvnc.com/docs/rfbproto.pdf
[2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/...

368d2588 02/24/2011 12:28 am Corentin Chary

vnc: fix uint8_t comparisons with negative values

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

4e79bcbb 02/04/2011 02:33 pm Stefan Weil

ui/sdl: Fix handling of caps lock and num lock keys

Starting with SDL version 1.2.14, caps lock and num lock keys
will send a SDL_KEYUP when SDL_DISABLE_LOCK_KEYS=1 is set in
the environment.

The new code sets the environment unconditionally
(it won't harm old versions which do not know it)....

73eb4c04 02/04/2011 02:33 pm Corentin Chary

vnc: qemu can die if the client is disconnected while updating screen

agraf reported that qemu_mutex_destroy(vs->output_mutex) while failing
in vnc_disconnect_finish().

It's because vnc_worker_thread_loop() tries to unlock the mutex while
not locked. The unlocking call doesn't fail (pthread bug ?), but...

9363ee31 02/01/2011 11:22 pm Anthony Liguori

Merge remote branch 'spice/spice.v29.pull' into staging

Conflicts:
trace-events

cfb41c82 02/01/2011 11:21 pm Anthony Liguori

Merge remote branch 'spice/usb.5' into staging

1cd20f8b 02/01/2011 11:16 pm Anthony Liguori

vnc: Fix password expiration through 'change vnc ""' (v2)

commit 52c18be9e99dabe295321153fda7fce9f76647ac introduced a regression in the
change vnc password command that changed the behavior of setting the VNC
password to an empty string from disabling login to disabling authentication....

1b958498 01/30/2011 12:52 am Blue Swirl

sdl: remove unused variable

Variable rec is not used, remove it. Spotted by GCC 4.6.0:
CC ui/sdl.o
/src/qemu/ui/sdl.c: In function 'sdl_setdata':
/src/qemu/ui/sdl.c:90:14: error: variable 'rec' set but not used [-Werror=unused-but-set-variable]

Signed-off-by: Blue Swirl <>

9892088b 01/24/2011 06:21 pm Gerd Hoffmann

vnc: fix numlock+capslock tracking

This patch makes the numlock+capslock tracking logic only look at
keydown events. Without this patch the vnc server will insert
bogous capslock keypress in case it sees the following key sequence:

shift down --- 'A' down --- shift up  --- 'A' up...
cbcc6336 01/24/2011 04:41 pm Alon Levy

spice: add chardev (v5)

Adding a chardev backend for spice, where spice determines what
to do with it based on the name attribute given during chardev creation.
For usage by spice vdagent in conjunction with a properly named
virtio-serial device, and future smartcard channel usage....

e866e239 01/24/2011 04:13 pm Gerd Hoffmann

spice/vnc: client migration.

Handle spice client migration, i.e. inform a spice client connected
about the new host and connection parameters, so it can move over the
connection automatically.

The monitor command has a not-yet used protocol argument simliar to...

64b85a8f 01/23/2011 06:21 pm Blue Swirl

Delete useless 'extern' qualifiers for functions

'extern' qualifier is useless for function declarations. Delete
them.

Signed-off-by: Blue Swirl <>

8ce7d352 01/12/2011 09:48 pm Blue Swirl

vnc-auth-sasl: fix a memory leak

Fix a memory leak reported by cppcheck:
[/src/qemu/ui/vnc-auth-sasl.c:448]: (error) Memory leak: mechname

Signed-off-by: Blue Swirl <>

7572150c 12/09/2010 03:23 pm Gerd Hoffmann

vnc/spice: add set_passwd monitor command.

This patch adds new set_password and expire_password monitor commands
which allows to change and expire the password for spice and vnc
connections. See the doc update patch chunk for details.

Signed-off-by: Gerd Hoffmann <>

a19cbfb3 12/09/2010 03:23 pm Gerd Hoffmann

spice: add qxl device

qxl is a paravirtual graphics card. The qxl device is the bridge
between the guest and the spice server (aka libspice-server). The
spice server will send the rendering commands to the spice client, which
will actually render them....

6f8c63fb 12/09/2010 03:23 pm Gerd Hoffmann

spice: connection events.

This patch adds support for connection events to spice. The events are
quite simliar to the vnc events. Unlike vnc spice uses multiple tcp
channels though. qemu will report every single tcp connection (aka
spice channel). If you want track spice sessions only you can filter...

cb42a870 12/09/2010 03:23 pm Gerd Hoffmann

spice: add qmp 'query-spice' and hmp 'info spice' commands.

The patch adds a 'query-spice' monitor command which returns
informations about the spice server configuration and also a list of
channel connections.

Signed-off-by: Gerd Hoffmann <>

6bffdf0f 12/09/2010 03:23 pm Gerd Hoffmann

vnc: auth reject cleanup

protocol_client_auth_vnc() has two places where the auth can fail,
with identical code sending the reject message to the client.
Move the common code to the end of the function and make both
error paths jump there. No functional change....

3c9405a0 12/09/2010 03:23 pm Gerd Hoffmann

vnc: support password expire

This patch adds support for expiring passwords to vnc. It adds a new
vnc_display_pw_expire() function which specifies the time when the
password will expire.

Signed-off-by: Gerd Hoffmann <>

43ae691e 11/16/2010 10:11 pm Anthony Liguori

Merge remote branch 'spice/bugfix.2' into staging

3e313753 11/09/2010 10:39 pm Gerd Hoffmann

spice: add audio

Add support for the spice audio interface. With this patch applied
audio can be forwarded over the network from/to the spice client. Both
recording and playback is supported.

The driver is first in the driver list, but the can_be_default flag is...

7466bc49 11/02/2010 01:43 pm Gerd Hoffmann

spice-display: replace private lock with qemu mutex.

qemu_spice_create_update() must aquire the global qemu mutex to
make sure DisplayState doesn't change while we are accessing it.

Once this is in place the private lock is pretty pointless as
everything it protects is covered by the global qemu mutex now....

f61d6960 11/02/2010 01:42 pm Gerd Hoffmann

spice-core: fix warning when building with spice < 0.6.0

Signed-off-by: Gerd Hoffmann <>

3d6d306c 11/02/2010 01:42 pm Hans de Goede

spice-core: fix watching for write events

Signed-off-by: Gerd Hoffmann <>

2d8418ba 11/01/2010 08:02 pm Anthony Liguori

Merge remote branch 'spice/config.2' into staging

2c80e423 10/22/2010 08:11 pm Stefan Weil

Replace remaining gcc format attributes by macro GCC_FMT_ATTR (format checking)

Replace the remaining format attribute printf by macro
GCC_FMT_ATTR which uses gnu_printf (if supported).

v2
  • Removal of dyngen specific code is now done in a separate patch....
d03703c8 10/21/2010 07:31 pm Samuel Thibault

curses: Fix control-{@[\]^_} and ESC

control-{@[\]^_} shouldn't get the 'a' - 'A' offset for correct
translation. ESC is better simulated as escape key.

Signed-off-by: Samuel Thibault <>
Signed-off-by: Andrew Zaborowski <>

2ded6ad7 10/13/2010 09:43 pm Blue Swirl

vnc: avoid write only variables

Compiling with GCC 4.6.0 20100925 produced warnings:
/src/qemu/ui/vnc.c: In function 'vnc_client_cache_auth':
/src/qemu/ui/vnc.c:217:12: error: variable 'qdict' set but not used [-Werror=unused-but-set-variable]
/src/qemu/ui/vnc.c: In function 'vnc_display_open':...

c448e855 10/08/2010 01:49 pm Gerd Hoffmann

spice: tls support

Add options to the -spice command line switch to setup tls.

9f04e09e 10/08/2010 01:49 pm Yonit Halperin

spice: make compression configurable.

This patch adds options to the -spice command line switch to
configure image compression.

[ v2: speling fix in the documentation ]

17b6dea0 10/08/2010 01:49 pm Gerd Hoffmann

spice: add config options for channel security.

This allows to enforce tls or plaintext usage for certain spice
channels.

[ v2: code style fixup ]

333b0eeb 10/08/2010 01:49 pm Gerd Hoffmann

spice: add config options for the listening address

Make listening address configurable. Also add options to
force using IPv4 or IPv6.

84a23f25 10/08/2010 01:49 pm Gerd Hoffmann

spice: add misc config options

This patch adds a few more options to tweak spice server behavior.
The documentation update chunk has the details ;)

4447d609 10/05/2010 10:14 pm Anthony Liguori

Merge remote branch 'spice/submit.6' into staging

Conflicts:
configure

Signed-off-by: Anthony Liguori <>

b0cd712c 10/05/2010 09:53 pm Stefan Weil

Fix spelling in comments

multifuction -> multifunction
successfull -> successful.

Signed-off-by: Stefan Weil <>

a3e22260 09/21/2010 07:36 pm Gerd Hoffmann

spice: simple display

With that patch applied you'll actually see the guests screen in the
spice client. This does not bring qxl and full spice support though.
This is basically the qxl vga mode made more generic, so it plays
together with any qemu-emulated gfx card. You can display stdvga or...

869564a9 09/21/2010 07:36 pm Gerd Hoffmann

spice: add tablet support

Add support for the spice tablet interface. The tablet interface will
be registered (and then used by the spice client) as soon as a absolute
pointing device is available and used by the guest, i.e. you'll have to
configure your guest with '-usbdevice tablet'.

29b0040b 09/21/2010 07:36 pm Gerd Hoffmann

spice: core bits

Add -spice command line switch. Has support setting passwd and port for
now. With this patch applied the spice client can successfully connect
to qemu. You can't do anything useful yet though.

864401c2 09/21/2010 07:36 pm Gerd Hoffmann

spice: add keyboard

Open keyboard channel. Now you can type into the spice client and the
keyboard events are sent to your guest. You'll need some other display
like vnc to actually see the guest responding to them though.

78dd9ac1 09/21/2010 07:36 pm Gerd Hoffmann

spice: add mouse

Open mouse channel. Now you can move the guests mouse pointer.
No tablet / absolute positioning (yet) though.

ba5e7f82 09/04/2010 01:11 pm Izumi Tsutsui

vnc: use bswapNN() rather than bswap_NN()

bswap_NN() variants are not always available in CONFIG_MACHINE_BSWAP_H case
and bswapNN() are public APIs in "bswap.h".

Signed-off-by: Izumi Tsutsui <>
Signed-off-by: Blue Swirl <>

49e3fcc2 09/04/2010 12:55 pm Serge Ziryukin

vnc: tight: remove unused variable

Signed-off-by: Serge Ziryukin <>
Signed-off-by: Blue Swirl <>

2116eff9 09/04/2010 12:45 pm Jes Sorensen

size_t is unsigned, change to ssize_t to handle errors from tight_compress_data()

Signed-off-by: Jes Sorensen <>
Signed-off-by: Blue Swirl <>

ac71103d 08/23/2010 12:48 am Yoshiaki Tamura

vnc: check fd before calling qemu_set_fd_handler2() in vnc_client_write()

Setting fd = -1 to qemu_set_fd_handler2() causes bus error at FD_SET
in main_loop_wait().

Signed-off-by: Yoshiaki Tamura <>
Signed-off-by: Anthony Liguori <>

cdfb017e 08/15/2010 12:46 pm Stefan Weil

win32: Avoid compiler warning (WIN32_LEAN_AND_MEAN redefined)

configure adds the macro WIN32_LEAN_AND_MEAN to
QEMU_CFLAGS, and SDL_syswm.h defines it, too.

This results in a compiler warning (redefinition of
WIN32_LEAN_AND_MEAN in SDL_syswm.h. That warning prevents...

ad7ee4ad 07/31/2010 10:43 pm Blue Swirl

Initialize a variable in all cases

Commit d167f9bc06a577d6c85b8ed6991c1efe175aae7d missed this one:
/src/qemu/ui/vnc-enc-tight.c:1483: warning: 'ret' may be used uninitialized in this function

Signed-off-by: Blue Swirl <>

aee474eb 07/31/2010 10:40 pm Blue Swirl

Fix uint8_t comparison with negative value

Commit 7bccf57383cca60a778d5c543ac80c9f62d89ef2 missed this one:
/src/qemu/ui/vnc-enc-tight.c: In function 'send_sub_rect':
/src/qemu/ui/vnc-enc-tight.c:1527: warning: comparison is always true due to limited range of data type...

249cdb42 07/27/2010 08:26 pm Blue Swirl

Fix mingw32 build

Fix mingw32 build errors like
/src/qemu/ui/vnc-enc-tight.c: In function 'tight_detect_smooth_image24':
/src/qemu/ui/vnc-enc-tight.c:119: error: 'uint' undeclared (first use in this function)

Replace 'uint' with proper 'unsigned int'.

Signed-off-by: Blue Swirl <>

d167f9bc 07/27/2010 06:34 pm Blue Swirl

Initialize a variable in all cases

Fix a warning with some GCCs:
/src/qemu/ui/vnc-enc-tight.c: In function `send_sub_rect_nojpeg':
/src/qemu/ui/vnc-enc-tight.c:1458: warning: `ret' might be used uninitialized in this function

Signed-off-by: Blue Swirl <>

7bccf573 07/27/2010 06:32 pm Blue Swirl

Fix uint8_t comparisons with negative values

Fix the following warnings:
/src/qemu/hw/ide/core.c: In function `ide_drive_pio_post_load':
/src/qemu/hw/ide/core.c:2767: warning: comparison is always false due to limited range of data type

/src/qemu/ui/vnc-enc-tight.c: In function `tight_detect_smooth_image':...

5d8efe39 07/27/2010 01:36 am Corentin Chary

vnc: tight: don't forget do at the last color

While using indexed colors, the last color was never added to the palette.
Triggered with ubuntu livecd.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

d9c18c24 07/27/2010 01:36 am Corentin Chary

vnc: tight: remove a memleak in send_jpeg_rect()

buf was never freed.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

efe556ad 07/27/2010 01:36 am Corentin Chary

vnc: tight add PNG encoding

Introduce a new encoding: VNC_ENCODING_TIGHT_PNG [1] (-269) with a new
tight filter VNC_TIGHT_PNG (0x0A). When the client tells it supports the Tight PNG
encoding, the server will use tight, but will always send encoding pixels using...

3941bf6f 07/27/2010 01:36 am Corentin Chary

vnc: tight: specific zlib level and filters for each compression level

Disable png filters for lower compression levels. This should lower
the CPU consumption and reduce encoding time.

This isn't in tight_conf because:
  • tight_conf structure must not change, because it's shared with other...
5136a052 07/27/2010 01:36 am Corentin Chary

vnc: tight: stop using qdict for palette stuff

Profiling with callgrind seems to show that a lot of time is spent
in the palette code (mostly due to memory allocation and qdict to int
conversion).

This patch adds a VncPalette implementation. The palette is stored...

d1af0e05 07/27/2010 01:36 am Corentin Chary

vnc: encapsulate encoding members

This will allow to implement the threaded VNC server in a
more cleaner way.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

b5469b11 07/27/2010 01:36 am Corentin Chary

vnc: fix tight png memory leak

The tight.png buffer was never released.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

bd023f95 07/27/2010 01:36 am Corentin Chary

vnc: threaded VNC server

Implement a threaded VNC server using the producer-consumer model.
The main thread will push encoding jobs (a list a rectangles to update)
in a queue, and the VNC worker thread will consume that queue and send
framebuffer updates to the output buffer....

d01f9595 07/27/2010 01:36 am Corentin Chary

vnc: add missing lock for vnc_cursor_define()

All vnc_write() calls must be locked (except the ones present before
the protocol initialization).

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

4043a013 07/27/2010 01:36 am Corentin Chary

vnc: tight: fix rgb_prepare_row

rgb_prepare_row bpp depends on the server display surface, not
the client.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

03817eb8 07/27/2010 01:36 am Corentin Chary

vnc: tight: split send_sub_rect

Split send_sub_rect in send_sub_rect_jpeg and send_sub_rect_nojpeg to
remove all these #ifdef CONFIG_JPEG.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

245f7b51 07/27/2010 01:36 am Corentin Chary

vnc: rename vnc-encoding-* vnc-enc-*

For the same reason that we don't use vnc-authentication-sasl.c but
vnc-auth-sals.c. Because it's tooooo long.

Signed-off-by: Corentin Chary <>
Signed-off-by: Anthony Liguori <>

3e230dd2 07/27/2010 01:35 am Corentin Chary

ui: move all ui components in ui/

Move sdl, vnc, curses and cocoa UI into ui/ to cleanup
the root directory. Also remove some unnecessary explicit
targets from Makefile.

aliguori: fix build when srcdir != objdir

Signed-off-by: Corentin Chary <>...