Pages

Tuesday, November 20, 2007

DirectX 9.0c on Linux with Wine

This Page Has Been Moved: Please Note the New Location Below

We restructured the whole site and this page no longer exists on this location. The page that your looking for has been moved to a different Web address on the new and improved Wine-Reviews.net Site:

Click on the link above to go to the new location. (To maintain accessibility, we have not set up automatic redirection to the new page.) If you have a bookmark to the old page, please change it to the new address above. If you followed a link from another Web site to this page, please let the people responsible for that Web site know the new location above. If you are having trouble finding the information you want, do a search on this article at our new site.

Thanks for your understanding and Sorry for the inconvenience.

The Editors at Wine-Reviews




Putty for Mac
Putty for Mac
$15.00

https://winereviews.onfastspring.com/putty-for-mac


59 comments:

  1. Very nice - dxdiag is working...
    But could you give some examples what real game will work better (or work at all) with native Microsoft DirectX dlls? Crysis/BioShock/Gears Of War/The Witcher maybe? :)

    ReplyDelete
  2. "next up is to install a native mscoree.dll and streamci.dll into /system32 from a windows install and set then to native Windows."

    "You will need to set a large number of dlls to native for the install to work properly."

    And how are we supposed to know how to do these things? I have no idea where to even start..

    ReplyDelete
  3. What kinds of programs have you tested in wine with dx9c installed? Have there been any performance issues with running these APIs through the wine interface? I ask as I'm not familiar with how wine works compared with other types of virtualization like dosbox or vmware.

    ReplyDelete
  4. I have a problem with this procedure. It install dx without problem but without dxdiag.exe, so i can't do the test.

    Anyway thanks for the tutorial!

    ReplyDelete
  5. I have a problem with this procedure. DX install without problem but dxdiag.exe is missing. I used the dxsetup of your link.

    Anyway thanks for this useful tutorial!

    ReplyDelete
  6. Its what really needs to be done. Windows games and apps easily on linux then more people to linux.

    ReplyDelete
  7. Hello Anonymous,

    Sorry, you do it in winecfg under "Libraries"

    ReplyDelete
  8. Hello HellBoyz77,

    dxdiag.exe is installed in /system32

    ReplyDelete
  9. Hello Danniello,

    Ive only tested this with 3DMark 06 thus far... but any game that needs a DX 9 update dll from d3dx9_24.dll up to d3dx9_36.dll can run those dlls as native windows.

    Direct Music, Direct Play work as native.. I have used native Quartz.dll in the past (direct show)

    Also I just got this box up and going a week ago and have just started installing games on it. I have "Steam" and "Need for Speed Prostreet" howtos done now, and plan many more howtos in the future.

    ReplyDelete
  10. bill: Wine Is Not an Emulator. Hence the name "Wine". www.winehq.org

    ReplyDelete
  11. Working directPlay is a great news for me but do you get any compatibility/performance improvements ?
    Some benchmarks between wine and wine+directX will be a nice addition to your post !

    ReplyDelete
  12. I cant seem to get directx installed properly. The setup says that everything is ok, but lots of files are missing in the end. If i check the console from which i launched DXSETUP i see lots of error messages saying "err:setupapi:do_file_copyW Unsupported style(s) 0x144"
    has anyone else experienced this? (or am i a complete idiot? ^^)

    ReplyDelete
  13. Question:

    "...rename...dsound...dsound.vxd...dlls to *.bak"

    How are we supposed to rename dsound.dll and dsound.vxd (both) to .bak files?

    Or, should we rename dsound.vxd -> dsound.vxd.bak?

    (Sorry...I'ma bit of a n00b to Linux)

    ReplyDelete
  14. Excellent guide but to ease the setup one can use
    the following information:

    Simply define DLL overrides using a text editor instead of winecfg
    and the file .wine/user.reg at section

    [Software\\Wine\\DllOverrides] 1195996825
    "d3d8"="native"
    "d3d9"="native"
    ..etc

    and after directx installation changing the
    necessary ones to "builtin"

    [Software\\Wine\\DllOverrides] 1195996825
    "d3d8"="builtin"
    "d3d9"="builtin"
    ..
    etc.

    gm.dls is to be found on native windows\system32\drivers folder
    which should be copied to .~/.wine/drive_c/windows/system32/drivers
    folder manually

    Thanks for the guide,

    - Adil

    ReplyDelete
  15. Yea.....

    I will update the guide in a couple minutes, I think Ive found a easier way for people to do the install.

    ReplyDelete
  16. If you were having trouble with the old guide... please read the guide again and see if the changes Ive made to it remedy the problems.

    ReplyDelete
  17. I get this error message when installing DX9
    fixme:process:IsWow64Process
    fixme:process:IsWow64Process (0xffffffff 0x33defc) stub!
    fixme:reg:GetNativeSystemInfo (0x7d6d36fc) using GetSystemInfo()
    fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
    fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000000,(nil),0x0001,0x00000000,0x7d6d1f10,(nil)): stub
    err:eventlog:ReportEventW L".NET Runtime version : 2.0.50727.832 - "
    fixme:advapi:DeregisterEventSource (0xcafe4242) stub
    err:setupapi:do_file_copyW Unsupported style(s) 0x144

    I'm running a pretty fresh install of Ubuntu Gutsy 32bit and the nvidia-glx 100.14.19. Winever 0.9.49. Have Tried to run the setup several times. It doesnt say its failed but I can't find the Dxdiag in sys32 on the wine install :s

    ReplyDelete
  18. i'm really struggling on it... but it doesn't work...

    I'm using Wine Snapshot with a clean .wine dir, copied manually some missing DLLs, but when i run dxdiag.exe, it dies when i select the "DISPLAY" tab... WHAT THE HELL!!! AM I MISSING SOMETHING?!?!?!?

    (OpenSuse 10.3 / wine-snapshot-0.9.49.20071125)

    ReplyDelete
  19. I'm having the same problem as Hellboyz77. The installation went just fine, but there is no dxdiag.exe to be found neither in the /system32 nor anywhere else.

    Any suggestions?

    ReplyDelete
  20. Thanks much twickline. Not sure if you want feedback here or the forum, so for now, I did here. I followed your guide on two different PC's. Had the same issues. Your latest guide helped some.

    After installing twice, I still have network error and dplay won't work.
    Here are my notes:
    I needed to manually copy over dxdiag.exe and dxdiagn.dll to even get dxdiag to run.

    After it launched, I said no to WHQL message, i got these two still:
    Error: Problem Getting network info, result code = 0x80040154 (Class not registered)
    Error: Problem Getting DirectShow info, result code = 0x80040154 (Class not registered)

    Tests ran fine, no Direct Music tab though, and I did copy the gm.dlls over to the drivers folder. These are reporting missing in teh Dxdiag files list, should I be concerned? Tests still ran fine:
    drawex.dll
    dxapi.sys
    d3d8thk.dll
    d3dim.dll
    d3dim700.dll
    d3drm.dll
    d3dx0f.dll
    d3dpmesh.dll
    dplayx.dll
    dpmodemx.dll
    dpwsockx.dll
    dplaysvr.exe
    dpnsvr.exe
    dpnet.dll
    dpnlobby.dll
    dpnaddr.dll
    dpvoice.dll
    dpvsetup.exe
    dpvvox.dll
    dpvacm.dll
    dpnhpast.dll
    dpnhupnp.dll
    dinput.dll
    dinput8.dll
    dimap.dll
    diactfrm.dll
    joy.cpl
    gcdef.dll
    dsound3d.dll
    dswave.dll
    dsdmo.dll
    dsdmoprp.dll
    dmusic.dll
    dmband.dll
    dmcompos.dll
    dmime.dll
    dmloader.dll
    dmstyle.dll
    dmsynth.dll
    dmscript.dll
    dx7vb.dll
    dx8vb.dll
    amstream.dll
    devenum.dll
    mciqtz32.dll
    msdmo.dll
    encapi.dll
    qasf.dll
    qcap.dll
    qdv.dll
    qdvd.dll
    qedit.dll
    qedwipes.dll

    Thanks a bunch!

    ReplyDelete
  21. As hellboyz77 noted, dxdiag.exe (and necessary files) were absent, although the install of DXSETUP.EXE prompted success. Thus, I was unable to run the dxdiag.exe to test it out.

    Anything I should try out?

    This is on Kubuntu 7.10.

    P.S. dxdiag.exe is nowhere under the ".wine" directory.

    ReplyDelete
  22. Hi, I've tested my favourite game "Rome: Total War" with this howto... and it worked! This was my last link with Windows.

    Thank you very much!

    ReplyDelete
  23. you are a very good man. thank you very very much.

    ReplyDelete
  24. I had this installed, but don't expect any gain on world of warcraft. it's better on OpenGL with NVIDIA drivers

    ReplyDelete
  25. OK, if your having problems see this post in the forum......

    DX in Wine

    ReplyDelete
  26. Hi

    When I try to install DirectX I get the following:
    hanspi@KanotixBox:~/.wine/drive_c/DirectX$ wine DXSETUP.exe
    err:alsa:ALSA_CheckSetVolume Could not find 'PCM Playback Volume' element
    fixme:mixer:ALSA_MixerInit No master control found on Brooktree Bt878, disabling
    mixer
    fixme:mixer:ALSA_MixerInit No master control found on MPU-401 UART, disabling mi
    xer
    fixme:process:IsWow64Process (0xffffffff 0x32db2c) stub!
    fixme:reg:GetNativeSystemInfo (0x7cfe277c) using GetSystemInfo()
    fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
    fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000000,(nil),0x0001,0x00
    000000,0x7cfe0f8c,(nil)): stub
    err:eventlog:ReportEventW L".NET Runtime version : 2.0.50727.253 - ErrorA fatal
    error occurred. However, mscorees.dll could not be loaded to display the appropr
    iate error message.\n\nPlease reinstall the .NET Framework."

    mcdorees.dll is copied to the ..\system32 directory

    What am I doing wrong?

    ReplyDelete
  27. Hey nice post, the tests worked fine, but a 3D game didn't work... do you know if it's possible to run managerzone.com 3D game in Linux? since now, thank you very much!

    ReplyDelete
  28. Didn't worked for me. I copied the 2 files in the ~/.wine/drive_c/windows/system32 and edited the ~/.wine/user.reg file as explained at the article. When I run the installer all seems to be OK at the installer window but in console I obtain the next error messages:
    wine DXSETUP.exe
    fixme:process:IsWow64Process (0xffffffff 0x32defc) stub!
    fixme:reg:GetNativeSystemInfo (0x7d4246fc) using GetSystemInfo()
    fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
    fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000000,(nil),0x0001,0x00000000,0x7d422f10,(nil)): stub
    err:eventlog:ReportEventW L".NET Runtime version : 2.0.50727.832 - .NET Framework Initialization ErrorPlease set registry key HKLM\\Software\\Microsoft\\.NETFramework\\InstallRoot to point \nto the .NET Framework install location"
    fixme:advapi:DeregisterEventSource (0xcafe4242) stub
    err:setupapi:do_file_copyW Unsupported style(s) 0x144
    err:setupapi:do_file_copyW Unsupported style(s) 0x144
    .... and so on for 41 more lines


    After that it seems nothing is installed and there is no dxdiag.exe in the entire drive_c

    ReplyDelete
  29. "next up is to install a native mscoree.dll and streamci.dll into /system32 from a windows install and set then to native Windows."

    I also do not understand this line. How to install those two? What I did is just googl-ing them instead and copy them to $/.wine/drive_c/windows/system32. I saw the mscoree in the list but not streamci in the libraries tab. What did I miss here?

    ReplyDelete
  30. streamci isnt in the list because Wine doesnt have its own streamci dll... So just put the dlls in system32 and set them to native. streamci is going to be native anyway as there isnt a builtin to fall back to ....

    ReplyDelete
  31. As a regular supporter of the Wine project (find me in #winehq on Freenode as man_in_shack), I am aghast at the number of new Linux and Wine users who follow these instructions and have to be told "that won't work", "you've broken it" or something similar.

    As you SHOULD be aware but apparently aren't, the majority of Microsoft DirectX WILL NOT function in Wine, partly because Wine doesn't let it and partly because Linux doesn't let it (by not providing the appropriate hardware access).

    Furthermore, these instructions are NOT recommended by any developers of the Wine project, or any member of the user support community (see #winehq again). In fact, the user support community explicitly recommends not following these instructions or any others that include installing Microsoft DirectX in Wine.

    I ask you to please adjust your blog to state that it is NOT a recommended procedure, and that it should only be performed by people who know exactly what they're doing. One excellent reason for not installing MS DirectX in Wine is the difficulty involved in removing it completely should something go wrong, or should the user decide for whatever reason to remove it later.

    ReplyDelete
  32. does halo work by doing this?

    ReplyDelete
  33. Halo should work if you install DX 9 or if you dont, The demo works, do a search on wine-review at the top of the page for Halo and you can find the post.

    ReplyDelete
  34. ok i have followed these instructions to the letter i have even tried updating wine to latest version(0.9.52) when i get to the stage to run "dxdiag.exe" i get following error :
    wine: could not load L"c:\\windows\\system32\\dxdiag.exe": Module not found

    it seems that directx is not installing properly if at all as the file is not even in the .wine/windows/system32 folder. Hense the reason for wine turning out that error.

    Any help will be much appreciated.

    Trying desperately to get this working in the hope that i may able to get my fav game working. I know the game might not work at all, but i'd still like to get directx working in some respect .

    i will cross the next bridge when i come to it :)

    thx for reading , moE

    ReplyDelete
  35. If you have trouble installing DX there is more info on the wine-forum... please go there and read the follow up on this.

    ReplyDelete
  36. I installed DirectX9.0c, but I do not have dxdiag.exe in system32 folder. What's going on?

    ReplyDelete
  37. nevermind, setting windows to 2000 version solved the problem.

    ReplyDelete
  38. I got DX9 installed properly and i have dxdiag.exe in system32 folder, but when i try to launch it, it says that dxdiagn.dll in not actual. I tried downloading another one from internet, but it didnt work. What's the problem?

    ReplyDelete
  39. I really appreciate your 3rd-person reports on Wine, and this is especially useful. Thank you!

    PS People, when he talks about "installing" dlls/drivers/etc, he means to copy them from the WINDOWS/system32 directory of a windows installation into your equivalent Wine directory.

    Also, you have to run dxdiag from within the directory it is installed in.

    ReplyDelete
  40. Excelent guide but i had have some differences.

    Some dlls where not on my WindowsXp:
    d3dx8.dll
    any d3dx8* or d3dx9*, also not in wines system32 before installing dx9c
    mscoree.dll
    dmusic32.dll

    I have an Spanish Windows Xp installed on VirtualBox, from i have copied the files.

    Also i want to note, i have not tested dxdiag before on wine, but dx7 and 8 cube test runs very very quickly (i cant distinguish the dx logo, way too fast) and dx9 cube test runs slower than 8 or 7, not like in your video.

    GeForce 7025 onboard

    a question, can i also install dx10?

    cheers

    ReplyDelete
  41. Hello diego,

    No, you cant install DX 10...

    Cheers,

    Tom

    ReplyDelete
  42. Note: It is important that wine be in W2k mode for the installer to work properly.

    I found that out the hard way on my second system...

    For some reason, everything works fine except testing D3D. That locks the dxdiag with a white screen on my newer system. I sure hope I can get it working.

    ReplyDelete
  43. im not sure if im doing something something wrong first of all i got a patched version of wine with 3dmark patch.
    on installation of dx im getting an error that msccores.dll could not loaded but installation looks run correct.also on dxdialog im getting ddrawex.dll missing.. i just copied to system32 folder. Directdraw works great but direct3d dont window goes white and im getting
    1 0x7c012398 (0x6b0d1dc0)
    2 0x6af0d731 ActivateContext+0x421() in wined3d (0x6b0d1f80)
    3 0x6af3e1dd drawPrimitive+0x15d() in wined3d (0x6b0d2270)
    4 0x6af196f4 in wined3d (+0x296f4) (0x6b0d22c0)
    5 0x6a9b420c in ddraw (+0x2420c) (0x6b0d2310)

    and some more of thouse... any clue ??

    ReplyDelete
  44. and some more of thouse... any clue ??

    put a native msccores.dll in /system32

    ddraw, d3d8/9 HAS to be set to builtin Wine..

    ReplyDelete
  45. Hello. Nice guide, but i have some problems. I've installed that DirectX like you said, bet when i test DirectDraw and Direct3D, it doesn't look like yours. Direct3D is spining faster, and it's impossible to see that logo. Did i do something wrong? Please, help me.

    ReplyDelete
  46. Nope, seems as if you did it right.. the cude spins here at about 10k FPS it seems.. just a blur :D

    ReplyDelete
  47. "landry said...

    Note: It is important that wine be in W2k mode for the installer to work properly."

    THANK YOU BUDDY !!!!

    YES, THAT IS IMPORTANT. I wasn't getting dxdiag.exe either, until I did that.
    Cheers.

    ReplyDelete
  48. i did everything nice, the dxdiag runs, no files missing, nativities set etc.,
    But i get 2 error codes:

    "Problems were found in the system registry. Details are available in the saved text file.
    You should reinstall DirectX to get the latest version.
    DirectDraw test results: Failure at step 3 (DirectDrawCreate): HRESULT = 0x887600de (No DirectDraw support)
    Direct3D functionality not available. You should verify that the driver is a final version from the hardware manufacturer."

    And

    "0x80004005" (generic failure)

    ReplyDelete
  49. Anyone find out a solution to the white screen on Direct3d test? I've got it on two machiens, I've put the native mscorees.dll into system32 (there's a posts talking about msccores.dll but I believe this is a typo? can't find that DLL)

    ReplyDelete
  50. look people, it's not that hard. you can take any native or builtin .dll from the list, go to the library tab, add the .dll. (you'll be changing this later so pick whatever. native, builtin, both, cheeseburger, whatever) click apply or click ok to close winecfg. now you vi/nano/pico/whatever .wine/drive_c/user.reg. find the .dll you added. replace the single .dll with the long list of dll's on this page from d3d8 to streamci. save the file. pat yourself on the back.

    ReplyDelete
  51. Would there be ANY way at all to get AGP to work? I'm trying to get the infamous Lineage II working. Need it for it to run, as far as I know.

    ReplyDelete
  52. Incase You Don't Have gm.dls (And I Spent 3 Days Googling To Find This) Heres A Download Link:

    http://www.kirupa.templarian.com/gm.dls

    Enjoy!!!

    (0) JOKesTER (0)

    ReplyDelete
  53. Before running direct3d tests check this:

    $ glxinfo | grep rendering
    direct rendering: Yes
    (If it says "No", you don't have 3D acceleration.)

    ReplyDelete
  54. Okey my problem is this: I did all like you say but when i try to run dxdiag.exe wine just say "dxdiagn.dll" is out of date. And then nothing happened. Can you say what is wrong?

    ReplyDelete
  55. hmm

    dxdiag gives no errors only I cannot get anything to work in the dplay tab

    please some help?

    I cannnot get trackmania nations forever to work properly, and I'm quite sure it's because of this ...

    thx in advance!

    ReplyDelete
  56. hey man thanks for this but when i tried opening from the system32 folder it said something about a missing modual i dunno if i done it right i hope so i did all the dlls but i noticed one dll wasnt there streamic or w/e its called

    i hope you know what i mean lol i dont

    ReplyDelete
  57. Hello johnc,

    Yea you will need to get that dll from a windows box or dll server :)

    Hey can everyone start posting comments to the new site???

    DirectX 9.0c March 2008 redistributable on Linux with Wine

    This blog in the near future will be rm -rf

    ReplyDelete