I’ve been spending some time trying to get DirectX applications running within Mac OS 10.5 using VMWare Fusion, CrossOver and Darwine.
Darwine — Darwine uses OpenGL for it’s DX emulation, and there’s apparently an issue with the OpenGL drivers in 10.5’s X11 that’s preventing wine from using OpenGL. The latest builds of Darwine you’ll find around the net don’t even include OpenGL support, and if you try to compile it yourself you’ll run into problems. Apparently Apple is aware of the issue and is working on a fix, but there’s no ETA.
CrossOver — I did some DirectX tests with CrossOver and it looks like it does not include support for DirectX 9. It will initialize a HAL interface without error and return pixel shader model 1.4 support, but inspecting the video card properties returns an error, and trying to actually grab the video surface returns an error. I haven’t tried DirectX 8 yet. (Which I don’t really care about anyways)…
VMWare Fusion — In Fusion I was only able to create a DirectX 9 surface if it was fullscreen; windowed surfaces would return an error. For shader support it returns 0.0 and 0.0 for ps/vs, so the second you try and use a shader it returns an error again.
We still have a ways to go before DirectX 9 is really usable on OS X in my opinion…