On Thu, Nov 09, 2017 at 01:54:57PM -0700, Alex Williamson wrote: > On Thu, 9 Nov 2017 19:35:14 +0100 > Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote: > > > Hi, > > > > > struct vfio_device_gfx_plane_info lacks the head field we've been > > > discussing. Thanks, > > > > Adding multihead support turned out to not be that easy. There are > > corner cases like a single framebuffer spawning both heads. Also it > > would be useful to somehow hint to the guest which heads it should use. > > > > In short: Proper multihead support is more complex than just adding a > > head field for later use. So in a short private discussion with Tina we > > came to the conclusion that it will be better add multihead support to > > the API when the first driver wants use it, so we can actually test the > > interface and make sure we didn't miss anything. Adding a incomplete > > multihead API now doesn't help anybody. > > Do you think we can enable multi-head and preserve backwards > compatibility within this API proposed here? Yes, I think we can. Adding new fields is possible thanks to the argsz field at the start of the struct, so we easily add the new fields (head, framebuffer rectangle, whatever else is needed). If the new fields are not present the driver can simply assume head=0. Does the driver set argsz too? If so userspace can detect whenever the driver supports the multihead API extension (before going to probe for head=1) that way. If not we probably need an additional probe flag for that. But in any case I'm confident this is solvable. Passing hints about the display configuration to the guest needs a new ioctl, so we don't have compatibility issues there. cheers, Gerd _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx