On the one hand,these days I am reading nouveau source code. I have been reading for about one month.Now I think I can understand how it works with NVIDIA card generally,although it still need a very long time to write a small NVIDIA driver that can copy between video RAM,switch displaying mode and control hardware cursor by myself.
On the other hand,I also want to know what the type of the graphics cards of VMware VirtualBox even QEMU and BOCHS. When I searched google,I only got a little information about this.Some results say that they have custom video-cards,but how custom it is? Reading source code is a good way to answer this question,then I seemed to find the VirtualBox guest addon source. However,there is a symbol called vboxvideo_driver_load,I couldn't find out where it defined at all!
Is it possible to know how to communicate with the VirtualBox or VMware's video cards,such as controlling their "hardware" cursors?What's the type of the VMware or VirtualBox's graphics card? Thank you for your help.
What's the type of the VMware or VirtualBox's graphics card?
Re: What's the type of the VMware or VirtualBox's graphics c
For BOCHS, check out Bochs Graphics Adaptor.
For VirtualBox, it has its own graphics adapter. It has a PCI vendor ID of 0x80EE, and a device ID of 0xBEEF. The VirtualBox source is open source, so you can see exactly how the graphics device works, if you can read through the source. I have yet to find any documentation or a spec sheet for this "device", though.
For VMware, they have their own graphics adapter. The latest version has a PCI vendor ID of 0x15AD, and a device ID of 0x0405. The source for the device can be found here: http://vmware-svga.sourceforge.net/
Documentation can be found here: http://sourceforge.net/p/vmware-svga/gi ... erface.txt
For VirtualBox, it has its own graphics adapter. It has a PCI vendor ID of 0x80EE, and a device ID of 0xBEEF. The VirtualBox source is open source, so you can see exactly how the graphics device works, if you can read through the source. I have yet to find any documentation or a spec sheet for this "device", though.
For VMware, they have their own graphics adapter. The latest version has a PCI vendor ID of 0x15AD, and a device ID of 0x0405. The source for the device can be found here: http://vmware-svga.sourceforge.net/
Documentation can be found here: http://sourceforge.net/p/vmware-svga/gi ... erface.txt
Last edited by SpyderTL on Sun Nov 23, 2014 1:31 am, edited 4 times in total.
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Re: What's the type of the VMware or VirtualBox's graphics c
The VirtualBox manual states that it does not emulate any physical graphics card. It just provides a generic Vesa/VGA card. I suspect that the same is true of VMWare.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: What's the type of the VMware or VirtualBox's graphics c
VirtualBox emulates an extension of the BGA used by both Bochs and Qemu. I've been intending to write documentation on how to get it up and running natively, as well as its PCI interfaces, but I have yet to find the time (and I'm still working my way through the source of the implementation). For the most part you can get the VirtualBox graphics device configured by pretending it's a BGA 4 device, then reading the high word of the linear framebuffer address from the BGA register VBE_DISPI_INDEX_FB_BASE_HI (0x0B) and shifting it left 16 bits to get your linear framebuffer address (assuming you're using an LFB mode).
EDIT: minor correction; VBoxVideo supports 0xB0C4, not just 0xB0C2/0xB0C3.
EDIT: minor correction; VBoxVideo supports 0xB0C4, not just 0xB0C2/0xB0C3.