* Anthony Liguori<anthony@xxxxxxxxxxxxx> wrote:
On 03/18/2010 08:00 AM, Ingo Molnar wrote:No, you'd want to interact with DRM.
We have to maintain a dirty bitmap because we don't have a paravirtual[...] kvm in fact knows nothing about vga, to take your last example.Look at the VGA dirty bitmap optimization a'ka the KVM_GET_DIRTY_LOG
[...]
ioctl.
See qemu/kvm-all.c's kvm_physical_sync_dirty_bitmap().
It started out as a VGA optimization (also used by live migration) and
even today it's mostly used by the VGA drivers - albeit a weak one.
I wish there were stronger VGA optimizations implemented, copying the
dirty bitmap is not a particularly performant solution. (although it's
certainly better than full emulation) Graphics performance is one of the
more painful aspects of KVM usability today.
graphics driver. IOW, someone needs to write an Xorg driver.
Ideally, we could just implement a Linux framebuffer device, right?
Xorg framebuffer driver doesn't implement any of the optimizations that theFYI, this part of X has already been pulled into the kernel, it's called DRM.
Linux framebuffer supports and the Xorg driver does not provide use the
kernel's interfaces for providing update regions.
Of course, we need to pull in X into the kernel to fix this, right?
If then it's being expanded.
Any sufficiently complicated piece of software is going to interact with aThat's my whole point with this thread: the kernel side of KVM and qemu, but
lot of other projects. The solution is not to pull it all into one massive
repository. It's to build relationships and to find ways to efficiently
work with the various communities.
all practical purposes should not be two 'separate communities'. They should
be one and the same thing.
The thing is, writing up a DRM connector to a guest Linux OS could be done in
no time. It could be deployed to users in no time as well, with the proper
development model.
That after years and years of waiting proper GX support is _still_ not
implemented in KVM is really telling of the efficiency of development based on
such disjoint 'communities'. Maybe put up a committee as well to increase
efficiency? ;-)
Ingo