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

Reply via email to