KVM with RDP using RDPMux for oVirt?

Hello, At the urging of Sandro Bonazzola, I'm bringing up something that was being discussed on Twitter earlier today: supporting RDP with KVM directly. As it turns out, about four years ago, Datto developed support for QEMU to display to RDP in a similar fashion to what was done for SPICE years ago. The way this was done was by patching QEMU[1] to send buffers to a service called RDPMux[2], which would provide RDP connections. Additionally, libvirt was adjusted to support this[3]. Now, a couple years ago, I attempted to start rebasing this to QEMU 2.12.0 for my own use[4], but while I was able to make it compile[5], it always hung when I tried to use the functionality. This came up on Twitter earlier today when talking about how KVM lacks RDP but had SPICE (which didn't catch on, and is apparently deprecated now[6]?!?) Is anyone interested in potentially helping me get this working with the latest QEMU and libvirt? I'd be happy to package up RDPMux for Fedora and get that in the distribution for people to use in that case... Best regards, Neal [1]: https://pagure.io/virt-with-rdp/blob/master/f/qemu-2.5 [2]: https://github.com/datto/RDPMux [3]: https://pagure.io/virt-with-rdp/blob/master/f/libvirt-1.3.1 [4]: https://pagure.io/virt-with-rdp/blob/master/f/qemu-2.12.0 [5]: https://copr.fedorainfracloud.org/coprs/ngompa/virt-with-rdp/build/774882/ [6]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8-bet... -- 真実はいつも一つ!/ Always, there's only one truth!

