[Libguestfs] [PATCH] launch: switch from -nographic to -display none

Pino Toscano ptoscano at redhat.com
Mon Dec 9 15:19:11 UTC 2013


The latter is a better way to disable the qemu display output as we
need to, without enabling extra devices (which are disabled already,
anyway).

Also, related to the change above, ban the -display parameter from the
ones that can be supplied by the user.
---
 configure.ac        |  8 ++++----
 src/launch-direct.c | 12 ++++++++----
 src/launch.c        |  1 +
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/configure.ac b/configure.ac
index ae676c4..eb0e493 100644
--- a/configure.ac
+++ b/configure.ac
@@ -797,16 +797,16 @@ working.
         AC_MSG_FAILURE([$QEMU version must be >= 1.0.])
     fi
 
-    AC_MSG_CHECKING([that $QEMU -nographic -machine accel=kvm:tcg -device ? works])
-    if $QEMU -nographic -machine accel=kvm:tcg -device \? >&AS_MESSAGE_LOG_FD 2>&1; then
+    AC_MSG_CHECKING([that $QEMU -display none -machine accel=kvm:tcg -device ? works])
+    if $QEMU -display none -machine accel=kvm:tcg -device \? >&AS_MESSAGE_LOG_FD 2>&1; then
         AC_MSG_RESULT([yes])
     else
         AC_MSG_RESULT([no])
-        AC_MSG_FAILURE([$QEMU -nographic -machine accel=kvm:tcg -device ? doesn't work.])
+        AC_MSG_FAILURE([$QEMU -display none -machine accel=kvm:tcg -device ? doesn't work.])
     fi
 
     AC_MSG_CHECKING([for virtio-serial support in $QEMU])
-    if $QEMU $QEMU_OPTIONS -nographic -machine accel=kvm:tcg -device \? 2>&1 | grep -sq virtio-serial; then
+    if $QEMU $QEMU_OPTIONS -display none -machine accel=kvm:tcg -device \? 2>&1 | grep -sq virtio-serial; then
         AC_MSG_RESULT([yes])
     else
         AC_MSG_RESULT([no])
diff --git a/src/launch-direct.c b/src/launch-direct.c
index 8d0d8ce..f45f582 100644
--- a/src/launch-direct.c
+++ b/src/launch-direct.c
@@ -349,7 +349,8 @@ launch_direct (guestfs_h *g, void *datav, const char *arg)
   if (qemu_supports (g, data, "-nodefaults"))
     ADD_CMDLINE ("-nodefaults");
 
-  ADD_CMDLINE ("-nographic");
+  ADD_CMDLINE ("-display");
+  ADD_CMDLINE ("none");
 
 #ifdef MACHINE_TYPE
   ADD_CMDLINE ("-M");
@@ -918,7 +919,8 @@ test_qemu (guestfs_h *g, struct backend_direct_data *data)
   data->qemu_devices = NULL;
 
   guestfs___cmd_add_arg (cmd1, g->hv);
-  guestfs___cmd_add_arg (cmd1, "-nographic");
+  guestfs___cmd_add_arg (cmd1, "-display");
+  guestfs___cmd_add_arg (cmd1, "none");
   guestfs___cmd_add_arg (cmd1, "-help");
   guestfs___cmd_set_stdout_callback (cmd1, read_all, &data->qemu_help,
                                      CMD_STDOUT_FLAG_WHOLE_BUFFER);
@@ -927,7 +929,8 @@ test_qemu (guestfs_h *g, struct backend_direct_data *data)
     goto error;
 
   guestfs___cmd_add_arg (cmd2, g->hv);
-  guestfs___cmd_add_arg (cmd2, "-nographic");
+  guestfs___cmd_add_arg (cmd2, "-display");
+  guestfs___cmd_add_arg (cmd2, "none");
   guestfs___cmd_add_arg (cmd2, "-version");
   guestfs___cmd_set_stdout_callback (cmd2, read_all, &data->qemu_version,
                                      CMD_STDOUT_FLAG_WHOLE_BUFFER);
@@ -938,7 +941,8 @@ test_qemu (guestfs_h *g, struct backend_direct_data *data)
   parse_qemu_version (g, data);
 
   guestfs___cmd_add_arg (cmd3, g->hv);
-  guestfs___cmd_add_arg (cmd3, "-nographic");
+  guestfs___cmd_add_arg (cmd3, "-display");
+  guestfs___cmd_add_arg (cmd3, "none");
   guestfs___cmd_add_arg (cmd3, "-machine");
   guestfs___cmd_add_arg (cmd3, "accel=kvm:tcg");
   guestfs___cmd_add_arg (cmd3, "-device");
diff --git a/src/launch.c b/src/launch.c
index 60f6811..9c1c33a 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -295,6 +295,7 @@ guestfs__config (guestfs_h *g,
   if (STREQ (hv_param, "-kernel") ||
       STREQ (hv_param, "-initrd") ||
       STREQ (hv_param, "-nographic") ||
+      STREQ (hv_param, "-display") ||
       STREQ (hv_param, "-serial") ||
       STREQ (hv_param, "-full-screen") ||
       STREQ (hv_param, "-std-vga") ||
-- 
1.8.3.1




More information about the Libguestfs mailing list