qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: approaches to 3D virtualisation


From: Juan Quintela
Subject: [Qemu-devel] Re: approaches to 3D virtualisation
Date: Sat, 12 Dec 2009 13:08:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Dave Airlie <address@hidden> 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]