summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--include/ui/console.h2
-rw-r--r--qapi/ui.json5
-rw-r--r--ui/egl-headless.c2
-rw-r--r--vl.c3
4 files changed, 7 insertions, 5 deletions
diff --git a/include/ui/console.h b/include/ui/console.h
index 4e4d027936..183d9f2913 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -505,6 +505,6 @@ static inline void early_gtk_display_init(DisplayOptions *opts)
 #endif
 
 /* egl-headless.c */
-void egl_headless_init(void);
+void egl_headless_init(DisplayOptions *opts);
 
 #endif
diff --git a/qapi/ui.json b/qapi/ui.json
index 2efe9675b7..43de75fa27 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1020,7 +1020,7 @@
 #
 ##
 { 'enum'    : 'DisplayType',
-  'data'    : [ 'none', 'gtk', 'sdl' ] }
+  'data'    : [ 'none', 'gtk', 'sdl', 'egl-headless' ] }
 
 ##
 # @DisplayOptions:
@@ -1043,4 +1043,5 @@
   'discriminator' : 'type',
   'data'    : { 'none'           : 'DisplayNoOpts',
                 'gtk'            : 'DisplayGTK',
-                'sdl'            : 'DisplayNoOpts' } }
+                'sdl'            : 'DisplayNoOpts',
+                'egl-headless'   : 'DisplayNoOpts' } }
diff --git a/ui/egl-headless.c b/ui/egl-headless.c
index 5d50226869..38b3766548 100644
--- a/ui/egl-headless.c
+++ b/ui/egl-headless.c
@@ -154,7 +154,7 @@ static const DisplayChangeListenerOps egl_ops = {
     .dpy_gl_update           = egl_scanout_flush,
 };
 
-void egl_headless_init(void)
+void egl_headless_init(DisplayOptions *opts)
 {
     QemuConsole *con;
     egl_dpy *edpy;
diff --git a/vl.c b/vl.c
index f52bc3b879..38c18ef2e6 100644
--- a/vl.c
+++ b/vl.c
@@ -2178,6 +2178,7 @@ static LegacyDisplayType select_display(const char *p)
         request_opengl = 1;
         display_opengl = 1;
         display = DT_EGL;
+        dpy.type = DISPLAY_TYPE_EGL_HEADLESS;
 #else
         error_report("egl support is disabled");
         exit(1);
@@ -4726,7 +4727,7 @@ int main(int argc, char **argv, char **envp)
 
 #ifdef CONFIG_OPENGL_DMABUF
     if (display_type == DT_EGL) {
-        egl_headless_init();
+        egl_headless_init(&dpy);
     }
 #endif