Hi, > > + for (i = 0; i < g->conf.max_outputs; i++) { > > + g->scanout[i].con = > > + graphic_console_init(DEVICE(g), i, &virtio_gpu_ops, g); > > + if (i > 0) { > > + dpy_gfx_replace_surface(g->scanout[i].con, NULL); > > GTK can't cope very well with NULL surfaces (read: after patch 7 (when > using -vga virtio finally works) "x86_64-softmmu/qemu-system-x86_64 -vga > virtio -display gtk" segfaults). With SDL (SDL2), it works fine.
Yes, I know. I have a gtk patch for that in the pipeline. But that alone doesn't get multihead work sanely as there is at least one more problem to tackle: Mouse coordinates are not correct. Our options are: (a) Have guest notify host about screen arrangement, then transform coordinates in qemu. Dave did that initially. (b) Have a guest agent (spice style). (c) Have one tablet per head and link them. That is very simliar to physical hardware (think touchscreen). I think (c) will work best long-term, but it is also the most difficult one as various projects are involved here to get the guest-side configuration done. I've changed the number of heads to be 1 by default, we better sort all those issues before we flip the multihead default switch. cheers, Gerd