Is there any way to run D3D9 with Gallium Nine?
Posted: 24. Oct 2016, 17:24
Hello.
To start with, I completely understand that virtualisation is always going to have an impact on performance, especially graphics performance when GPU pass-through is not being utilised.
That said, it is my understanding that VirtualBox currently translates D3D9 calls in the guest to OpenGL calls on the host. Apparently, it does this specifically using Wine's D3D->OpenGL translation layer, according to this thread: viewtopic.php?f=2&t=15436
That of course works, but translating the calls has a performance impact. It is actually possible to run D3D9 natively on Linux using Gallium Nine[1], and there is even a Wine patch[2] that allows Wine to use D3D9 natively like this instead of using its translation layer. Running D3D9 natively on Linux via Gallium Nine has huge performance benefits.
1 - https://wiki.ixit.cz/d3d9
2 - https://github.com/sarnex/wine-d3d9-patches
My question is, is there any way to do the same thing with VirtualBox? Is there any way to force it to use Gallium Nine in the same way as a patched Wine, instead of translating the calls? If there is no current way to do this, then is it possible that it could be supported in the future?
Thanks.
(Sorry for the ugly links. The forum won't let me directly post links since I'm a new member...)
[Mod edit: Fixed the obfuscated URLs]
To start with, I completely understand that virtualisation is always going to have an impact on performance, especially graphics performance when GPU pass-through is not being utilised.
That said, it is my understanding that VirtualBox currently translates D3D9 calls in the guest to OpenGL calls on the host. Apparently, it does this specifically using Wine's D3D->OpenGL translation layer, according to this thread: viewtopic.php?f=2&t=15436
That of course works, but translating the calls has a performance impact. It is actually possible to run D3D9 natively on Linux using Gallium Nine[1], and there is even a Wine patch[2] that allows Wine to use D3D9 natively like this instead of using its translation layer. Running D3D9 natively on Linux via Gallium Nine has huge performance benefits.
1 - https://wiki.ixit.cz/d3d9
2 - https://github.com/sarnex/wine-d3d9-patches
My question is, is there any way to do the same thing with VirtualBox? Is there any way to force it to use Gallium Nine in the same way as a patched Wine, instead of translating the calls? If there is no current way to do this, then is it possible that it could be supported in the future?
Thanks.
(Sorry for the ugly links. The forum won't let me directly post links since I'm a new member...)
[Mod edit: Fixed the obfuscated URLs]