Signed-off-by: Jeremy White <jwhite@xxxxxxxxxxxxxxx> --- examples/spiceqxl.xorg.conf.example | 7 +++++++ src/qxl.h | 3 +++ src/qxl_driver.c | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/examples/spiceqxl.xorg.conf.example b/examples/spiceqxl.xorg.conf.example index f5868c1..a2f2ad9 100644 --- a/examples/spiceqxl.xorg.conf.example +++ b/examples/spiceqxl.xorg.conf.example @@ -70,6 +70,13 @@ Section "Device" # Set to true to only listen on ipv6 interfaces. # defaults to false. #Option "SpiceIPV6Only" "" + + # If non zero, the driver will render all operations to the frame buffer, + # and keep track of a changed rectangle list. The changed rectangles + # will be transmitted at the rate requested (e.g. 10 Frames Per Second) + # This can dramatically reduce network bandwidth for some use cases. + #Option "SpiceDeferredFPS" "10" + EndSection Section "InputDevice" diff --git a/src/qxl.h b/src/qxl.h index 4cf9830..1389658 100644 --- a/src/qxl.h +++ b/src/qxl.h @@ -127,6 +127,7 @@ enum { OPTION_SPICE_TLS_CIPHERS, OPTION_SPICE_CACERT_FILE, OPTION_SPICE_DH_FILE, + OPTION_SPICE_DEFERRED_FPS, #endif OPTION_COUNT, }; @@ -260,6 +261,8 @@ struct _qxl_screen_t uint32_t bytes_pp; uint8_t *data, *flipped; } guest_primary; + + uint32_t deferred_fps; #endif /* XSPICE */ }; diff --git a/src/qxl_driver.c b/src/qxl_driver.c index e29a7ae..b01845c 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -124,6 +124,8 @@ const OptionInfoRec DefaultOptions[] = "SpiceCacertFile", OPTV_STRING, {0}, FALSE}, { OPTION_SPICE_DH_FILE, "SpiceDhFile", OPTV_STRING, {0}, FALSE}, + { OPTION_SPICE_DEFERRED_FPS, + "SpiceDeferredFPS", OPTV_INTEGER, {0}, FALSE}, #endif { -1, NULL, OPTV_NONE, {0}, FALSE } @@ -2415,6 +2417,14 @@ qxl_pre_init (ScrnInfoPtr pScrn, int flags) qxl->num_heads = get_int_option (qxl->options, OPTION_NUM_HEADS, "QXL_NUM_HEADS"); +#ifdef XSPICE + qxl->deferred_fps = get_int_option(qxl->options, OPTION_SPICE_DEFERRED_FPS, "XSPICE_DEFERRED_FPS"); + if (qxl->deferred_fps > 0) + xf86DrvMsg(scrnIndex, X_INFO, "Deferred FPS: %d\n", qxl->deferred_fps); + else + xf86DrvMsg(scrnIndex, X_INFO, "Deferred Frames: Disabled\n"); +#endif + xf86DrvMsg (scrnIndex, X_INFO, "Offscreen Surfaces: %s\n", qxl->enable_surfaces ? "Enabled" : "Disabled"); xf86DrvMsg (scrnIndex, X_INFO, "Image Cache: %s\n", -- 1.7.10.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel