PDA

View Full Version : SoF and Wine


cubber
02-11-2009, 07:47 PM
Since development seems to be progressing fast on a SoF client I figured I would purchase a copy and try to get it working in wine. The game installed fine (unpatched), but when I go to run:

wine eqgame.exe patchme

A window opens like its gonna do something but then crashes and I get the following output:

~/.wine/drive_c/Program Files/Sony/EverQuest-SoF $ wine eqgame.exe patchme
fixme:advapi:SetSecurityInfo stub
fixme:d3d:IWineD3DImpl_FillGLCaps OpenGL implementation supports 32 vertex samplers and 32 total samplers
fixme:d3d:IWineD3DImpl_FillGLCaps Expected vertex samplers + MAX_TEXTURES(=8) > combined_samplers
fixme:win:EnumDisplayDevicesW ((null),0,0x32eb7c,0x00000000), stub!
[ERROR] - Mouse Wheel supported = TRUE

fixme:dinput:SysMouseAImpl_Acquire Clipping cursor to (0,0)-(1680,1050)
wine: Call from 0x7edfee0e to unimplemented function d3dx9_36.dll.D3DXCreateTextureFromFileInMemoryEx, aborting
wine: Unimplemented function d3dx9_36.dll.D3DXCreateTextureFromFileInMemoryEx called at address 0x7edfee0e (thread 0009), starting debugger...
Unhandled exception: unimplemented function d3dx9_36.dll.D3DXCreateTextureFromFileInMemoryEx called in 32-bit code (0x7edfee85).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7edfee85 ESP:0032f800 EBP:0032f864 EFLAGS:00000212( - 00 - -IA1)
EAX:7ede9e35 EBX:7ee69ff4 ECX:00000000 EDX:0032f888
ESI:0032f888 EDI:01c27c60
Stack dump:
0x0032f800: 0032f888 00000008 01201a80 0000006c
0x0032f810: 80000100 00000001 00000000 7edfee0e
0x0032f820: 00000002 7e8b31a0 7e8b3a9c 0000006c
0x0032f830: 00000003 7ef89379 00000000 00000003
0x0032f840: 0032f880 0117176e 01390fb8 01168ef7
0x0032f850: 00000003 01168f14 00000000 011acf18
Backtrace:
=>0 0x7edfee85 RaiseException+0x77() in kernel32 (0x0032f864)
1 0x7e8b3132 in d3dx9_36 (+0x13132) (0x0032f894)
2 0x7e8ae4cc in d3dx9_36 (+0xe4cc) (0x0032f918)
3 0x00000000 (0x00000000)
0x7edfee85 RaiseException+0x77 in kernel32: subl $4,%esp
Modules:
Module Address Debug info Name (114 modules)
PE 330000- 344000 Deferred dsetup
PE 350000- 3b8000 Deferred js3250
PE 3c0000- 3c8000 Deferred plc4
PE 3d0000- 3d6000 Deferred plds4
PE 400000- 9d6000 Deferred eqgame
PE 1080000- 1212000 Deferred eqgraphicsdx9
PE 1220000- 1278000 Deferred dpvs
PE 2320000- 261b000 Deferred eqmain
PE 10000000-1063b000 Deferred xul
PE 21100000-2115f000 Deferred mss32
PE 30000000-30028000 Deferred nspr4
ELF 7bf00000-7bf04000 Deferred <wine-loader>
PE 7c340000-7c396000 Deferred msvcr71
ELF 7cdce000-7dce2000 Deferred libglcore.so.1
ELF 7dce2000-7dd9c000 Deferred libgl.so.1
ELF 7dd9c000-7deaf000 Deferred wined3d<elf>
\-PE 7ddb0000-7deaf000 \ wined3d
ELF 7deaf000-7dedf000 Deferred d3d9<elf>
\-PE 7dec0000-7dedf000 \ d3d9
ELF 7dedf000-7df0e000 Deferred libcups.so.2
ELF 7df7f000-7dfb3000 Deferred uxtheme<elf>
\-PE 7df90000-7dfb3000 \ uxtheme
ELF 7dfb3000-7dfc8000 Deferred midimap<elf>
\-PE 7dfc0000-7dfc8000 \ midimap
ELF 7dfc8000-7dff0000 Deferred msacm32<elf>
\-PE 7dfd0000-7dff0000 \ msacm32
ELF 7dff0000-7dff9000 Deferred librt.so.1
ELF 7dff9000-7e0a9000 Deferred libasound.so.2
ELF 7e0a9000-7e0df000 Deferred winealsa<elf>
\-PE 7e0b0000-7e0df000 \ winealsa
ELF 7e0df000-7e0e5000 Deferred libxfixes.so.3
ELF 7e0e5000-7e0ef000 Deferred libxcursor.so.1
ELF 7e0ef000-7e0f6000 Deferred libxrandr.so.2
ELF 7e0f6000-7e0ff000 Deferred libxrender.so.1
ELF 7e0ff000-7e105000 Deferred libxxf86vm.so.1
ELF 7e105000-7e109000 Deferred libxinerama.so.1
ELF 7e109000-7e10f000 Deferred libxdmcp.so.6
ELF 7e10f000-7e113000 Deferred libxau.so.6
ELF 7e113000-7e1ff000 Deferred libx11.so.6
ELF 7e1ff000-7e20e000 Deferred libxext.so.6
ELF 7e20e000-7e226000 Deferred libice.so.6
ELF 7e226000-7e22f000 Deferred libsm.so.6
ELF 7e233000-7e24b000 Deferred msacm32<elf>
\-PE 7e240000-7e24b000 \ msacm32
ELF 7e24b000-7e2e1000 Deferred winex11<elf>
\-PE 7e260000-7e2e1000 \ winex11
ELF 7e339000-7e35a000 Deferred libexpat.so.1
ELF 7e35a000-7e384000 Deferred libfontconfig.so.1
ELF 7e384000-7e397000 Deferred libz.so.1
ELF 7e397000-7e417000 Deferred libfreetype.so.6
ELF 7e433000-7e454000 Deferred imm32<elf>
\-PE 7e440000-7e454000 \ imm32
ELF 7e454000-7e500000 Deferred comdlg32<elf>
\-PE 7e460000-7e500000 \ comdlg32
ELF 7e500000-7e536000 Deferred winspool<elf>
\-PE 7e510000-7e536000 \ winspool
ELF 7e536000-7e5f6000 Deferred comctl32<elf>
\-PE 7e540000-7e5f6000 \ comctl32
ELF 7e5f6000-7e77d000 Deferred shell32<elf>
\-PE 7e610000-7e77d000 \ shell32
ELF 7e77d000-7e7d8000 Deferred shlwapi<elf>
\-PE 7e790000-7e7d8000 \ shlwapi
ELF 7e7d8000-7e7fb000 Deferred mpr<elf>
\-PE 7e7e0000-7e7fb000 \ mpr
ELF 7e7fb000-7e84b000 Deferred wininet<elf>
\-PE 7e810000-7e84b000 \ wininet
ELF 7e84b000-7e860000 Deferred lz32<elf>
\-PE 7e850000-7e860000 \ lz32
ELF 7e860000-7e87a000 Deferred version<elf>
\-PE 7e870000-7e87a000 \ version
ELF 7e87a000-7e89b000 Deferred d3dx8<elf>
\-PE 7e880000-7e89b000 \ d3dx8
ELF 7e89b000-7e8bc000 Export d3dx9_36<elf>
\-PE 7e8a0000-7e8bc000 \ d3dx9_36
ELF 7e8bc000-7e8d6000 Deferred d3dx9_30<elf>
\-PE 7e8c0000-7e8d6000 \ d3dx9_30
ELF 7e8d6000-7e93b000 Deferred rpcrt4<elf>
\-PE 7e8e0000-7e93b000 \ rpcrt4
ELF 7e93b000-7ea42000 Deferred ole32<elf>
\-PE 7e960000-7ea42000 \ ole32
ELF 7ea42000-7ea79000 Deferred dinput<elf>
\-PE 7ea50000-7ea79000 \ dinput
ELF 7ea79000-7ea8b000 Deferred libresolv.so.2
ELF 7ea8b000-7ea8d000 Deferred libnvidia-tls.so.1
ELF 7ea8d000-7eaa7000 Deferred dinput8<elf>
\-PE 7ea90000-7eaa7000 \ dinput8
ELF 7eaa7000-7eac7000 Deferred iphlpapi<elf>
\-PE 7eab0000-7eac7000 \ iphlpapi
ELF 7eac7000-7eaf4000 Deferred ws2_32<elf>
\-PE 7ead0000-7eaf4000 \ ws2_32
ELF 7eaf4000-7eb87000 Deferred winmm<elf>
\-PE 7eb00000-7eb87000 \ winmm
ELF 7eb87000-7ebdb000 Deferred advapi32<elf>
\-PE 7eb90000-7ebdb000 \ advapi32
ELF 7ebdb000-7ec77000 Deferred gdi32<elf>
\-PE 7ebf0000-7ec77000 \ gdi32
ELF 7ec77000-7edbb000 Deferred user32<elf>
\-PE 7ec90000-7edbb000 \ user32
ELF 7edbb000-7eef2000 Export kernel32<elf>
\-PE 7ede0000-7eef2000 \ kernel32
ELF 7eef2000-7eefc000 Deferred libnss_files.so.2
ELF 7eefc000-7ef13000 Deferred libnsl.so.1
ELF 7ef13000-7ef39000 Deferred libm.so.6
ELF 7ef3a000-7ef55000 Deferred wsock32<elf>
\-PE 7ef40000-7ef55000 \ wsock32
ELF 7ef55000-7f000000 Deferred ntdll<elf>
\-PE 7ef70000-7f000000 \ ntdll
ELF f7cb5000-f7cbf000 Deferred libnss_nis.so.2
ELF f7cc1000-f7cc5000 Deferred libdl.so.2
ELF f7cc5000-f7df5000 Deferred libc.so.6
ELF f7df5000-f7e0c000 Deferred libpthread.so.0
ELF f7e20000-f7e28000 Deferred libnss_compat.so.2
ELF f7e28000-f7f63000 Deferred libwine.so.1
ELF f7f64000-f7f80000 Deferred ld-linux.so.2
Threads:
process tid prio (all id:s are in hex)
00000008 (D) C:\Program Files\Sony\EverQuest-SoF\eqgame.exe
00000017 0
00000009 0 <==
0000000c
00000013 0
00000012 0
0000000e 0
0000000d 0
0000000f
00000014 0
00000011 0
00000010 0
00000015
00000016 0
Backtrace:
=>0 0x7edfee85 RaiseException+0x77() in kernel32 (0x0032f864)
1 0x7e8b3132 in d3dx9_36 (+0x13132) (0x0032f894)
2 0x7e8ae4cc in d3dx9_36 (+0xe4cc) (0x0032f918)
3 0x00000000 (0x00000000)
wine: Call from 0x7edfee0e to unimplemented function d3dx9_36.dll.D3DXCreateTextureFromFileInMemoryEx, aborting


