[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 0/2] libxl: add PV display device driver interface
Oleksandr Grytsov writes ("Re: [Xen-devel] [PATCH v1 0/2] libxl: add PV display device driver interface"): > Backend and frontend operate with connectors (virtual displays). They > are identified by connector index. > The virtual display layouts, orders, on which physical display they > are located, resolustions etc. are configured > on backend side through backend configuration file. The matching > between frontend connector index and > backend virtual dispaly is done with the same configuration file. > Configuration example: Oh! > doms = ( > { name = "Dom1"; devId = 0; connectors = ["display0", "display1"]; }, > { name = "Dom1"; devId = 1; connectors = ["display2"]; }, > { name = "Dom2"; devId = 0; connectors = ["display3"]; } > ); > connectors = ( > { name = "display0"; screen = 0; x = 0; y = 0; w = 320; h = > 240; z = 10; }, > { name = "display1"; screen = 1; x = 320; y = 0; w = 320; h = > 240; z = 100; }, > { name = "display2"; x = 320; y = 0; w = 320; h = 240; } > { name = "display3"; x = 320; y = 0; w = 320; h = 240; } > ); > > Backend understands that for frontend "Dom1" devId = 0 it should > provide virtual display "display0" > which located on physical screen 0, at coordinates (0,0) and size > 320x240 (z - is z-order). > Once frontend from "Dom1" is connected backend sets corresponding > connector resolution in xen store: Right. I understand. Thanks for the explanation. The normal approach, for any kind of backend, with xl/libxl would be that the xl domain configuration file (and the libxl domain configuration struct) would specify the backend configuration information. I think at the very least the section "doms" there ought to be defined in the libxl configuration file. Is there any way (in the backend) of updating this backend configuration dynamically ? If so then your libxl patch could take the per-domain configuration and update the backend config appropriately. I guess the z order is useful because either (i) the vdisplay protocol supports transparency, so a "front" vdisplay can decide which bits of a "rear" vdisplay show through or (ii) "front" vdisplays occlude "rear" vdisplays when the appropriate connection (backend/frontend) is in use, but the "rear" one shows through the rest of the time ? Am I right ? If so, is it (i) or (ii) ? > 1. DRM mode: > > In this mode the backend exclusively opens DRM device. It can be done > only without any windowing system. > We can't do match in this mode. We can't share the screen between > different domains. The backend can only > map virtual connector to physical one and provide it for frontend. For > example on the host we have a video adapter > with HDMI0, HDM1, VGA output. In this case the backend can provide > HDMI0 to "Dom1", HDMI1 to "Dom2" etc. That makes sense. But your example configuration above doesn't seem to specify HDMI ports, just locations on the screen. How is this configured, then ? Ideally, in this use case, one would write in the xl domain config file something like this: vdisplays = ["output=HDMI1"] > 2. Wayland with Weston compositor: > > Weston can be launched with X11 or without. With X11 it is not so > usable case because Weston looks like a X11 application: > windowing system inside windowing system but it works. Right. So in that case what is the function of the x/y locations specified in the backend configuration ? If you have windowing-system within windowing-system then the location on the real screen is determined by the outer (host) windowing system, surely. > So we use Weston without X11. Unfortunately Weston itself doesn't > allow us to configure > windows position layouts etc. For this purpose we use > wayland-ivi-extension and its layer management [1]. > It allows to put windows at any position, order, screen etc. So this is for what is sometimes called "seamless" integration, where the individual guest applications each have their own window on the host display ? Again, I don't see how this relates to the example backend configuration file you showed above. I would expect that in this configuration one would write in the xl domain config file something like vdisplays=["output=wayland0,seamless"] Please forgive me if none of this seems to make sense... Thanks, Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |