WineD3D (Direct3D support)

Discussions about using Windows guests in VirtualBox.
ajmas
Posts: 79
Joined: 27. Jan 2009, 19:37
Primary OS: Mac OS X other
VBox Version: OSE other
Guest OSses: Ubuntu
Location: Olympus Mons Colony, Mars

WineD3D (Direct3D support)

Post by ajmas »

Direct3D support is on its way for Virtual Box, though at this stage it should be considered a 'work in progress' and therefore still with issues. The support is being provided in the form of WineD3D, which provides a Direct3D wrapper around OpenGL. For this reason you must ensure that you have OpenGL support working first.

All that said and done, here are the steps to getting it installed:
- Ensure OpenGL support is available and working in your Windows guest
- Download, onto your Windows guest, the latest version of WineD3D from: http://aybabtu.com/rmh/wined3d/
- Reboot in safe mode and run the installer (this is important, otherwise WineD3D may fail to install)
- Reboot back into regular mode

An easy way of verifying whether Direct3D is operational is by running dxdiag from "start -> run".

Certain issues, either with the current OpenGL implementation or WineD3D, may cause a VM crash. For example running Google Earth in D3D will crash the VM. If you do get a piece of Direct3D based software running without issues be sure to list it here - be sure to note which host and WineD3D version you tested with and

BTW I am not sure whether installing DirectX 9.0c is a requisite, since I had already done so by the time I got WineD3D. If it is then get it from: http://www.microsoft.com/downloads/deta ... laylang=en

Edit: If you encounter issues, be sure to note which version of WineD3D you were using.
Last edited by ajmas on 30. Mar 2009, 18:53, edited 1 time in total.
VB version: 6.x Primary OS: MacOS X 11.0.1 on Intel Mac
kai4785
Posts: 8
Joined: 20. Dec 2008, 03:24

Re: WineD3D (Direct3D support)

Post by kai4785 »

I wouldn't say I got Oblivion working with out any issues. But it's working.


http://www.youtube.com/watch?v=qYtJeKcBml0
Tosk
Posts: 5
Joined: 26. Mar 2009, 19:54
Primary OS: MS Windows Vista
VBox Version: PUEL
Guest OSses: Ubuntu 9.04 32-bit/Server 8.10 32-bit, Windows XP 32-bit/64-bit, Windows 7 32-bit, Fedora 10 64-bit
Location: St. Louis, MO
Contact:

Re: WineD3D (Direct3D support)

Post by Tosk »

Because I was really bored and I had grandiose visions of Aero working in Windows 7, I tried this on a Windows 7 32-bit install. The VM booted but I received an error saying the DWM.exe couldn't find a function call inside one of the DX10 DLLs. After that, I opened WMP and tried to play a video file. The file played but no video showed up. Upon closing the video, VirtualBox crashed.

Ah well. Now I get to reinstall a VM!
MPX
Posts: 4
Joined: 28. Mar 2009, 14:38
Primary OS: Ubuntu 8.10
VBox Version: PUEL
Guest OSses: Windows XP, FreeDos, Haiku, Windows Vista, Windows 3.11

Re: WineD3D (Direct3D support)

Post by MPX »

How do I install on Vista?
Tosk
Posts: 5
Joined: 26. Mar 2009, 19:54
Primary OS: MS Windows Vista
VBox Version: PUEL
Guest OSses: Ubuntu 9.04 32-bit/Server 8.10 32-bit, Windows XP 32-bit/64-bit, Windows 7 32-bit, Fedora 10 64-bit
Location: St. Louis, MO
Contact:

Re: WineD3D (Direct3D support)

Post by Tosk »

ajmas wrote: - Reboot in safe mode and run the installer (this is important, otherwise WineD3D may fail to install)
- Reboot back into regular mode
MPX
Posts: 4
Joined: 28. Mar 2009, 14:38
Primary OS: Ubuntu 8.10
VBox Version: PUEL
Guest OSses: Windows XP, FreeDos, Haiku, Windows Vista, Windows 3.11

Re: WineD3D (Direct3D support)

Post by MPX »

Tosk wrote:
ajmas wrote: - Reboot in safe mode and run the installer (this is important, otherwise WineD3D may fail to install)
- Reboot back into regular mode
That didn't work.
Vista refused it

I managed to do it by using the safe mode in command option but when i rebooted again Vista would NOT log in
Works in XP though
killanonimx
Posts: 7
Joined: 19. Mar 2009, 18:56

Re: WineD3D (Direct3D support)

Post by killanonimx »

WineD3D is working on Windows7, but aero not.
I'm installed it in normal mode, with admin's privileges, but i had use command:

Code: Select all

takeown /f c:\windows\system32\d3d8.dll
takeown /f c:\windows\system32\d3d9.dll
and by windows explorer change library's privileges to modify & write, and then i run wined3d.
Directx 10 isn't working, because wined3d's dxgi.dll have not all microsoft's dxgi.dll functions.
tuxxx
Posts: 2
Joined: 7. Apr 2009, 11:50
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Linux, BSD, Solaris, Windows

Re: WineD3D (Direct3D support)

Post by tuxxx »

I have got latest version of virtual box and latest WinD3D from link. Then I installed it in safe mode in win xp SP3. dxdiag can not see support of Direct3D - what's wrong?..
ajmas
Posts: 79
Joined: 27. Jan 2009, 19:37
Primary OS: Mac OS X other
VBox Version: OSE other
Guest OSses: Ubuntu
Location: Olympus Mons Colony, Mars

Re: WineD3D (Direct3D support)

Post by ajmas »

tuxxx wrote:I have got latest version of virtual box and latest WinD3D from link. Then I installed it in safe mode in win xp SP3. dxdiag can not see support of Direct3D - what's wrong?..
Did you install WineD3D using Windows safe-mode?
VB version: 6.x Primary OS: MacOS X 11.0.1 on Intel Mac
tuxxx
Posts: 2
Joined: 7. Apr 2009, 11:50
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Linux, BSD, Solaris, Windows

Re: WineD3D (Direct3D support)

Post by tuxxx »

ajmas wrote:
tuxxx wrote:I have got latest version of virtual box and latest WinD3D from link. Then I installed it in safe mode in win xp SP3. dxdiag can not see support of Direct3D - what's wrong?..
Did you install WineD3D using Windows safe-mode?
Yes, _of course_! I'll try newest 2.2.0 version... 8)
raxyx
Posts: 3
Joined: 21. May 2007, 18:17
Primary OS: Debian Lenny
VBox Version: PUEL
Guest OSses: WinXP, Debian various versions (Lenny, Squeeze, Sid, Ubuntu, etc)

Re: WineD3D (Direct3D support)

Post by raxyx »

Direct3D in a VM using basically a port of wine? Sounds interesting enough to give it a try, and so, here is what I got:

Basic system setup:
VirtualBox 2.2
Host: Debian Lenny 64bit
Guest: WinXP 32bit (Details: Professional, German, installed with SP2, then updated to SP3 and patched to current)


What I did:

I ran QtGears http://lab.bachem-it.com/opengl/qtgears/ without 3d Acceleration, getting about ~ 400 fps, and when I activated 3D Accel it ran with about ~ 1300 fps. So, I know OpenGL Acceleration works (for comparison, I get about ~ 2600 fps on the host system, so that's about 50% inside the VM. I'm impressed! :o )

I rebooted to safe mode, installed the latest version of wined3d (dx8 and 9 only, ignoring 7 and 10), and rebooted into standard mode

Dxdiag seems to recognize that some direct3d stuff is available, but when trying to run a test, the problems start:
dxdiag spits out an error when testing directx7 (something like "Cancelling Test in 8 (3-D Is Created): HRESULT = 0x8007000e: Not Enough Memory"),
and I get another error with dx8 (Something like "Cancelling Test in 4 (EnumAdapterModes): HRESULT = 0x8876086x"),
and then it crashes when trying to test dx9