Adding +Karen Noel <knoel@redhat.com> , +Paolo Bonzini <pbonzini@redhat.com> and +Miroslav Rezanina <mrezanin@redhat.com> to the loop to let them know about this thread. Il giorno sab 15 ago 2020 alle ore 04:12 Neal Gompa <ngompa13@gmail.com> ha scritto:
Hello,
At the urging of Sandro Bonazzola, I'm bringing up something that was being discussed on Twitter earlier today: supporting RDP with KVM directly.
As it turns out, about four years ago, Datto developed support for QEMU to display to RDP in a similar fashion to what was done for SPICE years ago. The way this was done was by patching QEMU[1] to send buffers to a service called RDPMux[2], which would provide RDP connections. Additionally, libvirt was adjusted to support this[3].
Now, a couple years ago, I attempted to start rebasing this to QEMU 2.12.0 for my own use[4], but while I was able to make it compile[5], it always hung when I tried to use the functionality.
This came up on Twitter earlier today when talking about how KVM lacks RDP but had SPICE (which didn't catch on, and is apparently deprecated now[6]?!?)
Is anyone interested in potentially helping me get this working with the latest QEMU and libvirt? I'd be happy to package up RDPMux for Fedora and get that in the distribution for people to use in that case...
Best regards, Neal
[1]: https://pagure.io/virt-with-rdp/blob/master/f/qemu-2.5 [2]: https://github.com/datto/RDPMux [3]: https://pagure.io/virt-with-rdp/blob/master/f/libvirt-1.3.1 [4]: https://pagure.io/virt-with-rdp/blob/master/f/qemu-2.12.0 [5]: https://copr.fedorainfracloud.org/coprs/ngompa/virt-with-rdp/build/774882/ [6]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8-bet...
-- 真実はいつも一つ!/ Always, there's only one truth!
-- Sandro Bonazzola MANAGER, SOFTWARE ENGINEERING, EMEA R&D RHV Red Hat EMEA <https://www.redhat.com/> sbonazzo@redhat.com <https://www.redhat.com/> *Red Hat respects your work life balance. Therefore there is no need to answer this email out of your office hours. <https://mojo.redhat.com/docs/DOC-1199578>*

On 15/08/20 06:37, Sandro Bonazzola wrote:
At the urging of Sandro Bonazzola, I'm bringing up something that was being discussed on Twitter earlier today: supporting RDP with KVM directly.
As it turns out, about four years ago, Datto developed support for QEMU to display to RDP in a similar fashion to what was done for SPICE years ago. The way this was done was by patching QEMU[1] to send buffers to a service called RDPMux[2], which would provide RDP connections. Additionally, libvirt was adjusted to support this[3].
Hi Neil, what would be the advantage over VNC? Recently I played with virtual desktops from US to Italy and VNC was completely useless while SPICE worked great. So I'm not sure why QEMU needs to support RDP unless it can provide the same level of usability as SPICE (which however can only achieve it through the paravirtualized QXL graphics adapter). Paolo

On Mon, Aug 17, 2020 at 12:52 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
On 15/08/20 06:37, Sandro Bonazzola wrote:
At the urging of Sandro Bonazzola, I'm bringing up something that was being discussed on Twitter earlier today: supporting RDP with KVM directly.
As it turns out, about four years ago, Datto developed support for QEMU to display to RDP in a similar fashion to what was done for SPICE years ago. The way this was done was by patching QEMU[1] to send buffers to a service called RDPMux[2], which would provide RDP connections. Additionally, libvirt was adjusted to support this[3].
Hi Neil,
what would be the advantage over VNC?
Recently I played with virtual desktops from US to Italy and VNC was completely useless while SPICE worked great. So I'm not sure why QEMU needs to support RDP unless it can provide the same level of usability as SPICE (which however can only achieve it through the paravirtualized QXL graphics adapter).
There's a few advantages to RDP over VNC: * RDP is orders of magnitude more network-efficient than VNC. It leverages video streaming strategies to minimize bandwidth requirements for remote access * RDP is much more flexible about authentication and supports stronger authentication strategies than VNC * RDP clients exist on all major operating systems, as well as a number of web-based ones (such as Apache Guacamole) As for SPICE, well... you folks deprecated it and slated it for removal. So that means we're left with no network efficient options once it's gone. -- 真実はいつも一つ!/ Always, there's only one truth!

On 17/08/20 19:16, Neal Gompa wrote:
There's a few advantages to RDP over VNC:
* RDP is orders of magnitude more network-efficient than VNC. It leverages video streaming strategies to minimize bandwidth requirements for remote access
That however also requires a smart encoder, so basically the same code that is running in SPICE. Was there in the code you pointed Sandro to?
As for SPICE, well... you folks deprecated it and slated it for removal. So that means we're left with no network efficient options once it's gone.
For what it's worth, I don't think SPICE is slated for removal in upstream QEMU or in Fedora. Paolo

On Mon, Aug 17, 2020 at 1:24 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
On 17/08/20 19:16, Neal Gompa wrote:
There's a few advantages to RDP over VNC:
* RDP is orders of magnitude more network-efficient than VNC. It leverages video streaming strategies to minimize bandwidth requirements for remote access
That however also requires a smart encoder, so basically the same code that is running in SPICE. Was there in the code you pointed Sandro to?
That's part of FreeRDP and RDPMux, yes. It's already happening there.
As for SPICE, well... you folks deprecated it and slated it for removal. So that means we're left with no network efficient options once it's gone.
For what it's worth, I don't think SPICE is slated for removal in upstream QEMU or in Fedora.
That only matters if oVirt is available for Fedora. Since it's not, it's likely that oVirt will lose support for SPICE in the near future. -- 真実はいつも一つ!/ Always, there's only one truth!

On Mon, Aug 17, 2020 at 8:33 PM Neal Gompa <ngompa13@gmail.com> wrote:
On Mon, Aug 17, 2020 at 1:24 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
On 17/08/20 19:16, Neal Gompa wrote:
There's a few advantages to RDP over VNC:
* RDP is orders of magnitude more network-efficient than VNC. It leverages video streaming strategies to minimize bandwidth requirements for remote access
That however also requires a smart encoder, so basically the same code that is running in SPICE. Was there in the code you pointed Sandro to?
That's part of FreeRDP and RDPMux, yes. It's already happening there.
As for SPICE, well... you folks deprecated it and slated it for removal. So that means we're left with no network efficient options once it's gone.
For what it's worth, I don't think SPICE is slated for removal in upstream QEMU or in Fedora.
That only matters if oVirt is available for Fedora. Since it's not, it's likely that oVirt will lose support for SPICE in the near future.
How is oVirt availability in Fedora related to SPICE support in CentOS/RHEl?
-- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ Devel mailing list -- devel@ovirt.org To unsubscribe send an email to devel-leave@ovirt.org Privacy Statement: https://www.ovirt.org/privacy-policy.html oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/devel@ovirt.org/message/YKJ6GNDHBGVLWX...

On 17/08/20 19:50, Nir Soffer wrote:
That only matters if oVirt is available for Fedora. Since it's not, it's likely that oVirt will lose support for SPICE in the near future.
How is oVirt availability in Fedora related to SPICE support in CentOS/RHEl?
If oVirt is based on CentOS and RHEL loses SPICE, then oVirt loses SPICE too. Paolo
participants (4)
-
Neal Gompa
-
Nir Soffer
-
Paolo Bonzini
-
Sandro Bonazzola