On Tue, Jan 19, 2021 at 10:17 AM Kjartan Dige <k...@cloudfactory.dk> wrote:
> Hello! Hope all are doing well. > > I recently started a new journey, building a javascript frontend in > angular, with RDP VM Console connect features. And of course! Decided to > use Guacamole. So... As of anything new, here are my first issues. > > > When I connect to a Virtual Machine using "vmconnect", the session is OK > and graphics renders. If I change the resolution on the VM, from 1024x768, > to for example 1920x1080, it renders the new screen size perfectly. > > However, if I disconnect, and the reconnect to that VM, no graphics > renders... Connection is established, and keys are being received by GUACD. > My initially tought is, that the client can't tell the hyper-v to use > 1024x768, or anything else. However the client still tries to use that > resolution, and the server will use 1920x1080, forced by the console > resolution... However using width: 1920 height: 1080, will let it render. > > On VNC its the server that decides what resolution to use. But on Hyper-V > it seems like its the client. Even tough im connection to a console RDP. > > How do I either: 1. Get the RDP Consoles display size, and reconnect with > correct size. OR. Let the server tell me what size is used, and adapt to > that? > The RDP support already does this: * The client will send the desired display size to the server. The server does not have to honor this, and the client does not assume that it will. * The size of the server's display is communicated to the client upon connecting, regardless of whether it matches the client's requested size. * The server can, at any time, resize the display. There is a specific RDP message used to communicate a display size change. The client is required to honor this, and Guacamole does so. I'm not sure what could be causing what you're seeing with Hyper-V, but I suspect something within Hyper-V itself. If you connect to a standard RDP server, I think you'll find that all of the above work fine. There are differences in the way that communication with Hyper-V occurs, in that there is a slightly different handshake involving an exchange of arbitrary data (the "preconnection PDU"), and slightly different authentication requirements. If the blob for the preconnection PDU isn't set, or you aren't using the Hyper-V-specific auth option, I'd try setting those your connection parameters. The rest is all normal, standard RDP, which is known to work correctly as far as screen size negotiation and handling is concerned. - Mike