Statistics
| Branch: | Revision:

root / ui / spice-display.c @ 834574ea

History | View | Annotate | Download (18.3 kB)

# Date Author Comment
9c17d615 12/19/2012 09:32 am Paolo Bonzini

softmmu: move include files to include/sysemu/

Signed-off-by: Paolo Bonzini <>

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

83c9089e 12/19/2012 09:31 am Paolo Bonzini

monitor: move include files to include/monitor/

Signed-off-by: Paolo Bonzini <>

28ecbaee 12/19/2012 09:31 am Paolo Bonzini

ui: move files to ui/ and include/ui/

Signed-off-by: Paolo Bonzini <>

21a50d0b 11/21/2012 03:46 pm Gerd Hoffmann

spice: add new spice-server callbacks to ui/spice-display.c

Otherwise qemu crashes with non-qxl graphics cards.

Signed-off-by: Gerd Hoffmann <>

d9a86569 11/05/2012 12:54 pm Gerd Hoffmann

spice: switch to pixman

Switch over spice-display.c to use the pixman library
instead of the home-grown pflib bits.

Signed-off-by: Gerd Hoffmann <>

bdd4df33 11/05/2012 12:54 pm Gerd Hoffmann

spice: fix initialization order

Register displaychangelistener last, after spice is fully initialized,
otherwise we may hit NULL pointer dereferences when qemu starts calling
our callbacks.

Commit e250d949feb1334828f27f0d145c35f29c4b7639 triggers this bug....

a93a4a22 11/01/2012 02:10 pm Gerd Hoffmann

console: untangle gfx & txt updates

Stop abusing displaysurface fields for text mode displays.
(bpp = 0, width = cols, height = lines).

Add flags to displaystate indicating whenever text mode display
(curses) or gfx mode displays (sdl, vnc, ...) are present....

bf2fde70 11/01/2012 02:10 pm Gerd Hoffmann

console: move set_mouse + cursor_define callbacks

When adding DisplayChangeListeners the set_mouse and cursor_define
callbacks have been left in DisplayState for some reason. Fix it.

Signed-off-by: Gerd Hoffmann <>

67be6726 10/08/2012 01:15 pm Gerd Hoffmann

spice: raise requirement to 0.12

With the next qemu version (1.3) we are going to bump the qxl device
revision to 4. The new features available require a recent spice-server
version, so raise up the bar. Otherwise we would end up with different
qxl revisions depending on the spice-server version installed, which...

509e9c46 09/17/2012 06:21 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

  • stefanha/trivial-patches:
    configure: fix seccomp check
    arch_init.c: add missing '%' symbols before PRIu64 in debug printfs
    kvm: Fix warning from static code analysis
    qapi: Fix enumeration typo error...
4580c490 09/14/2012 10:21 am Stefan Weil

ui: Fix spelling in comment (ressource -> resource)

The function is called interface_release_resource.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

b1af98ba 09/12/2012 09:09 am Gerd Hoffmann

spice: switch to queue for vga mode updates

Signed-off-by: Gerd Hoffmann <>

c60319a3 09/12/2012 09:09 am Gerd Hoffmann

spice: split qemu_spice_create_update

Creating one function which creates a single update for a given
rectangle. And one (for now) pretty simple wrapper around it to
queue up screen updates for the dirty region.

[ v2: also update bounding box ]

Signed-off-by: Gerd Hoffmann <>

a7310dd3 09/12/2012 09:09 am Gerd Hoffmann

spice: add screen mirror

Create a screen mirror, keep there a copy of the most recent update
passed on to spice-server.

Signed-off-by: Gerd Hoffmann <>

b021bd29 09/12/2012 09:09 am Gerd Hoffmann

spice: send updates only for changed screen content

when creating screen updates go compare the current guest screen
against the mirror (which holds the most recent update sent), then
only create updates for the screen areas which did actually change.

[ v2: drop redundant qemu_spice_create_one_update call ]...

ddd8fdc7 09/05/2012 06:11 pm Gerd Hoffmann

spice: make number of surfaces runtime-configurable.

Signed-off-by: Gerd Hoffmann <>

71d388d4 09/05/2012 06:11 pm Yonit Halperin

spice: notify on vm state change only via spice_server_vm_start/stop

QXLWorker->start/stop are deprecated since spice-server 0.11.2

Signed-off-by: Yonit Halperin <>
Signed-off-by: Gerd Hoffmann <>

160c31f7 06/22/2012 11:46 am Alon Levy

ui/spice-display.c: add missing initialization for valgrind

We can't initialize QXLDevSurfaceCreate field by field because it has a
pa hole, and so 4 bytes remain uninitialized when building on x86-64, so
just memset.

Signed-off-by: Alon Levy <>...

