Compiling up RDP support?
@eaykoc Thanks for the link and I will look into it more. I am still a bit of a noob as well and need to get a feel for the XCP-ng (xenserver) code layout along the way.
Frankly, I don't see how this effort could be worthwhile. SPICE might be more logical.
@olivierlambert Well, I think that SPICE is not yet widely adopted in the industry yet whereas RDP pervades throughout the industry. My thoughts are that as SPICE becomes the norm then it can be added as well, at which point the out come would be to have VNC, RDP, and SPICE as available options to the XCP-ng users.
Contributions are always welcome, but I think RDP support bundled makes more sense for VDI solutions, I don't know if it's really something that can be done "as is".
Anyway, good luck and keep us posted, we are available to review PRs!
S.Pam last edited by
If you want RDP for good remote console protocol, go for VDI solutions.
@olivierlambert As part of the XCP-ng team, can you please point me in the right direction for where the source codes is located for the VNC implementation?
Eaykoc from an earlier reply point me to
But as I do not yet know how the actual XCP-ng server code is laid out, I am wondering if there is where the VNC hood are driven from within the hypervisor?
Also, it's very likely that you'll need to plumb at least something at XAPI level (XAPI repo is here: https://github.com/xapi-project/xen-api )
But before even that, the hardest part will be to add this to qemu.
If you browse google while searching for RDP support in Qemu, everyone will tell you to use RDP inside your guest and not at qemu level (that doesn't support it).
I found something like this: https://github.com/datto/RDPMux
The project is dead since a while, I have 0 idea if it works and how to integrate it.
My first gut feeling is probably at least 6 months of work, then few extra month to integrate that properly in XAPI.
@olivierlambert Thanks for the link and I will look into it more to see how the VNC server and API hooks to the hypervisor are setup inside XCP-ng to get a feel for what may, or may not, be achievable.
Also looks like I will need to read up on using Ocaml since it seems to have been written in that language.
For the effort start, I have come across reasonable RDP stuff from the FreeRDP project as well as OGON.
The FreeRDP project has a simplified shadow server that might be used as the basis for an RDP server and the OGON project as a similar, but more advanced, type server that also allows for plugable modules in that it could be used for RDP and even SPICE in the future, if I remember correctly while I think that they have VNC already coded up.
My thoughts are to find out where XCP-ng currently handles all of the VNC stuff for the hypervisor which I think that @olivierlambert just sent the link so as to see if it might be possible to build out probably the OGON server from there to allow supporting the VNC, RDP, and SPICE multiple protocols.
I will take some time, but if all goes well then the user should be able to connect to any of the VM consoles (Linux, Windows, etc.) with any of these protocols and not have to do it from within the Guest VM.
At least that is goal