diff mbox

[v2] help: Update help to reflect that GTK is the default

Message ID 1470420195-32551-1-git-send-email-clord@redhat.com
State New
Headers show

Commit Message

clord@redhat.com Aug. 5, 2016, 6:03 p.m. UTC
Updates the help messages to reflect that GTK is the default display (if
enabled), not SDL.

Signed-off-by: Colin Lord <clord@redhat.com>
---
 v2: Update to try to implement Paolo's suggested wordings. It looks to
 me like the subsections get wrapped at 72 lines, which mean there was a
 bit of a ripple effect and the changes look bigger than they are.
 qemu-options.hx | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

Comments

Markus Armbruster Aug. 8, 2016, 6:56 a.m. UTC | #1
Colin Lord <clord@redhat.com> writes:

> Updates the help messages to reflect that GTK is the default display (if
> enabled), not SDL.
>
> Signed-off-by: Colin Lord <clord@redhat.com>
> ---
>  v2: Update to try to implement Paolo's suggested wordings. It looks to
>  me like the subsections get wrapped at 72 lines, which mean there was a
>  bit of a ripple effect and the changes look bigger than they are.
>  qemu-options.hx | 36 +++++++++++++++++++-----------------
>  1 file changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index a71aaf8..657d083 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -982,13 +982,14 @@ DEF("nographic", 0, QEMU_OPTION_nographic,
>  STEXI
>  @item -nographic
>  @findex -nographic
> -Normally, QEMU uses SDL to display the VGA output. With this option,
> -you can totally disable graphical output so that QEMU is a simple
> -command line application. The emulated serial port is redirected on
> -the console and muxed with the monitor (unless redirected elsewhere
> -explicitly). Therefore, you can still use QEMU to debug a Linux kernel
> -with a serial console.  Use @key{C-a h} for help on switching between
> -the console and monitor.
> +Normally, QEMU uses GTK or SDL to display the output (such as graphics,

For a value of "normally" :)

Here's how main() picks the default display:

    #if defined(CONFIG_GTK)
            display_type = DT_GTK;
    #elif defined(CONFIG_SDL)
            display_type = DT_SDL;
    #elif defined(CONFIG_COCOA)
            display_type = DT_COCOA;
    #elif defined(CONFIG_VNC)
            vnc_parse("localhost:0,to=99,id=default", &error_abort);
    #else
            display_type = DT_NONE;
    #endif

> +console, and the QEMU monitor). With this option, you can totally
> +disable graphical output so that QEMU is a simple command line
> +application. The emulated serial port is redirected on the console and
> +muxed with the monitor (unless redirected elsewhere explicitly).
> +Therefore, you can still use QEMU to debug a Linux kernel with a serial
> +console. Use @key{C-a h} for help on switching between the console and
> +monitor.

-nographic additionally instructs board code to omit optional graphics
devices, by setting machine property "graphics".

Aside: -nographic is hard to understand because it does too many things.

Your patch is an improvement for common configurations, but still
misleading when CONFIG_GTK and CONFIG_SDL are both off.  Additionally
covering the DT_COCOA case is easy enough, just refrain from going into
unnecessary technical detail: "Normally, QEMU displays output such as
guest graphics, guest console, monitor in a Window."  Still doesn't
cover the DT_NONE case with and without VNC, but I can't think of a
concise way to describe it right now.

