Opened 17 years ago
Last modified 14 years ago
#475 closed defect
3D acceleration support for VBox guests — at Version 8
Reported by: | Sander van Leeuwen | Owned by: | |
---|---|---|---|
Component: | 3D support | Version: | VirtualBox 1.4.0 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | other |
Description (last modified by )
This ticket is used to track development of 3d acceleration support.
I have committed my initial OpenGL guest support to the public SVN tree:
- http://www.virtualbox.org/browser/trunk/src/VBox/HostServices/SharedOpenGL
- http://www.virtualbox.org/browser/trunk/src/VBox/Additions/WINNT/Graphics/OpenGL
Current status:
- communication framework between guest and host is present
- simple OpenGL samples are functional; they display their rendered output in an external window on the host for testing purposes)
- supported are only Windows guests combined with a Windows host
- not all OpenGL commands are implemented; most simple ones are
Plans:
- Linux host and guest OpenGL support
- Add OpenGL extensions as reported by the host OS
- Direct3D emulation using OpenGL
We are looking for external developers with an interest to help us out to complete this work.
Installation instructions:
To enable it you must add the following registry keys:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\VBoxOGL] "Version"=dword:00000002 "DriverVersion"=dword:00000001 "Flags"=dword:00000001 "Dll"="VBoxOGL.dll"
You need to build the latest additions from SVN as the OpenGL ICD mechanism needs a change in the display driver.
VBoxOGL.dll needs to be present in \Windows\System32.
You can also directly link the OpenGL test cases with VBoxOGL.lib to test them directly.
- replace $(PATH_SDK_W2K3DDKX86_LIB)/opengl32.lib with $(PATH_LIB)/VBoxOGL.lib in the makefile of the test cases
- add VBOX_WITH_WGL_EXPORTS to VBoxOGL_DEFS in the VBoxOGL makefile
Enabling logging can be of invaluable help while debugging problems.
- export the VBOX_LOGS variable and set it to -all+shared_opengl+dev_vmm_backdoor
- build the debug version of VBox
The full debug version of VBox adds quite a bit of overhead and might assert from time to time. For OpenGL debugging you only need to use the debug binaries of the hardware Devices (VBoxDD*.*). You can simply copy them into the directory with the full release version. (both must be at the same SVN level of course)
Change History (8)
comment:1 by , 17 years ago
Description: | modified (diff) |
---|
comment:2 by , 17 years ago
Description: | modified (diff) |
---|
comment:3 by , 17 years ago
Description: | modified (diff) |
---|
comment:4 by , 17 years ago
Description: | modified (diff) |
---|
comment:5 by , 17 years ago
Description: | modified (diff) |
---|
comment:6 by , 17 years ago
comment:7 by , 17 years ago
Description: | modified (diff) |
---|
comment:8 by , 17 years ago
Description: | modified (diff) |
---|
Even Rouault wrote in http://forums.virtualbox.org/viewtopic.php?p=2588#2588:
Looks like we're working on complementary things... I've updated tonight my QEMU (Linux) OpenGL patch : http://qemu-forum.ipi.fi/viewtopic.php?t=2984
I guess it could be possible to reuse my client and server stubs even if you use a different guest/host data transmission protocol. I think I'm done with most of the core OpenGL API and the vendor extensions.