diff --git a/src/domain_conf.c b/src/domain_conf.c
index 32ed59f..018d07f 100644
--- a/src/domain_conf.c
+++ b/src/domain_conf.c
@@ -212,6 +212,7 @@ void
virDomainGraphicsDefFree(virDomainGraphicsDefPtr def)
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
VIR_FREE(def->data.sdl.display);
VIR_FREE(def->data.sdl.xauth);
+ VIR_FREE(def->data.sdl.fullscreen);
break;
}
@@ -1403,6 +1404,7 @@
virDomainGraphicsDefParseXML(virConnectPtr conn,
} else if (def->type ==
VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
def->data.sdl.xauth = virXMLPropString(node,
"xauth");
def->data.sdl.display = virXMLPropString(node,
"display");
+ def->data.sdl.fullscreen =
virXMLPropString(node, "fullscreen");
}
cleanup:
@@ -2951,6 +2953,10 @@
virDomainGraphicsDefFormat(virConnectPtr conn,
if (def->data.sdl.xauth)
virBufferEscapeString(buf, "
xauth='%s'",
def->data.sdl.xauth);
+ if (def->data.sdl.fullscreen)
+ virBufferEscapeString(buf, "
fullscreen='%s'",
+
def->data.sdl.fullscreen);
+
break;
}
diff --git a/src/domain_conf.h b/src/domain_conf.h
index 51cf6d5..436d0b1 100644
--- a/src/domain_conf.h
+++ b/src/domain_conf.h
@@ -268,6 +268,7 @@ struct _virDomainGraphicsDef {
struct {
char *display;
char *xauth;
+ char *fullscreen;
} sdl;
} data;
};
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
index e6c378f..e53f5f0 100644
--- a/src/qemu_conf.c
+++ b/src/qemu_conf.c
@@ -35,6 +35,7 @@
#include <sys/wait.h>
#include <arpa/inet.h>
#include <sys/utsname.h>
+#include <stdbool.h>
#if HAVE_NUMACTL
#define NUMA_VERSION1_COMPATIBILITY 1
@@ -1213,6 +1214,7 @@ int
qemudBuildCommandLine(virConnectPtr conn,
vm->def->graphics->type ==
VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
char *xauth = NULL;
char *display = NULL;
+ bool fullscreen = false;
if (vm->def->graphics->data.sdl.xauth
&&
asprintf(&xauth, "XAUTHORITY=%s",
@@ -1225,10 +1227,17 @@ int
qemudBuildCommandLine(virConnectPtr conn,
goto no_memory;
}
+ if (vm->def->graphics->data.sdl.fullscreen
&&
+
STREQ(vm->def->graphics->data.sdl.fullscreen, "true")) {
+ fullscreen=true;
+ }
+
if (xauth)
ADD_ENV(xauth);
if (display)
ADD_ENV(display);
+ if (fullscreen)
+ ADD_ARG_LIT("-full-screen");
}
/* Add sound hardware */
diff --git
a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
new file mode 100644
index 0000000..da2adc0
--- /dev/null
+++
b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test
XAUTHORITY=/root/.Xauthority DISPLAY=:0.1 /usr/bin/qemu -S -M pc -m 214 -smp 1
-monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial
none -parallel none -usb -full-screen
diff --git
a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.xml
b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.xml
new file mode 100644
index 0000000..007677a
--- /dev/null
+++
b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.xml
@@ -0,0 +1,24 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <input type='mouse' bus='ps2'/>
+ <graphics type='sdl' display=':0.1'
xauth='/root/.Xauthority' fullscreen='true'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c
b/tests/qemuxml2argvtest.c
index 6e5355a..a04d508 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -195,6 +195,7 @@ mymain(int argc, char **argv)
DO_TEST("disk-usb", 0);
DO_TEST("graphics-vnc", 0);
DO_TEST("graphics-sdl", 0);
+ DO_TEST("graphics-sdl-fullscreen", 0);
DO_TEST("input-usbmouse", 0);
DO_TEST("input-usbtablet", 0);
DO_TEST("input-xen", 0);
diff --git a/tests/qemuxml2xmltest.c
b/tests/qemuxml2xmltest.c
index c810f78..613926a 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -98,6 +98,7 @@ mymain(int argc, char **argv)
DO_TEST("disk-usb");
DO_TEST("graphics-vnc");
DO_TEST("graphics-sdl");
+ DO_TEST("graphics-sdl-fullscreen");
DO_TEST("input-usbmouse");
DO_TEST("input-usbtablet");
DO_TEST("input-xen");