[libvirt] [PATCH 1/1] Support for RDP

Daniel P. Berrange berrange at redhat.com
Thu Apr 23 12:15:33 UTC 2009

On Thu, Apr 23, 2009 at 01:32:24PM +0200, Pritesh Kothari wrote:
> Hi Daniel,
> >   <graphics type='desktop'/>
> >   <graphics type='rdp' port='1234' autoport='no' listen=''/>
> this seems ok, but the only question I have is, currently libvirt supports 
> only one virDomainGraphicsDef, so is it ok for me add support for more then 
> one virDomainGraphicsDef? or else i don't see how i can have multiple 
> <graphics> tags.

Yep, that fact that we only parse one graphics card is just a simplification
of the XML parser implementation. It is no trouble to make it deal with
multiple <graphics> elements in the same way we allow for disk, nets, etc

> > If RDP is not enabled, then don't include the 2nd. If the local desktop
> > display is not enabled, then don't include the 1st. This avoids the
> > the 'headless' attribute being exposed in the XML directly. I chose
> > type='desktop' as representing the 'native' desktop app display of the
> > virt technology in question. I imagine it'll take similar attributes
> > to the type=sdl, while the type=rdp would be similar to type=vnc.
> I had included headless attribute cause only one virDomainGraphicsDef was 
> there. I think that would not be necessary now if we support for more then 
> one virDomainGraphicsDef's, also adding multiple virDomainGraphicsDef's will 
> help me to implement some features for multiple screens :)

This reminds me of one thing I forgot to mention...

We don't currently have any explicit representation of a video card
device. The <graphics> tag is really representing the host I/O
layer, covering video, mouse, keyboard (and potentially audio

I think we need to add an explicit tag to represent video devices
real soon. At very least we need to be able to indicate the type
of video card - QEMU supports 4 already vga, cirrus, vmwarevga
and xenfb. We probably also need to be able to indicate whether
a video card supports multiple monitors / outputs, and the amont
of Video RAM, etc.

One random idea would be to add

      <model type='cirrus' ram='500'/>

> >    <graphics type='desktop' display=':0.0'/>
> yes, there is an API for it as well but currently I am using 
> getenv("DISPLAY");implementing this was in my todo but didn't quite make it 
> to top, but will try to make it in next set of patches.

Ah, that's nice.

> feedback about attributes (auth='external' authtimeout='1234') would also be 
> appreciated. Thanks.

I've not looked at this in huge detail yet. I'm wondering whether we need
to expose it or not ? Is it something that's commonly used, or neccessary
to configure per VM ?   For QEMU and Xen, the VNC auth type is jsut 
configured per-host in the global Xen or libvirt QEMU config file for the
host. So we don't bother to expose it in the XML

One idea might we to make the auth stuff a child element of '<graphics>'
so we don't start adding huge numbers of attributes to the main elemnt

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

More information about the libvir-list mailing list