Dave Airlie <airl...@gmail.com> wrote: >>> >>> Current existing solutions in the area: >>> a) VMware virtual graphics adapter - based on DX9, has an open >>> KMS/Gallium3D driver stack recently released by vmware, has certified >>> Windows drivers and has a documented vGPU interface (it could be >>> documented a lot better) > > http://vmware-svga.svn.sourceforge.net/viewvc/vmware-svga/trunk/doc/gpu-wiov.pdf?revision=1 > > is a good whitepaper on the different 3D virtualisation approaches and why > vmware picked what they did also. > > Dave.
I have zero clue of 3D, but for the qemu part, vmware_vga is the "nicer" driver. On the size department: (virtio-2*)$ wc -l vga.c cirrus_vga.c vmware_vga.c 2380 vga.c 3235 cirrus_vga.c 1211 vmware_vga.c (notice that part of vga.c is used by both vwmare_vga and cirrus_vga). On the features, vmware_vga has a nice feature: xrandr already works (i.e. you can have any modern resolution that you like), cirrus and vga_std have much less options here. vmware_vga also has Xvideo (or something) that improves video support. once telling that, the 3 drivers need a big cleanup. - vga.c -> VBE is optional (#ifdef'd) but you can't compile it out. - cirrus_vga -> uses all vga.c code minus the vbe code. Replicates several big functions (switch) for only changing a couple of lines there. - vmware_vga. Lets say that the way that it embeds an vga is _interesting_ to say the less. Also the vga can be compiled out, but not bios/os on earth will boot without its support. I did some cleanups of the three drivers some months ago, but they need much more care. I didn't follow due to time constraints and my zero knowledge of graphics (hardware/software/...). Later, Juan.