* [PATCH] ui/console: fix default VC when there are no display
@ 2023-11-08 13:37 marcandre.lureau
2023-11-10 8:10 ` Marc-André Lureau
0 siblings, 1 reply; 2+ messages in thread
From: marcandre.lureau @ 2023-11-08 13:37 UTC (permalink / raw)
To: qemu-devel; +Cc: pbonzini, gmaglione, Marc-André Lureau, Gerd Hoffmann
From: Marc-André Lureau <marcandre.lureau@redhat.com>
When display is "none", we may still have remote displays (I think it
would be simpler if VNC/Spice were regular display btw). Return the
default VC then, and set them up to fix a regression when using remote
display and it used the TTY instead.
Fixes: commit 1bec1cc0d ("ui/console: allow to override the default VC")
Reported-by: German Maglione <gmaglione@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
system/vl.c | 4 +++-
ui/console.c | 14 ++++++++------
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/system/vl.c b/system/vl.c
index bd7fad770b..8c522a07da 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -1359,6 +1359,7 @@ static void qemu_setup_display(void)
dpy.type = DISPLAY_TYPE_NONE;
#if defined(CONFIG_VNC)
vnc_parse("localhost:0,to=99,id=default");
+ display_remote++;
#endif
}
}
@@ -1391,7 +1392,8 @@ static void qemu_create_default_devices(void)
}
}
- if (nographic || (!vc && !is_daemonized() && isatty(STDOUT_FILENO))) {
+ if (nographic ||
+ ((!display_remote || !vc) && !is_daemonized() && isatty(STDOUT_FILENO))) {
if (default_parallel) {
add_device_config(DEV_PARALLEL, "null");
}
diff --git a/ui/console.c b/ui/console.c
index 8e688d3569..f08c8365b0 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -1679,19 +1679,21 @@ void qemu_display_init(DisplayState *ds, DisplayOptions *opts)
const char *qemu_display_get_vc(DisplayOptions *opts)
{
+#ifdef CONFIG_PIXMAN
+ const char *vc = "vc:80Cx24C";
+#else
+ const char *vc = NULL;
+#endif
+
assert(opts->type < DISPLAY_TYPE__MAX);
if (opts->type == DISPLAY_TYPE_NONE) {
- return NULL;
+ return vc;
}
assert(dpys[opts->type] != NULL);
if (dpys[opts->type]->vc) {
return dpys[opts->type]->vc;
- } else {
-#ifdef CONFIG_PIXMAN
- return "vc:80Cx24C";
-#endif
}
- return NULL;
+ return vc;
}
void qemu_display_help(void)
--
2.41.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ui/console: fix default VC when there are no display
2023-11-08 13:37 [PATCH] ui/console: fix default VC when there are no display marcandre.lureau
@ 2023-11-10 8:10 ` Marc-André Lureau
0 siblings, 0 replies; 2+ messages in thread
From: Marc-André Lureau @ 2023-11-10 8:10 UTC (permalink / raw)
To: qemu-devel, gmaglione; +Cc: pbonzini, Gerd Hoffmann
Hi
On Wed, Nov 8, 2023 at 5:37 PM <marcandre.lureau@redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> When display is "none", we may still have remote displays (I think it
> would be simpler if VNC/Spice were regular display btw). Return the
> default VC then, and set them up to fix a regression when using remote
> display and it used the TTY instead.
>
> Fixes: commit 1bec1cc0d ("ui/console: allow to override the default VC")
> Reported-by: German Maglione <gmaglione@redhat.com>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
German, did you file an issue on gitlab? Could you check/test this patch?
thanks
> ---
> system/vl.c | 4 +++-
> ui/console.c | 14 ++++++++------
> 2 files changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/system/vl.c b/system/vl.c
> index bd7fad770b..8c522a07da 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -1359,6 +1359,7 @@ static void qemu_setup_display(void)
> dpy.type = DISPLAY_TYPE_NONE;
> #if defined(CONFIG_VNC)
> vnc_parse("localhost:0,to=99,id=default");
> + display_remote++;
> #endif
> }
> }
> @@ -1391,7 +1392,8 @@ static void qemu_create_default_devices(void)
> }
> }
>
> - if (nographic || (!vc && !is_daemonized() && isatty(STDOUT_FILENO))) {
> + if (nographic ||
> + ((!display_remote || !vc) && !is_daemonized() && isatty(STDOUT_FILENO))) {
> if (default_parallel) {
> add_device_config(DEV_PARALLEL, "null");
> }
> diff --git a/ui/console.c b/ui/console.c
> index 8e688d3569..f08c8365b0 100644
> --- a/ui/console.c
> +++ b/ui/console.c
> @@ -1679,19 +1679,21 @@ void qemu_display_init(DisplayState *ds, DisplayOptions *opts)
>
> const char *qemu_display_get_vc(DisplayOptions *opts)
> {
> +#ifdef CONFIG_PIXMAN
> + const char *vc = "vc:80Cx24C";
> +#else
> + const char *vc = NULL;
> +#endif
> +
> assert(opts->type < DISPLAY_TYPE__MAX);
> if (opts->type == DISPLAY_TYPE_NONE) {
> - return NULL;
> + return vc;
> }
> assert(dpys[opts->type] != NULL);
> if (dpys[opts->type]->vc) {
> return dpys[opts->type]->vc;
> - } else {
> -#ifdef CONFIG_PIXMAN
> - return "vc:80Cx24C";
> -#endif
> }
> - return NULL;
> + return vc;
> }
>
> void qemu_display_help(void)
> --
> 2.41.0
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-10 8:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-08 13:37 [PATCH] ui/console: fix default VC when there are no display marcandre.lureau
2023-11-10 8:10 ` Marc-André Lureau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).