>  ETEXI
>  
>  DEF("curses", 0, QEMU_OPTION_curses,
> @@ -997,9 +998,10 @@ DEF("curses", 0, QEMU_OPTION_curses,
>  STEXI
>  @item -curses
>  @findex -curses
> -Normally, QEMU uses SDL to display the VGA output.  With this option,
> -QEMU can display the VGA output when in text mode using a
> -curses/ncurses interface.  Nothing is displayed in graphical mode.
> +Normally, QEMU uses GTK or SDL to display the output (such as graphics,
> +console, and the QEMU monitor). With this option, QEMU can display the
> +VGA output when in text mode using a curses/ncurses interface. Nothing
> +is displayed in graphical mode.
>  ETEXI
>  
>  DEF("no-frame", 0, QEMU_OPTION_no_frame,
> @@ -1243,13 +1245,13 @@ DEF("vnc", HAS_ARG, QEMU_OPTION_vnc ,
>  STEXI
>  @item -vnc @var{display}[,@var{option}[,@var{option}[,...]]]
>  @findex -vnc
> -Normally, QEMU uses SDL to display the VGA output.  With this option,
> -you can have QEMU listen on VNC display @var{display} and redirect the VGA
> -display over the VNC session.  It is very useful to enable the usb
> -tablet device when using this option (option @option{-usbdevice
> -tablet}). When using the VNC display, you must use the @option{-k}
> -parameter to set the keyboard layout if you are not using en-us. Valid
> -syntax for the @var{display} is
> +Normally, QEMU uses GTK or SDL to display the output (such as graphics,
> +console, and the QEMU monitor). With this option, you can have QEMU
> +listen on VNC display @var{display} and redirect the VGA display over
> +the VNC session. It is very useful to enable the usb tablet device when
> +using this option (option @option{-usbdevice tablet}). When using the
> +VNC display, you must use the @option{-k} parameter to set the keyboard
> +layout if you are not using en-us. Valid syntax for the @var{display} is
>  
>  @table @option

Preexisting: the "must use -k" part has long become wrong.  You need -k
only if you use a VNC viewer that doesn't understand extended key
events.  If your viewer understand them, you're better off without -k.
You don't have to fix this in this patch.

https://www.berrange.com/posts/2010/07/04/more-than-you-or-i-ever-wanted-to-know-about-virtual-keyboard-handling/
Paolo Bonzini Aug. 12, 2016, 8:42 a.m. UTC | #2
On 08/08/2016 08:56, Markus Armbruster wrote:
> Aside: -nographic is hard to understand because it does too many things.

-nographic is "just" -serial mon:stdio -machine graphics=false -display
none. :)

Paolo
Markus Armbruster Aug. 15, 2016, 7:26 a.m. UTC | #3
Paolo Bonzini <pbonzini@redhat.com> writes:

> On 08/08/2016 08:56, Markus Armbruster wrote:
>> Aside: -nographic is hard to understand because it does too many things.
>
> -nographic is "just" -serial mon:stdio -machine graphics=false -display
> none. :)

Assuming default_parallel is off, default_monitor is on, and either
default_serial or default_virtcon or default_sclp is on: I think so (but
I could be wrong).

Depending on what it actually does, it can also conflict with
-daemonize.
diff mbox

Patch

diff --git a/qemu-options.hx b/qemu-options.hx
index a71aaf8..657d083 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -982,13 +982,14 @@  DEF("nographic", 0, QEMU_OPTION_nographic,
 STEXI
 @item -nographic
 @findex -nographic
-Normally, QEMU uses SDL to display the VGA output. With this option,
-you can totally disable graphical output so that QEMU is a simple
-command line application. The emulated serial port is redirected on
-the console and muxed with the monitor (unless redirected elsewhere
-explicitly). Therefore, you can still use QEMU to debug a Linux kernel
-with a serial console.  Use @key{C-a h} for help on switching between
-the console and monitor.
+Normally, QEMU uses GTK or SDL to display the output (such as graphics,
+console, and the QEMU monitor). With this option, you can totally
+disable graphical output so that QEMU is a simple command line
+application. The emulated serial port is redirected on the console and
+muxed with the monitor (unless redirected elsewhere explicitly).
+Therefore, you can still use QEMU to debug a Linux kernel with a serial
+console. Use @key{C-a h} for help on switching between the console and
+monitor.
 ETEXI
 
 DEF("curses", 0, QEMU_OPTION_curses,
@@ -997,9 +998,10 @@  DEF("curses", 0, QEMU_OPTION_curses,
 STEXI
 @item -curses
 @findex -curses
-Normally, QEMU uses SDL to display the VGA output.  With this option,
-QEMU can display the VGA output when in text mode using a
-curses/ncurses interface.  Nothing is displayed in graphical mode.
+Normally, QEMU uses GTK or SDL to display the output (such as graphics,
+console, and the QEMU monitor). With this option, QEMU can display the
+VGA output when in text mode using a curses/ncurses interface. Nothing
+is displayed in graphical mode.
 ETEXI
 
 DEF("no-frame", 0, QEMU_OPTION_no_frame,
@@ -1243,13 +1245,13 @@  DEF("vnc", HAS_ARG, QEMU_OPTION_vnc ,
 STEXI
 @item -vnc @var{display}[,@var{option}[,@var{option}[,...]]]
 @findex -vnc
-Normally, QEMU uses SDL to display the VGA output.  With this option,
-you can have QEMU listen on VNC display @var{display} and redirect the VGA
-display over the VNC session.  It is very useful to enable the usb
-tablet device when using this option (option @option{-usbdevice
-tablet}). When using the VNC display, you must use the @option{-k}
-parameter to set the keyboard layout if you are not using en-us. Valid
-syntax for the @var{display} is
+Normally, QEMU uses GTK or SDL to display the output (such as graphics,
+console, and the QEMU monitor). With this option, you can have QEMU
+listen on VNC display @var{display} and redirect the VGA display over
+the VNC session. It is very useful to enable the usb tablet device when
+using this option (option @option{-usbdevice tablet}). When using the
+VNC display, you must use the @option{-k} parameter to set the keyboard
+layout if you are not using en-us. Valid syntax for the @var{display} is
 
 @table @option