Results 1 to 8 of 8

Thread: DirectX 10 on Windows XP

  1. #1

    DirectX 10 on Windows XP

    Hi all
    I don't know that you have ever tried to use directx 10 or not,but probably alll of you know that directx 10 has not been released for windows xp and it seems micro$oft has released it only for vista.
    directx 10 has much better performance than directx 9,so a lot of poeple want to have it on windows xp too,so some group of people has released some versions(like directx 10 NE or LE) for windows xp,but these versions are not very stable.
    When you install lastest package for offline directx installer from microsoft on windows XP,directx 10 dlls will be available on computer too,but somehow they will not work on windows xp.
    anybody knows how these dlls are not working in windows xp?is this only a simple os version checking or it is more complex?
    is there anybody who has tried to enable directx 10 on windows xp?

    Regards
    I should look out my posts,Or JMI will get mad at me! ;)

  2. #2
    <script>alert(0)</script> disavowed's Avatar
    Join Date
    Apr 2002
    Posts
    1,281
    though i don't know what the installer is checking to verify the OS, my guess as to WHY ms decided not to make directx 10 xp-compatible is because it uses win32 APIs that were only introduced in Vista

  3. #3
    Quote Originally Posted by disavowed View Post
    though i don't know what the installer is checking to verify the OS, my guess as to WHY ms decided not to make directx 10 xp-compatible is because it uses win32 APIs that were only introduced in Vista
    hmmmm
    perhaps I have described this bad....
    when you use offline installer of micro$oft in windows xp, it will install a set of directx 10 dlls and even when you use dxdiag.exe,it says that your directx version is 10. But if an application uses directx 10,it cannot be run on windows xp.
    I think those installed dlls have an internal OS checking rather than using something special in vista(or probably something that can be emulated in windows xp).

    Regards
    I should look out my posts,Or JMI will get mad at me! ;)

  4. #4
    Why don't you trace it and figure out where is failing. I would be interested to find out too.

  5. #5
    Microsoft has stated again and again that DirectX 10 simply cannot function on XP because it requires new OS functionality that is only available in Vista and up. And anyway, the absolute majority of games today still use DX9, and "DX10 has much better performance than DX9" is hardly true.

  6. #6
    Hmm arc
    perhaps it is true that microsoft has stated this,because there is a few APIs that is only available on vista. But I check and compared directx files between windows vista and windows xp sp2 after installing that offline directx installer.
    I noticed this offline installer doesn't install main directx 10 core dlls. These dlls are d3d10.dll,d3d10core.dll(and 2 more dependency for these dlls: dxgi.dll,dwmpi.dll).
    I checked these dlls and noticed that we have some problem for bringing them to windows xp sp2,because some functions are not available in windows xp sp2.
    most of these functions are exported from msvcrt.dll in windows vista that is not portable to windows xp,and only 1 ntdll.dll API(if we assume that operation of APIs which are common between windows xp sp2 and vista have not been changed).
    Here is list of unavailable imports for loading directx 10 dlls in windows xp sp2:

    d3d10.dll
    ---------------
    msvcrt.dll:_except_handler4_common
    msvcrt.dll:__CxxFrameHandler3
    msvcrt.dll:_ftol2_sse
    msvcrt.dll:_ftol2


    d3d10core.dll
    ---------------
    msvcrt.dll:__CxxFrameHandler3
    msvcrt.dll:memmove_s
    msvcrt.dll:memcpy_s
    msvcrt.dll:_except_handler4_common
    msvcrt.dll:_ftol2_sse


    dxgi.dll
    ---------------
    msvcrt.dll:_except_handler4_common
    msvcrt.dll:_ftol2
    msvcrt.dll:__CxxFrameHandler3
    msvcrt.dll:memcpy_s
    msvcrt.dll:memmove_s

    ntdll.dll:RtlIsCriticalSectionLockedByThread

    dwmapi.dll
    ---------------
    msvcrt.dll:_except_handler4_common

    USER32.dll: DwmHintDxUpdate
    USER32.dll: IsThreadDesktopComposited

    ADVAPI32.dll:RegGetValueW

    Hm...
    As you see,some of these function specially in msvcrt are so simple(like memmove_s) but some other like user32.dll and ntdll.dll APIs and __CxFrameHandler3 from msvcrt are somehow troubling.
    When I checked these DLLs,I noticed the most troubling imports are DwmHintDxUpdate, IsThreadDesktopComposited which use something from kernel....

    Do you think if we could patch directx 10 dlls and provide these functions internally in order to start directx 10 in windows xp sp2?

    I attached main dlls from vista for those who are interested on checking these dlls. If this is against forum rules,please remove attachments...

    And last thing:I don't know if any of these APIS are available in windowx xp sp3,so if someone checks,it will be great.

    Regards
    Attached Files Attached Files
    Last edited by Hero; August 6th, 2009 at 07:05.
    I should look out my posts,Or JMI will get mad at me! ;)

  7. #7
    And what makes you think it doesn't load more functions via GetProcAddress? What about the kernel mode components?

    If you are serious about this you may want to look at the Alky Project, which set out to create a Windows -> Linux/OSX executable converter (they failed). They also created an alpha version (!) of a compatibility layer for DirectX 10 on XP. As the project is dead now this is no longer being worked on, but you could still take a look at it to see what's involved.

  8. #8
    I have check that project,but their work was not that stable.
    in addiiton,it is surely possible to use GetProcAddress,but I want to try load these dlls first,then reach use of GetProcAddress... :P
    I should look out my posts,Or JMI will get mad at me! ;)

Similar Threads

  1. DirectX crackme
    By Silver in forum Mini Project Area
    Replies: 33
    Last Post: February 8th, 2012, 14:49
  2. DirectX 5
    By Cenobyte in forum OllyDbg Support Forums
    Replies: 2
    Last Post: June 30th, 2005, 08:57
  3. IceExt & DirectX
    By omega_red in forum Tools of Our Trade (TOT) Messageboard
    Replies: 2
    Last Post: June 1st, 2004, 11:54
  4. DirectX interface names
    By omega_red in forum The Newbie Forum
    Replies: 4
    Last Post: May 13th, 2004, 14:38
  5. Replies: 3
    Last Post: March 18th, 2003, 16:19

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •