Technical documentation
This section targets people who wish to know more about how VirtualBox works inside, including software developers that either wish to incorporate VirtualBox into their products by programming its APIs or learn about it in order to contribute to its development, or users who want to investigate a problem with VirtualBox in greater depth. (If you are only looking for information on how to download and run VirtualBox, see the End-user documentation page instead.)
Please feel free to send documentation patches to the vbox-dev mailing list.
Getting started:
- The SDK Programming Guide of the current VirtualBox release (API reference)
- Build instructions
- How to install and run a VirtualBox build
- Binaries overview
- Source code organization
- VirtualBox architecture
- Frequently Asked Questions (FAQ) for developers
Development:
- The VirtualBox/IPRT logging facility
- Debug logging of VBoxSVC and Qt GUI
- Porting VirtualBox to a new platform
- Notes from cross-building the Solaris Additions on Linux
- 3D pass-through support for X11 guests
- Mechanics of host-guest dynamic resizing
- Keyboard handling on X11-based host systems
Debugging:
- How to enable additional Guest Additions logging
- How to provide a core dump
- Investigating audio problems
- Investigating drag and drop problems on guests and hosts
- Investigating shared clipboard problems on X11 guests or hosts
- Investigating problems with mouse input in VirtualBox
- Investigating problems with keyboard input in VirtualBox
- Investigating generic problems with the Linux Guest Additions
- Investigating problems with dynamic resizing (X11/Wayland guests only for now)
Regression testing:
These pages contain lists of things worth testing for regressions - notably areas where regressions happened in the past - in new releases of VirtualBox or test builds. Interesting for people making changes to the code or for volunteers trying to improve the overall code quality. Very incomplete so far, but it will hopefully grow.
Miscellaneous: