spice/server
Hans de Goede f7f876a3cb server: Add public spice_qxl_driver_unload method
With a SPICE_DISPLAY_CAP_MONITORS_CONFIG capable client, the client needs to
know what part of the primary to use for each monitor. If the guest driver
does not support this, the server sends messages to the client for a
single monitor spanning the entire primary.

As soon as the guest calls spice_qxl_monitors_config_async once, we set
the red_worker driver_has_monitors_config flag and stop doing this.

This is a problem when the driver gets unloaded, for example after a reboot
or when switching to a text vc with usermode mode-setting under Linux.

To reproduce this start a multi-mon capable Linux guest which uses
usermode mode-setting and then once X has started switch to a text vc. Note
how the client window does not only not resize, if you try to resize it
manually you always keep blackborders since the aspect is wrong.

This patch is the spice-server side of fixing this, it adds a new
spice_qxl_driver_unload method which clears the driver_has_monitors_config
flag.

The other patch needed to fix this is in qemu, and will calls this new method
from qxl_enter_vga_mode.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-04-24 09:31:27 +02:00
..
tests Revert "server: add websockets support via libwebsockets" 2012-11-04 13:48:42 +02:00
.gitignore gitignore: add generated_*, vim temps, pyc 2010-11-08 16:06:55 +02:00
agent-msg-filter.c server: Filter VD_AGENT_MONITORS_CONFIG 2012-09-13 14:47:32 +03:00
agent-msg-filter.h server: Filter VD_AGENT_MONITORS_CONFIG 2012-09-13 14:47:32 +03:00
char_device.c char_device: Don't set active when stopped and don't access dev after unref 2013-03-29 10:07:26 +01:00
char_device.h char_device: Add spice_char_device_write_buffer_get_server_no_token() 2013-03-07 11:52:23 +01:00
demarshallers.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
dispatcher.c Don't do arithmetic on void * type, use uint8_t instead 2012-04-25 09:40:18 +01:00
dispatcher.h dispatcher.h: fix - s/#define MAIN_DISPATCHER_H/#define DISPATCHER_H 2013-04-22 16:30:54 -04:00
glz_encode_match_tmpl.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encode_tmpl.c Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
glz_encoder_config.h Fix multiple printf format problems 2012-04-25 09:42:11 +01:00
glz_encoder_dictionary_protected.h server: s/max_encdoers/max_encoders/ 2012-08-30 17:08:09 +03:00
glz_encoder_dictionary.c server: s/max_encdoers/max_encoders/ 2012-08-30 17:08:09 +03:00
glz_encoder_dictionary.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder.c Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder.h Use the spice-common submodule 2012-03-25 18:59:10 +02:00
inputs_channel.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
inputs_channel.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
jpeg_encoder.c Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
jpeg_encoder.h Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
main_channel.c red_worker: start using mjpeg_encoder rate control capabilities 2013-04-22 16:30:54 -04:00
main_channel.h red_worker: start using mjpeg_encoder rate control capabilities 2013-04-22 16:30:54 -04:00
main_dispatcher.c reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
main_dispatcher.h reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
Makefile.am server: spice_timer_queue 2013-04-22 16:30:54 -04:00
migration_protocol.h enable seamless migration and set migration protocol version 2012-08-27 09:13:14 +03:00
mjpeg_encoder.c collect and print video stream statistics 2013-04-22 16:30:55 -04:00
mjpeg_encoder.h server/red_worker.c: use the bit rate of old streams as a start point for new streams 2013-04-22 16:30:55 -04:00
red_bitmap_utils.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
red_channel.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
red_channel.h red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
red_client_cache.h Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
red_client_shared_cache.h Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
red_common.h server/red_parse_qxl: add bitmap consistency check 2012-09-03 19:27:22 +03:00
red_dispatcher.c server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
red_dispatcher.h server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
red_memslots.c Add support for QXLComposite to spice server 2012-08-24 13:44:42 -04:00
red_memslots.h server: allow failure in getvirt 2012-04-05 18:28:49 +03:00
red_parse_qxl.c red_parse_qxl: fix throwing away drawables that have masks 2012-12-20 10:13:09 -05:00
red_parse_qxl.h Add support for QXLComposite to spice server 2012-08-24 13:44:42 -04:00
red_tunnel_worker.c server/red_tunnel_worker: remove unneeded expect_migrate_mark 2012-08-30 17:08:09 +03:00
red_tunnel_worker.h server: Unset executable bit of red_tunnel_worker.h 2011-05-05 20:04:49 +03:00
red_worker.c server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
red_worker.h server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
reds_gl_canvas.c Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds_gl_canvas.h Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds_sw_canvas.c Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds_sw_canvas.h Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds-private.h reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
reds.c reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
reds.h reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
smartcard.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
smartcard.h smartcard: use SpiceCharDeviceState for managing reading from the device 2012-07-03 14:13:42 +03:00
snd_worker.c snd_worker: support sending SPICE_MSG_PLAYBACK_LATENCY 2013-04-22 16:30:54 -04:00
snd_worker.h snd_worker: support sending SPICE_MSG_PLAYBACK_LATENCY 2013-04-22 16:30:54 -04:00
spice_timer_queue.c server: spice_timer_queue 2013-04-22 16:30:54 -04:00
spice_timer_queue.h server: spice_timer_queue 2013-04-22 16:30:54 -04:00
spice-experimental.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
spice-server.syms server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
spice.h server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
spicevmc.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
stat.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
zlib_encoder.c Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
zlib_encoder.h applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00