Hi, > That does feel safer, if you can find an efficient way to do the graphics. > A lot less code running with the privs of the qemu process.
That is where it starts to become tricky ... On modern linux we can simply use dma-bufs. On older linux and generic posix (*bsd etc) we should be able to use sysv shared memory. As MacOS X is based on BSD I'd expect sysv shared memory is available there too. Possibly we can use something more efficient there, we have macos-specific ui code anyway. Windows? Hmm, no idea how to shared memory there. We also need a control channel, to manage the shm bufs, to send user input (kbd/mouse), to implement some control things (machine menu in gtk ui). One option would be to simply use the monitor for that. The other one is to invent something limited to the stuff actually needed instead of handing over a dangerous swiss army knife to the process running the UI. Hmm, maybe a new monitor mode with a limited set of commands would do too. cheers, Gerd