qemu/ui
Gerd Hoffmann 474114b730 spice: add opengl/virgl/dmabuf support
This adds support for dma-buf passing to spice.  This makes virtio-gpu
with 3d acceleration work with spice.

Workflow:
 * virglrenderer renders the guest command stream into a texture.
 * qemu exports the texture as dma-buf and passes on that dma-buf
   to spice-server.
 * spice-server passes the dma-buf to spice-client, using unix
   socket file descriptor passing.
 * spice-client asks the window systems composer to render the
   dma-buf to the screen.

Requires cutting edge spice (server) and spice-gtk (client) builds,
from git master branch.

Also requires libvirt managing your qemu instance, and using
"virt-viewer --attach $guest".  libvirt will connect spice-server and
spice-client using unix sockets instead of tcp sockets then, which
is required for file descriptor passing.

Works for the local case (spice server and client on the same machine)
only.  Supporting remote too is planned (by feeding the dma-bufs into
gpu-assisted video encoder), but not there yet.

gl mode is turned off by default, use "-spice gl=on,$otherargs" to
enable it.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-02-23 12:04:39 +01:00
..
shader console-gl: add opengl rendering helper functions 2015-05-05 10:48:22 +02:00
cocoa.m ui/cocoa.m: Include qemu/osdep.h 2016-02-08 13:14:40 +00:00
console-gl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
console.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
curses_keys.h ui/curses: Fix pageup/pagedown on -curses 2015-11-03 10:12:46 +01:00
curses.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
cursor_hidden.xpm ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
cursor_left_ptr.xpm ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
cursor.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
egl-context.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
egl-helpers.c egl-helpers: add functions for render nodes and dma-buf passing 2016-02-23 12:04:39 +01:00
gtk-egl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
gtk-gl-area.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
gtk.c gtk: fix uninitialized temporary VirtualConsole 2016-02-22 08:38:42 +01:00
input-keymap.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
input-legacy.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
input.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
keymaps.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
keymaps.h
Makefile.objs gtk/opengl: add opengl context and scanout support (GtkGLArea) 2015-10-08 10:34:53 +02:00
qemu-pixman.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
qemu-x509.h ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
sdl2-2d.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl2-gl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl2-input.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl2-keymap.h sdl2: keymap fixups 2014-09-16 08:07:05 +02:00
sdl2.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl_keysym.h ui/sdl2 : initial port to SDL 2.0 (v2.0) 2014-03-05 09:52:05 +01:00
sdl_zoom_template.h sdl: Fix heap smash in sdl_zoom_rgb{16,32} for int > 32 bits 2013-01-15 18:25:30 -06:00
sdl_zoom.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl_zoom.h
sdl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
shader.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
spice-core.c spice: add opengl/virgl/dmabuf support 2016-02-23 12:04:39 +01:00
spice-display.c spice: add opengl/virgl/dmabuf support 2016-02-23 12:04:39 +01:00
spice-input.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vgafont.h ui: move files to ui/ and include/ui/ 2012-12-19 08:31:30 +01:00
vnc_keysym.h qemu-char: add cyrillic characters 'numerosign' to VNC keysyms 2015-03-10 08:15:34 +03:00
vnc-auth-sasl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-auth-sasl.h aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
vnc-auth-vencrypt.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-auth-vencrypt.h
vnc-enc-hextile-template.h pixman/vnc: use pixman images in vnc. 2012-11-01 14:00:04 +01:00
vnc-enc-hextile.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-tight.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-tight.h vnc: tight add PNG encoding 2010-07-26 17:36:14 -05:00
vnc-enc-zlib.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zrle-template.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zrle.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zrle.h vnc: Add ZRLE and ZYWRLE encodings. 2011-02-23 16:28:28 -06:00
vnc-enc-zywrle-template.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zywrle.h misc: Spelling and grammar fixes in comments 2013-10-26 13:06:45 +04:00
vnc-jobs.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-jobs.h ui/vnc: Remove vnc_stop_worker_thread() 2015-03-10 08:15:33 +03:00
vnc-palette.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-palette.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
vnc-ws.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-ws.h ui: convert VNC server to use QIOChannelWebsock 2015-12-18 15:02:11 +00:00
vnc.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc.h ui: convert VNC server to use QIOChannelWebsock 2015-12-18 15:02:11 +00:00
x_keymap.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
x_keymap.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00