Embedded VNC: Support RealVNC encryption and screen scaling
0 vote
Hello,
RealVNC is the default VNC server shipped with Raspbian, the official supported operating system for Raspberry Pi Board; it is free to use with Raspbian offering for free features from the paid version, such as direct connection with IP address.
It has the option to encrypt connection with a 128bit AES encryption (256bit for enterprise license) and to scale the size of the remote desktop to the size of the viewer application.
You can find more informations here:
https://archive.realvnc.com/products/vnc/documentation/4.6/docs/aj1025992.html
https://www.realvnc.com/es/connect/docs/viewer-parameter-ref.html
It would be nice if those features will be available also for the embedded VNC viewer; AES for security reason and scaling for usability when used in tabbed mode.
As an alternative, it would be also nice if the RealVNC viewer can be used in embedded mode.
Thanks.
Regards.
Hello,
I will check what we can do but RealVNC does not usually publish the specification and it's no longer open source. We already checked to integrate RealVNC but they charge a really huge amount based on our user count. This is just not possible for us to afford.
Regards
David Hervieux
Hello,
thanks for supporting Rapsberry Pi RealVNC encryption on the embedded FreeVNC in the latest RDM (2022.3.14).
Do you have any plans to support also automatic scaling? I tried with Smart Resize on but unfortunately the screen doesn't resize to the size of the tab (leaving black bands on both sides).
Regards.
Hi Raptor
We're happy that the RA2 authentication support is working for you in the latest RDM.
I've been working on your problem report from the other thread with regard to TigerVNC. Actually, I found an issue in our VNC implementation that was preventing the smart resize from working in that case and hope to have the fix out soon.
I'll evaluate the changes again RealVNC too - if they use the "standard" desktop sizing part of the RFB protocol, this should just work.
I'll report back with my findings
Thanks and kind regards,
Richard Markievicz
Hello again
I did some testing with our VNC implementation, connecting to my test Raspberry Pi. It seems like Real doesn't support the extended RFB "desktop sizing" protocol extension (at least, their server doesn't advertise it).
I found this page on RealVNC's support. It says when running in "virtual mode" and with an Enterprise subscription, you can set the `RandR` server property to a list of available geometries and cycle between them.
1024x768,1280x1024,800x600 enables a connected VNC Viewer user to cycle between the three geometries by running the command "xrandr -s <0|1|2>"
I did try this on the current RDM release and found it to work acceptably; but of course the integration is not exactly seamless. Are you aware of another way to enable dynamic desktop size with RealVNC?
Thanks and kind regards,
Richard Markievicz
Hello,
unfortunatly i wasn't aware that RealVNC doesn't support the standard RFB "desktop sizing" protocol extension. The solution with RandR server property is only available for Enterprice subscription, so not available for the standard license that came with the Raspberry PI operating system?
A possible workaround for this, is to add to RDM a configuration option for each VNC session to let the user choose if preserve the aspect ratio or not during scaling, like the Real VNC client does:
With this solution, in my case where i have a 1920x1080 screen and the RealVNC server has a resolution of 1920x1080, the output image is acceptable; the image is a bit stretchet but nothing too ugly. Below some other comparisons where RDM keep Aspect Ratio, while RealVNC Viewer not; i overlayed the RealVNC viewer resized windows to the same space available for the RDM tab for an exact comparison.
Is the RA2 authentication support going to be implemented also on the Android version of RDM?
Thank you for the support.
Regards.
Hello
not available for the standard license that came with the Raspberry PI operating system
I'm actually not sure how the licensing for RealVNC features works on the Raspberry Pi. As far as I know, RA2 (128-bit) is a Pro license feature, and it's obviously available. I did try the xrandr settings trick on my Pi and it works - and I don't have any kind of license (I tested on my personal machine).
add to RDM a configuration option for each VNC session to let the user choose if preserve the aspect ratio or not during scaling
Indeed, I understand why this can be useful and I'll add it to my to-do list. It should be relatively straightforward to implement so I hope to get to this for the next VNC integration update.
Is the RA2 authentication support going to be implemented also on the Android version of RDM?
On the RDM side, they just need to support setting "System" credentials on the VNC connection. I don't have an Android device handy right now to check if they expose this feature (it might be called "Windows Credentials", since the feature used to only apply to Windows credentials on UltraVNC servers). If they have the setting but it doesn't work, it's likely the RDM Android team didn't integrate the most recent version of our VNC client yet. In any case, if it's not there this should be straightforward to add. I'll follow up on this tomorrow and post back here with my findings.
Thanks and kind regards,
Richard Markievicz
Hello again
I'm currently working on integrating a VNC update into RDM Windows that should fix issues around dynamic resizing on Tiger servers. Additionally, I added an option to preserve the aspect ratio (or not) when using the "Scaling" option. I also added the scaling and "fit" options to the session toolbar so you can change them without needing to reconnect. I hope those changes will be in the next release, but I'll post back with an update.
Finally, I did check and while RDM Android does have the "System Authentication" settings (although, as I thought they are still referred to as "Windows Authentication"), it doesn't have the version of our VNC module which supports RA2. I'll discuss that with the RDM Android team and see what we can do to unblock this feature (I believe it will be straightforward).
Please don't hesitate if you have further questions or feedback
Thanks and kind regards,
Richard Markievicz
Hi Raptor
RDM 2022.3.21 adds the option to "Preserve Aspect Ratio" (or not) when using the "Scaled" mode.
Note that you can select both "Scaled" and "Smart Resize". If smart resizing is supported by the server, it will be used; otherwise we fall back to scaling.
Additionally, if smart resizing is not used (either unchecked, or not supported); you can now toggle the scaling / aspect ratio options directly inside the session toolbar.
Finally, I evaluated that RDM Android only needs a dependency update in order to support the RA2 authentication. I'll enter a ticket on their side and get that done. I'll link the ticket back to this thread and we should be able to notify you once it's available (but I'd also encourage keeping an eye on the release notes).
As always, if you have further questions or problems, don't hesitate to post back here.
Thanks and kind regards,
Richard Markievicz
Hello again
Just to follow back on this; I did ensure that RDM Android is carrying the latest version of our VNC integration. If the system authentication isn't working with your Raspberry Pi on the current version, it will be supported in an upcoming release. The credentials label might still state "Windows Credentials" (or similar) but the setting does refer to "System Authentication".
As always, please don't hesitate to post back with further questions or concerns
Kind regards,
Richard Markievicz