IDirect3DImpl_EnumDevices only enumerating IID_IDirect3DTnLHalDevice

David Hedberg david.hedberg at
Sun Sep 2 07:15:43 CDT 2007

(Resending mail after subscribing to list)


I've been tracking down the reason for bug 7993 ( , "Delta Force Land
Warrior 1.31 -> Can't find 3D Video Card" ), and I think I've found

It appears as if the EnumDevices callback in Delta Force for some
reason discards all devices with a GUID of IID_IDirect3DTnLHalDevice,
thus discarding the only device enumerated by wine. This is "easily"
checked (and bypassed) by searching for and altering the
IID_IDirect3DTnLHalDevice value used in the check (78 9E 04 F5 (..) )
in the delta force executable.

While this works as a "fix", it's obviously not a good one. In my
(somewhat limited and at the moment not doublechecked) understanding,
windows "always" returns (at least) two devices, one reporting T&L
capable and one not. So I am wondering how one would implement a
proper fix for this in wine.

Fixing this together with applying (or otherwise fixing the issue
highlighted in) the patch at
(also sent to wine-patches), would enable both Delta Force Land
Warrior and Delta Force Task Force Dagger to run great with wine.


More information about the wine-devel mailing list