[
https://issues.apache.org/jira/browse/GUACAMOLE-2123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18020980#comment-18020980
]
Nick Couchman edited comment on GUACAMOLE-2123 at 9/17/25 8:34 PM:
-------------------------------------------------------------------
[~mjumper] Any opportunity to look at this? I've tried various incantations of
code to get the window to update, and I think I lack just enough understanding
of how the Guacamole rendering works that I'm not able to figure out how to
force the display to update correctly when RDPGFX is in use. At a high-level,
I've tried:
* Implementing the RAIL WindowCreate, WindowUpdate, and WindowDelete
callbacks, with various attempts to create layers, move/resize layers,
initialize rectangles, etc. I seem to keep tripping a couple of assertions in
the display-plan.c file (currently: GUAC_ASSERT in
PFW_LFR_guac_display_plan_create() failed at display-plan.c:158).
* Implementing the UpdateWindowFromSurface callback in the RDPGFX channel,
which gets me a little further (I'm able to do some stuff to not hit the
assertions, there), but still not getting any actual window updates.
You can see the current state of the attempts I've made, here:
[https://github.com/apache/guacamole-server/compare/main...necouchman:jira/2123?expand=1]
It's a bit of a mess at the moment - lots of extra debugging code as I try to
figure out what's going on and what's expected. I've been looking at the
FreeRDP code, specifically the xfreerdp client, to try to figure out where I
might be missing the updates, but at this point I think I'm just not correctly
capturing the updates from FreeRDP and pushing those over to the Guacamole
side. Hopefully it's something simple - any pointers would be appreciated.
was (Author: [email protected]):
[~mjumper] Any opportunity to look at this? I've tried various incantations of
code to get the window to update, and I think I lack just enough understanding
of how the Guacamole rendering works that I'm not able to figure out how to
force the display to update correctly when RDPGFX is in use. At a high-level,
I've tried:
* Implementing the RAIL WindowCreate, WindowUpdate, and WindowDelete
callbacks, with various attempts to create layers, move/resize layers,
initialize rectangles, etc. I seem to keep tripping a couple of assertions in
the display-plan.c file (currently: GUAC_ASSERT in
PFW_LFR_guac_display_plan_create() failed at display-plan.c:158).
* Implementing the UpdateWindowFromSurface callback in the RDPGFX channel,
which gets me a little further (I'm able to do some stuff to not hit the
assertions, there), but still not getting any actual window updates.
You can see the current state of the attempts I've made, here:
> Remote App Windows not updated with GFX Pipeline
> ------------------------------------------------
>
> Key: GUACAMOLE-2123
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-2123
> Project: Guacamole
> Issue Type: Bug
> Components: RDP
> Affects Versions: 1.6.0
> Reporter: Nick Couchman
> Assignee: Nick Couchman
> Priority: Blocker
> Fix For: 1.6.1
>
>
> When using RemoteApp support with the GFX pipeline, the remote applications
> are not updated properly. Disabling the GFX pipeline is an effective
> work-around, but I suspect that a couple of callbacks need to be implemented
> to force updates of the screen where the Remote App windows are.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)