User:Kazinsal/VirtualBox Video Adapter

From OSDev.wiki
Revision as of 18:05, 24 November 2014 by osdev>Kazinsal (Created page with "{{In Progress}} VirtualBox emulates a generic VESA compatible video device (internally referred to as '''VBoxVideo''') for video output, with a large superset of features bui...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.

VirtualBox emulates a generic VESA compatible video device (internally referred to as VBoxVideo) for video output, with a large superset of features built upon the Bochs Graphics Adapter and its VESA BIOS Extensions. For simple functionality, such as setting a video mode, the same sequence of commands can be used for VirtualBox's video adapter as is used for Bochs. VirtualBox supports up to and including 0xB0C4 level BGA VBE features.

Overview

As an extension of the Bochs Graphics Adapter, VBoxVideo uses a pair of I/O ports -- an index and a data port -- for most of its configuration and programming. These ports are at the same I/O addresses as in Bochs, VBE_DISPI_IOPORT_INDEX and VBE_DISPI_IOPORT_DATA, and serve the same purposes.

The device supports irregular size displays, allowing you to set whatever resolution you want, up to 16384x16384x32, limited only by the amount of VRAM allocated to the virtual machine.

VBoxVideo is also a PCI device, with vendor 0x80EE (used for all VirtualBox PCI devices) and device 0xBEEF (sometimes 0x7145 in really old versions of VirtualBox).

References