|
From: | Akihiko Odaki |
Subject: | Re: [PATCH v2 00/12] GL & D-Bus display related fixes |
Date: | Sun, 6 Mar 2022 13:31:29 +0900 |
User-agent: | Mozilla/5.0 (X11; Linux aarch64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
On 2022/02/18 1:11, Akihiko Odaki wrote:
You missed only one thing:- that console_select and register_displaychangelistener may not call dpy_gfx_switch and call dpy_gl_scanout_texture instead. It is incompatible with non-OpenGL displaysdisplaychangelistener_display_console always has to call dpy_gfx_switch for non-OpenGL displays, but it still doesn't.Ok, would that be what you have in mind? --- a/ui/console.c +++ b/ui/console.c @@ -1122,6 +1122,10 @@ static void displaychangelistener_display_console(DisplayChangeListener *dcl, } else if (con->scanout.kind == SCANOUT_SURFACE) { dpy_gfx_create_texture(con, con->surface); displaychangelistener_gfx_switch(dcl, con->surface); + } else { + /* use the fallback surface, egl-headless keeps it updated */ + assert(con->surface); + displaychangelistener_gfx_switch(dcl, con->surface); }It should call displaychangelistener_gfx_switch even when e.g. con->scanout.kind == SCANOUT_TEXTURE. egl-headless renders the content to the last DisplaySurface it received while con->scanout.kind == SCANOUT_TEXTURE.
Hi,Let me remind that the release date is approaching but the regression which breaks switching the console for vnc with egl-headless is still not fixed. (vnc has the feature to switch consoles with Ctrl+Alt+[1-9] if it is not bound to a particular console.)
Please fix this or, if not possible, revert the changes related to dbus.My patch series is available for fixing the problem. The design it adopted is somewhat controversial and it cannot be applied to the current master branch. Please tell me if it is necessary to rebase this.
https://patchew.org/QEMU/20220213024222.3548-1-akihiko.odaki@gmail.com/ Regards, Akihiko Odaki
[Prev in Thread] | Current Thread | [Next in Thread] |