Looks like there is a d3dx9_36.dll file needed...

cubber
02-12-2009, 06:22 PM
I was able to get past this error and to the server select screen by using the d3dx9_30.dll file posted on the wine site.

the direct download is here: http://angeliqe.com/d3dx9_30.dll

I did not need to use this file to get titanium to work. And I have not gotten past the login yet because I need to tweak my eqclient.ini file a bit. For some reason when I alt+ enter out of full screen, i enter windowed mode but the window stays black, and I can't alt+tab back. Plus I still have the full screen mouse issue, so I really cant click on anything to progress further. You can only tab so far.

cubber
02-13-2009, 07:48 PM
By setting my windowed resolution to a size that is smaller than my desktop resolution I was able to correct the windowed mode black screen problem. I successfully made it to the login server screen ( minilogin ). When I tried to log into my server though it just went black and hung up. Probably because I did not compile the server with SoF support turned on.

I noticed in the SoF development thread he disabled SoF support by default to prevent public servers from getting hosed up by people attempting to log in with SoF clients.

cubber
02-16-2009, 08:10 PM
As of SVN Rev 333, I can log into my minilogin server with a SoF client under wine. I logged into my level 1 character in gloomingdeep and was able to run around and interact with NPC's. I even had the guy buff me and had spell effects.

Looks like she will work out fine under wine!

trevius
02-16-2009, 08:23 PM
Good to know you got it working. I am sure anyone else wanting to do this will probably find your post useful. Thanks for documenting it :)

cubber
02-17-2009, 09:23 AM
No problem, thank you for the hard work you have put into making this possible.

cubber
03-23-2009, 11:16 PM
You DO NOT need the pcaps fix for SoF, you only need to place the .dll file from here http://angeliqe.com/d3dx9_30.dll into your EverQuest directory.

However if you are still running titanium you need the pcaps fix for that, and SoF will run fine with the pcaps fix.

cubber
03-24-2009, 09:49 PM
I just moved to gnome from xfce4 and now I can play eqemu under the SOF client in fullscreen without any issues with my mouse! :D