CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Mac
Discussion about CrossOver Mac

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Directx9 Sluggish

I am trying to play EverQuest emulator server using the RoF client. Interesting thing is that when I first setup the game and go to start it up, the initial screens load normally, but I can't log into the game because I need directx9 installed. Once I install directx9, the initial screens start loading really slowly. I have tried combinations of dgvoodoo/dvxk/etc on it, and I can get the screens to load faster without installing directx and log into the game, but then character do not render, whcih makes me think there is something that is needed from directx9.

This is on a mac m2 sonoma system.

Freezzo wrote:

I am trying to play EverQuest emulator server using the RoF client. Interesting thing is that when I first setup the game and go to start it up, the initial screens load normally, but I can't log into the game because I need directx9 installed. Once I install directx9, the initial screens start loading really slowly. I have tried combinations of dgvoodoo/dvxk/etc on it, and I can get the screens to load faster without installing directx and log into the game, but then character do not render, whcih makes me think there is something that is needed from directx9.

This is on a mac m2 sonoma system.

Did you install "directx for modern games"? Or just a normal installer from microsoft? otherwise try to install that one from the installer menu in crossover and check what happen.

Im also reading in their FAQ (perhaps its a bit outdated now) that perhaps you should disable CSMT using run, "regedit" in the following path
HKEY_CURRENT_USER -> Software -> Wine -> Direct3D
Create a DWORD Value (REG_DWORD) named "csmt" and set the value to 0x0 (disable)

Anyway worth a try I guess

Thanks for the suggestions. I tried them and nothing worked. I am just wondering if there is too much issues with directx9 and m2 macs.

Here are the two scenarios that I have run into (Mac M2)

EverQuest Titanium (32bit crossover only works):

  • If I do a fresh prefix, or after I install directx 9 from MS, the game lags, but I can get into the game and play. FPS isn't that great.

EverQuest RoF2 Client (runs in crossover, but also runs in upstream wine. I assume because it runs 64bit better):

  • If I do a fresh prefix, the game loads up fine and I can get to the character select screen, but there are no models rendering. This is because I think the d3d libraries included are missing something that MS DirectX Needs (specicially d3dx9_30.dll, which i think is built from 36). I should also note, that I tried adding ONLY d3dx9_30.dll to a fresh PREFIX and the sluggish issue starts happening, so appears to be something in there perhaps
  • If I install DX9 from MS, the game now has the lagging screens but will load models and I can play.

I downloaded the source and added some custom TRACEs and logged the difference in the two cases and something seems to be happening around the ntdll.NtWaitForMultipleObjects, KERNEL32.WaitForSingleObject, or KERNEL32.HeapFree but I am not sure how to troubleshoot this further. You can see by the large jump in timestamps that happen in lag scenarios:

1165639.866:00c8:trace:d3d9:d3d9_surface_AddRef iface 09C808C8.
1165639.866:00c8:trace:d3d9:d3d9_surface_AddRef Forwarding to 011C4348.
1165639.866:00c8:trace:d3d9:d3d9_texture_incref 011C4348 increasing refcount to 3.
1165639.866:00c8:trace:d3d9:d3d9_texture_incref Exit d3d9_texture_incref.
1165639.866:00c8:Call ntdll.RtlAllocateHeap(05970000,00000000,00000100) ret=04c0e467
1165639.866:00c8:Ret ntdll.RtlAllocateHeap() retval=05fd4278 ret=04c0e467
1165639.866:00c8:Call ntdll.RtlAllocateHeap(05970000,00000000,00000080) ret=04c0e467
1165639.866:00c8:Ret ntdll.RtlAllocateHeap() retval=05fd46d0 ret=04c0e467
1165639.866:00c8:Call ntdll.RtlAllocateHeap(05970000,00000000,00001000) ret=04c0e467
1165639.866:00c8:Ret ntdll.RtlAllocateHeap() retval=05fd4d68 ret=04c0e467
1165639.866:00c8:Call ntdll.RtlAllocateHeap(05970000,00000000,00000200) ret=04c0e467
1165639.866:00c8:Ret ntdll.RtlAllocateHeap() retval=05fd4758 ret=04c0e467
1165639.866:00c8:Call ntdll.RtlAllocateHeap(05970000,00000000,00004000) ret=04c0e467
1165639.866:00c8:Ret ntdll.RtlAllocateHeap() retval=077c80f0 ret=04c0e467
1165639.883:010c:Call KERNEL32.WaitForSingleObject(000000d0,ffffffff) ret=01c2f6da
1165639.883:010c:Call ntdll.NtWaitForMultipleObjects(00000001,071dfcf0,00000001,00000000,00000000) ret=7b078316

1165639.883:010c:Call ntdll.NtWaitForMultipleObjects(00000001,072df0d0,00000001,00000000,00000000) ret=1ed9ce941
1165640.212:00c8:Call KERNEL32.HeapFree(05970000,00000000,077c80f0) ret=04c0acba

1165640.212:00c8:Ret KERNEL32.HeapFree() retval=00000001 ret=04c0acba
1165640.212:00c8:Call KERNEL32.HeapFree(05970000,00000000,05fd4d68) ret=04c0acba
1165640.212:00c8:Ret KERNEL32.HeapFree() retval=00000001 ret=04c0acba
1165640.212:00c8:Call KERNEL32.HeapFree(05970000,00000000,05fd4758) ret=04c0acba
1165640.212:00c8:Ret KERNEL32.HeapFree() retval=00000001 ret=04c0acba
1165640.212:00c8:Call KERNEL32.HeapFree(05970000,00000000,05fd4278) ret=04c0acba
1165640.212:00c8:Ret KERNEL32.HeapFree() retval=00000001 ret=04c0acba
1165640.212:00c8:Call KERNEL32.HeapFree(05970000,00000000,05fd46d0) ret=04c0acba
1165640.212:00c8:Ret KERNEL32.HeapFree() retval=00000001 ret=04c0acba
1165640.212:00c8:trace:d3d9:d3d9_surface_UnlockRect iface 09C808C8.
1165640.212:00c8:Call wined3d.wined3d_mutex_lock() ret=01a74257
1165640.212:00c8:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=01a74257
1165640.212:00c8:Call wined3d.wined3d_texture_get_resource(09c80678) ret=01a74265
1165640.212:00c8:Ret wined3d.wined3d_texture_get_resource() retval=09c80678 ret=01a74265
1165640.212:00c8:Call wined3d.wined3d_resource_unmap(09c80678,00000000) ret=01a74271

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzMxNDM1MjAzLCJjc3JmX3Rva2VuIjoiRXh0bnJua0I5eFBBcTZlcSIsImdkcHIiOjB9