diff --git a/ui/console.c b/ui/console.c
index 0a4f912..4df251d 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -125,6 +125,7 @@
     /* Graphic console state.  */
     Object *device;
     uint32_t head;
+    QemuUIInfo ui_info;
     const GraphicHwOps *hw_ops;
     void *hw;
 
@@ -1347,6 +1348,16 @@
     gui_setup_refresh(ds);
 }
 
+int dpy_set_ui_info(QemuConsole *con, QemuUIInfo *info)
+{
+    assert(con != NULL);
+    con->ui_info = *info;
+    if (con->hw_ops->ui_info) {
+        return con->hw_ops->ui_info(con->hw, con->head, info);
+    }
+    return -1;
+}
+
 void dpy_gfx_update(QemuConsole *con, int x, int y, int w, int h)
 {
     DisplayState *s = con->ds;
@@ -1669,6 +1680,12 @@
     return con ? con->head : -1;
 }
 
+QemuUIInfo *qemu_console_get_ui_info(QemuConsole *con)
+{
+    assert(con != NULL);
+    return &con->ui_info;
+}
+
 int qemu_console_get_width(QemuConsole *con, int fallback)
 {
     if (con == NULL) {