5cbdb3a3 04/07/2012 05:00 pm Stefan Weil

Replace Qemu by QEMU in comments

The official spelling is QEMU.

Signed-off-by: Stefan Weil <>
Reviewed-by: Andreas Färber <>
[: fixed comment style in hw/sun4m.c]
Signed-off-by: Blue Swirl <>

a13ccc99 03/22/2012 03:29 pm Alon Levy

ui/spice-display: use uintptr_t when casting qxl physical addresses

The current intptr_t casts are a problem when the address's highest
bit is 1, and it is cast to a intptr_t and then to uint64_t, such
as at:
surface.mem = (intptr_t)ssd->buf;...

34d14c6d 03/22/2012 03:29 pm Peter Maydell

ui/spice-display.c: Fix compilation warnings on 32 bit hosts

Fix compilation failures ("cast from pointer to integer of
different size [-Werror=pointer-to-int-cast]") by using
uintptr_t instead.

Signed-off-by: Peter Maydell <>
Signed-off-by: Gerd Hoffmann <>

c480bb7d 03/19/2012 02:12 pm Alon Levy

qxl: switch qxl.c to trace-events

dprint is still used for qxl_init_common one time prints.

also switched parts of spice-display.c over, mainly all the callbacks to
spice server.

All qxl device trace events start with the qxl device id.

Signed-off-by: Alon Levy <>...

2e1a98c9 02/27/2012 10:46 am Alon Levy

qxl: introduce QXLCookie

Will be used in the next patch.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

bb5a8cd5 02/27/2012 10:46 am Alon Levy

qxl: fix spice+sdl no cursor regression

regression introduced by 075360945860ad9bdd491921954b383bf762b0e5,

v2: lock around qemu_spice_cursor_refresh_unlocked

Reported-by: Fabiano Fidêncio <>
Signed-off-by: Alon Levy <>...

4295e15a 02/27/2012 10:46 am Alon Levy

qxl: require spice >= 0.8.2

drop all ifdefs on SPICE_INTERFACE_QXL_MINOR >= 1 as a result,
any check for SPICE_SERVER_VERSION that is now always satisfied,
and SPICE_INTERFACE_CORE_MINOR >= 3 tests, because
0.8.2 has SPICE_INTERFACE_QXL_MINOR 1 and
SPICE_INTERFACE_CORE_MINOR 3....

43b26fc8 09/21/2011 12:49 pm Jan Kiszka

Drop unneeded pthread.h inclusions

Signed-off-by: Jan Kiszka <>
Signed-off-by: Stefan Hajnoczi <>

1dfb4dd9 09/15/2011 10:39 pm Luiz Capitulino

Replace the VMSTOP macros with a proper state type

Today, when notifying a VM state change with vm_state_notify(),
we pass a VMSTOP macro as the 'reason' argument. This is not ideal
because the VMSTOP macros tell why qemu stopped and not exactly
what the current VM state is....

7e79cf40 09/07/2011 10:20 am Yonit Halperin

spice: set qxl->ssd.running=true before telling spice to start, RHBZ #733993

If qxl->ssd.running=true is set after telling spice to start, the spice server
thread can call qxl_send_events while qxl->ssd.running is still false. This leads to
assert(d->ssd.running)....

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

5ff4e36c 08/03/2011 01:03 pm Alon Levy

qxl: async io support using new spice api

Some of the QXL port i/o commands are waiting for the spice server to
complete certain actions. Add async versions for these commands, so we
don't block the vcpu while the spice server processses the command.
Instead the qxl device will raise an IRQ when done....

5c59d118 08/01/2011 01:43 pm Gerd Hoffmann

spice: add worker wrapper functions.

Add wrapper functions for all spice worker calls.

Signed-off-by: Gerd Hoffmann <>

a963f876 08/01/2011 01:43 pm Gerd Hoffmann

spice: add qemu_spice_display_init_common

Factor out SimpleSpiceDisplay initialization into
qemu_spice_display_init_common() and call it from
both qxl.c (for vga mode) and spice-display.c

Signed-off-by: Gerd Hoffmann <>

aee32bf3 08/01/2011 01:43 pm Gerd Hoffmann

spice/qxl: move worker wrappers

Move the wrapper functions which are used by qxl only to qxl.c.
Rename them from qemu_spice_* to qxl_spice_*. Also pass in a
qxl state pointer instead of a SimpleSpiceDisplay pointer.

Signed-off-by: Gerd Hoffmann <>

22795174 07/04/2011 04:35 pm Alon Levy

qxl: set mm_time in vga update

This fixes a problem where on windows 7 startup phase, before the qxl driver
is loaded, the drawables are sufficiently large and video like to trigger a
stream, but the lack of a filled mm time field triggers a warning in spice-gtk....

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....

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....

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....
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'.