Since the error message was about memory, I tried setting the graphics memory to the max supported by VirtualBox, and raised the RAM from 512 to 1024 MB, but that made no difference.

I've tried googling for these error codes, but nothing useful came up so far, so I basically gave up at that point.

Future work: I might try it again with a an unpatched sp2 install, I just didn't have one lying around and am not really in the mood for a re-install. Also, I might try installing other versions of directx before overwriting the files with wined3d, and see if the results are the same
Altaflux
Posts: 2
Joined: 11. Apr 2009, 19:09
Primary OS: Ubuntu 8.10
VBox Version: PUEL
Guest OSses: Windows

Re: WineD3D (Direct3D support)

Post by Altaflux »

I am having the exact same problems as raxyx, i tried with and without dowloding Direct3d from the page, i tried it downloading the redistribute of march2009 and it gives me the same errors, but from the page it gave me no errors.

Virtualbox 2.2
Ubuntu 8.10
Guest> Windows Xp Sp3
Wine3D 1.1.19
ajmas
Posts: 79
Joined: 27. Jan 2009, 19:37
Primary OS: Mac OS X other
VBox Version: OSE other
Guest OSses: Ubuntu
Location: Olympus Mons Colony, Mars

Re: WineD3D (Direct3D support)

Post by ajmas »

Could you mention what your host hardware is? I don't know enough about the Virtual Box and WineD3D architecture, but this could be useful for the devs.
VB version: 6.x Primary OS: MacOS X 11.0.1 on Intel Mac
gmyx
Posts: 6
Joined: 27. Jun 2007, 15:08

Re: WineD3D (Direct3D support)

Post by gmyx »

ajmas wrote:Could you mention what your host hardware is? I don't know enough about the Virtual Box and WineD3D architecture, but this could be useful for the devs.
I'm chiming in as well with the same problems.

VBox 2.2 on Debian 'Sid' Host
NVidia 6600 gt 256mb (I think it's a gt)
Windows XP SP3
OpenGL Works

d3d8_test d3d8_main returns:
err:d3d8:ValidateVertexShader vertexshader version mismatch
err:d3d8:ValidatePixelShader pixelshader version mismatch
d3d8_main: 18 tests executed (0 marked as todo, 0 failures), 0 skipped.

Other d3d8_test ran fine.

d3d9_test visual fails miserably (returns too much to put here - it ran off the xp cmd buffer).

d3d9_test vertexdeclaration:
vertexdeclaration.c:311: Test failed: result FVF was: 0, expected: 0x2
vertexdeclaration.c:348: Test failed on line #348
vertexdeclaration.c:311: Test failed: result FVF was: 0, expected: 0x4
vertexdeclaration.c:353: Test failed on line #353
vertexdeclaration: 575 tests executed (0 marked as todo, 2 failures), 0 skipped.

looks like other d3d9_test run okay.
Altaflux
Posts: 2
Joined: 11. Apr 2009, 19:09
Primary OS: Ubuntu 8.10
VBox Version: PUEL
Guest OSses: Windows

Re: WineD3D (Direct3D support)

Post by Altaflux »

I tried compiling the dlls myself from wine 1.1.19 and transfered them to virtualbox, But it still doesnt works, it gives me the same errors in dxdiag.
The only strange thing with my dlls is that they weight a bit more than the precompiled one in the link above.
I used:
d3d8.dll
d3d9.dll
d3d10.dll
d3d10core.dll
dxgi.dll
wined3d.dll
libwine.dll

My error at Direct3d8 is: Test failed at step 4 (EnumAdapterModes): HRESULT = 0x8876086c (error code)
And Direct3d9 just crashes, sometimes Direct3d8 just crashes the same way.

My pc is:
Ubuntu 8.10
Guests: Windows Xp Sp3 (DirectX downloaded from Microsofts page and installed before Wine3d3)
Virtualbox 2.2
Nvidia geforce 8800gts
Intel Core 2 Duo 2.4ghz
Locked