The virtio driver enfoces the PID field and understands the packet format used. Its better than using serial. Its also just one driver - which doesnt have any special interdependencies and can be extended or got rid of in future if and when better things come along.
In the very, very short term, I think an external backend to QEMU also
makes a lot of sense because that's something that Just Works today.
Whos written that? The 2007 patch I've been working on and updating simply fails to work altogether without huge alterations on current qemu.
My current patch touches a tiny part of the qemu sources. It works today.
I
think we can consider integrating it into QEMU (or at least simplifying
the execution of the backend) but integrating into QEMU is going to
require an awful lot of the existing code to be rewritten. Keeping it
separate has the advantage of allowing something to Just Work as an
interim solution as we wait for proper support in Spice.
I dont know why you think integrating it into qemu is hard? I've already done it.
I added one virtio driver and a seperate offscreen renderer. it touches the qemu code in *one* place. There should be no need to rewrite anything.