PDA

View Full Version : Mac Catalina, Wine (wineskin, crossover, playonmac), DSETUP.DLL Issue


freezzo
11-10-2020, 09:20 PM
I recently got a new macbook that has catalina installed. I understand that 32bit application support has been removed from it, however I have tried the following:

PlayOnMac
CrossOver
Wineskin (https://github.com/Gcenx/WineskinServer)

They all seem to use wine32on64, and when I do a fresh installation of EverQuest Titanium, they will load up and I can make it to the char select screens. However, once I copy over the newest P99 file, specifically DSETUP.DLL, wine no longer loads EQ. Replace it with the original, and all is good.

I have tried to debug any error messages its throwing upon loading, but nothing gets spit out. I think I am really close to getting EQ/P99 to work on Catalina (not that I really did that much), but curious if anyone can help debug this with me, or if there is some way to create a patched/updated DSETUP.DLL to work. Maybe it has to be compiled to support 64bit? I am not sure. Any feedback or help would be appreciated. Thanks.

freezzo
11-11-2020, 11:11 AM
Here is some more output that I notice in the debugging when using the P99 dsetup.dll file. Specifically the caused page fault during read



005f:trace:seh:raise_exception code=c000008e flags=0 addr=0x7bc72002 ip=7bc72002 tid=005f
005f:trace:seh:raise_exception eax=0033e760 ebx=0033e760 ecx=7bca9050 edx=0033e750 esi=0033e750 edi=100b7000
005f:trace:seh:raise_exception ebp=0033e790 esp=0033e754 cs=331007 ds=ffff100f es=7bca100f fs=1017 gs=7bca0000 flags=00000216
005f:trace:seh:call_vectored_handlers calling handler at 0x101308b3 code=c000008e flags=0
005f:trace:seh:call_vectored_handlers handler at 0x101308b3 returned ffffffff
005f:trace:seh:NtContinue (0x33e47c, 0) stub!
005f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7bca8ca5 ip=7bca8ca5 tid=005f
005f:trace:seh:raise_exception info[0]=00000000
005f:trace:seh:raise_exception info[1]=7ffbe000
005f:trace:seh:raise_exception eax=00001000 ebx=00000001 ecx=0033e6f0 edx=0033e6f0 esi=00000004 edi=0033de30
005f:trace:seh:raise_exception ebp=0033e840 esp=0033de20 cs=1007 ds=100f es=100f fs=1017 gs=0000 flags=00010246
005f:trace:seh:raise_exception underlying 64-bit state:
005f:trace:seh:raise_exception rip=000000007b4a4f7f
005f:trace:seh:raise_exception rax=0000000000001000 rbx=0000000000000001 rcx=000000000033e6f0 rdx=000000000033e6f0
005f:trace:seh:raise_exception rsi=0000000000000004 rdi=000000007ffbe000 rbp=000000000033e840 rsp=000000000033e6a0
005f:trace:seh:raise_exception r8=0000000000000011 r9=000000000017e438 r10=000000000017e420 r11=0000000000110000
005f:trace:seh:raise_exception r12=0000000000000000 r13=0000000000000004 r14=00000000ffffffff r15=0000000000000000
005f:trace:seh:call_stack_handlers calling handler at 0x7b4af710 code=c0000005 flags=0
005f:trace:seh:__regs_RtlUnwind code=c0000005 flags=2
005f:trace:seh:__regs_RtlUnwind eax=00000000 ebx=0033dad0 ecx=7b4af370 edx=7b4af370 esi=0033dac0 edi=0033e5cc
005f:trace:seh:__regs_RtlUnwind ebp=0033dab8 esp=0033dab0 eip=7b4af386 cs=1007 ds=100f fs=1017 gs=0000 flags=00000202
005f:trace:seh:__regs_RtlUnwind calling handler at 0x7bcae9d0 code=c0000005 flags=2
005f:trace:seh:__regs_RtlUnwind handler at 0x7bcae9d0 returned 1
005f:trace:seh:IsBadReadPtr 0x7ffbe000 caused page fault during read
005f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1032a9bb ip=1032a9bb tid=005f
005f:trace:seh:raise_exception info[0]=00000001
005f:trace:seh:raise_exception info[1]=fffffffc
005f:trace:seh:raise_exception eax=1020583e ebx=1020586d ecx=fffffffc edx=10205861 esi=390a003a edi=00000000
005f:trace:seh:raise_exception ebp=1020583e esp=0033e858 cs=1007 ds=100f es=100f fs=1017 gs=0000 flags=00010202

freezzo
11-11-2020, 11:25 AM
Here is exiftool output for the default installed dsetup.dll

ExifTool Version Number : 12.09
File Name : dsetup.win.dll
Directory : EverQuest
File Size : 59 kB
File Modification Date/Time : 2005:10:17 12:35:02-04:00
File Access Date/Time : 2020:11:11 10:09:04-05:00
File Creation Date/Time : 2005:10:17 12:35:02-04:00
File Permissions : rw-rw-rw-
File Type : Win32 DLL
File Type Extension : dll
MIME Type : application/octet-stream
Machine Type : Intel 386 or later, and compatibles
Time Stamp : 2002:12:11 04:58:30-05:00
Image File Characteristics : Executable, No line numbers, No symbols, 32-bit, DLL
PE Type : PE32
Linker Version : 7.0
Code Size : 50688
Initialized Data Size : 15360
Uninitialized Data Size : 0
Entry Point : 0x6892
OS Version : 5.1
Image Version : 5.1
Subsystem Version : 4.0
Subsystem : Windows GUI
File Version Number : 4.9.0.900
Product Version Number : 4.9.0.900
File Flags Mask : 0x30003f
File Flags : (none)
File OS : Windows 16-bit
Object File Type : Driver
File Subtype : 8
Language Code : English (U.S.)
Character Set : Windows, Latin1
Company Name : Microsoft Corporation
File Description : Direct driver preloader
File Version : 4.09.00.0900
Internal Name : dsetup.dll
Legal Copyright : Copyright © Microsoft Corp. 1994-2002
Original File Name : dsetup.dll
Product Name : Microsoft® DirectX for Windows®
Product Version : 4.09.00.0900


And here is the P99 provided one


ExifTool Version Number : 12.09
File Name : dsetup.dll
Directory : EverQuest
File Size : 3.8 MB
File Modification Date/Time : 2019:10:25 03:14:00-04:00
File Access Date/Time : 2020:11:11 10:13:06-05:00
File Creation Date/Time : 2019:10:25 03:14:00-04:00
File Permissions : rw-rw-rw-
File Type : Win32 DLL
File Type Extension : dll
MIME Type : application/octet-stream
Machine Type : Intel 386 or later, and compatibles
Time Stamp : 2019:10:25 04:13:06-04:00
Image File Characteristics : Executable, 32-bit, DLL
PE Type : PE32
Linker Version : 14.11
Code Size : 539648
Initialized Data Size : 183808
Uninitialized Data Size : 0
Entry Point : 0xa1a000
OS Version : 6.0
Image Version : 0.0
Subsystem Version : 6.0
Subsystem : Windows GUI
File Version Number : 3.49.0.0
Product Version Number : 3.49.0.0
File Flags Mask : 0x003f
File Flags : (none)
File OS : Windows NT 32-bit
Object File Type : Dynamic link library
File Subtype : 0
Language Code : English (U.S.)
Character Set : Unicode
Company Name : Project 1999
File Description : Project 1999 Game Server DLL
File Version : 3.49b.0.0
Internal Name : dsetup.dll
Legal Copyright : Copyright (C) 2019
Original File Name : dsetup.dll
Product Name : P1999DLL
Product Version : 3.49b.0.0

freezzo
11-11-2020, 11:42 AM
A DLL viewer is showing the following functions exported in the installer provided version (I should also note I don't exactly knowing what I am doing, but just trying to get some information that might point to something)

Headers are Function Name, Address, Relative Address, Ordinal, Filename, Type


DirectXDeviceDriverSetupA 0x0040531f 0x0000531f 1 (0x1) dsetup.win.dll Exported Function
DirectXDeviceDriverSetupW 0x004053bb 0x000053bb 2 (0x2) dsetup.win.dll Exported Function
DirectXLoadString 0x00404c1e 0x00004c1e 14 (0xe) dsetup.win.dll Exported Function
DirectXRegisterApplicationA 0x00405a4f 0x00005a4f 3 (0x3) dsetup.win.dll Exported Function
DirectXRegisterApplicationW 0x00405e12 0x00005e12 4 (0x4) dsetup.win.dll Exported Function
DirectXSetupA 0x004050f0 0x000050f0 5 (0x5) dsetup.win.dll Exported Function
DirectXSetupCallback 0x00404e00 0x00004e00 12 (0xc) dsetup.win.dll Exported Function
DirectXSetupGetEULAA 0x00404c72 0x00004c72 17 (0x11) dsetup.win.dll Exported Function
DirectXSetupGetEULAW 0x00404c9c 0x00004c9c 18 (0x12) dsetup.win.dll Exported Function
DirectXSetupGetFileVersion 0x00404f25 0x00004f25 13 (0xd) dsetup.win.dll Exported Function
DirectXSetupGetVersion 0x00404924 0x00004924 11 (0xb) dsetup.win.dll Exported Function
DirectXSetupIsEng 0x004057fd 0x000057fd 15 (0xf) dsetup.win.dll Exported Function
DirectXSetupIsJapan 0x004057d3 0x000057d3 6 (0x6) dsetup.win.dll Exported Function
DirectXSetupIsJapanNec 0x00406206 0x00006206 7 (0x7) dsetup.win.dll Exported Function
DirectXSetupSetCallback 0x004050d1 0x000050d1 10 (0xa) dsetup.win.dll Exported Function
DirectXSetupShowEULA 0x00404c48 0x00004c48 16 (0x10) dsetup.win.dll Exported Function
DirectXSetupW 0x00405203 0x00005203 8 (0x8) dsetup.win.dll Exported Function
DirectXUnRegisterApplication 0x0040551a 0x0000551a 9 (0x9) dsetup.win.dll Exported Function


The only thing exported from the P99 provided file:


Extern11 0x1000b810 0x0000b810 11 (0xb) dsetup.dll Exported Function

freezzo
11-12-2020, 04:37 PM
Tried the DSETUP.DLL from P99Files45 that I happened to have and it got past the dsetup.dll file loading issue, but shows and issue with not being able to open oreans.vxd driver.

freezzo
11-13-2020, 02:20 PM
Would it be possible to rebuild the DSETUP.DLL file so that it can be loaded into any location in memory, if it isn't?

Eldini
11-13-2020, 09:09 PM
Given how effective the anti-cheat on P99 is (PRAS ROGANE) I think it's plausible that this is because their anti-cheat doesn't work on Catalina or Big Sur right now. Still, I want to play on my Mac without using Bootcamp...

A guildie had it working but it's broken as of recent updates. I updated to Big Sur today. Was messing with "CrossOver" but couldn't get it running; bootcamp runs amazing but at that point why am I using my mac?

let me know if you get it working! also a comment from staff would be so amazing. Love the project thanks again for your hard work.

freezzo
11-13-2020, 11:11 PM
I agree. I tried parallels, but the mouse issues make it uncomfortable. I have a mac and don't really want to dual boot. I had it working on High Sierra fine. I assume the same issues are true on Big Sur. It would be interesting to see a full debug from wine if possible? `WINEDEBUG=all` around the part where it loads the DSETUP.dll and see if its the same issue.

I will continue trying to see if I can do anything, but at this point, I'm to the point where I think DSETUP.dll has to get compiled differently? to support work properly in this case, and I don't know if there is much incentive for them to do that?

Staff reply would be amazing, and I am willing to help however I can. Thanks

Eldini
11-14-2020, 01:05 PM
Try to file a petition yet? not sure what amount of technical support we can expect for a emulated server like this run by volunteers.. I am just grateful it exists.

This is an old game and they can't touch the client. Also the person who made the DLL isn't affiliated with P99 AFAIK, but he's around.

We don't know the metrics of what OS'es people use but I am willing to bet it's mostly Windows! Probably some linux too given that EQ has nerdy fans. rogan pls, metrics? graphs? open source some datasets and have the public make them for you?

I think accessibility is overall very important to a server and community like this; it can be its greatest asset.
You can be in-game in less than 2 minutes (make account on website, DL already set up thin-client approx 1gb total) and boom - you are in Brad's world now...

No payment barriers, no bullshit - the biggest barrier is the technical issues in running it and setting it up properly for performance.
The game could run on your smartphone, no doubt. People are already playing P99 on Chromebooks and this can be done on a phone as well.

For now I'll settle for getting it on my Mac... :3

Izmael
11-14-2020, 01:50 PM
DSETUP.DLL is packed with anti-hax0r software called Themida. It's likely to create issues with running it under unintended conditions such as in Wine, moreover under MacOS.

First of all, I'd recommend trying the latest Wine builds, stable and dev.

If this doesn't work, try some kind of virtualization software for Mac, hoping your Mac is powerful enough that it will not kill P99 performance.

If all fails, honestly I'd just get a $300 Windows laptop that will run P99 just fine.

xaix1999
11-14-2020, 11:49 PM
i get that you are using crossover and wineskin gui but can you run winecfg and also wine64?

freezzo
11-16-2020, 10:22 AM
I uncovered a little more info. It appears the DSETUP.dll file is actually loading, but perhaps having an issue when it gets to load some graphics libraries. If I use the installed DLL, I can see the same exception raised, but then it goes on to load opengl/d3d stuff (because of wine) however when I use the P99 provided one, it never debug outputs those opengl/d3d libraries.

spiz
11-16-2020, 11:36 AM
I uncovered a little more info...

I would love a Catalina solution, as well. Thanks for your efforts, Frezzo. I will be watching this thread.

freezzo
11-16-2020, 04:59 PM
I have petitioned the P99 team to see if we can get some assistance from them. I assume as Catalina/Big Sur becomes a larger percentage of installed Mac OSes, this will become more of an issue.

freezzo
11-16-2020, 05:07 PM
i get that you are using crossover and wineskin gui but can you run winecfg and also wine64?

I have tried doing everything from command line as well directly. Wine64 doesn't not work because Catalina will complain about 32bit applications cannot run in 64 bit mode:

is a 32-bit installation, it cannot support 64-bit applications.

BiG SiP
11-16-2020, 05:12 PM
parallels or bootcamp

freezzo
11-16-2020, 05:33 PM
I've tried parallels, and I cant. Its mouse functions just don't work the way I would like that to. I have reached out to them as well to try to figure that out. Bootcamp could be an option if needed, but I'd like to try to resolve this if possible.

Zoolander
11-16-2020, 06:49 PM
buy an ssd external drive and install a bootcamp.

that's what I did after 2 days trying to get p99 working on imac.

BiG SiP
11-17-2020, 07:16 PM
I've tried parallels, and I cant. Its mouse functions just don't work the way I would like that to. I have reached out to them as well to try to figure that out. Bootcamp could be an option if needed, but I'd like to try to resolve this if possible.

mouse behaves better via parallels window
no mouse issues via bootcamp

freezzo
11-18-2020, 11:12 AM
I found out how to fix my mouse issues I believe in parallels 16. Using this setting in the Boot Order => Flags box helped:

device.usb.enable_mouse = 0

I also have it set for "Auto detect for games"

Now to figure out the gamma issues.

xaix1999
11-20-2020, 07:35 PM
there is also https://www.playonmac.com/en/ which is wine

gcenx
11-20-2020, 09:19 PM
there is also https://www.playonmac.com/en/ which is wine

PlayOnMac also won't run Project1999 on macOS Catalina/Big Sur as that uses WineCX19.0.0 (Crossover-19.0.0 wine source)

I've reached out to CodeWeavers about this issue but I don't force this being resolved anytime soon (if they even can/will)

This does function on macOS Mojave and below regardless of wine version I'd tested

xaix1999
11-23-2020, 12:01 AM
https://wiki.winehq.org/MacOS/Building

i would also suggest, install linux and get away from a OS that wont allow you to run any program that you are allowed to run

https://sneak.berlin/20201112/your-computer-isnt-yours/

Naxy
11-29-2020, 05:20 PM
People are already playing P99 on Chromebooks and this can be done on a phone as well.

Chromebook, really?

gcenx
11-29-2020, 06:13 PM
https://wiki.winehq.org/MacOS/Building

i would also suggest, install linux and get away from a OS that wont allow you to run any program that you are allowed to run

https://sneak.berlin/20201112/your-computer-isnt-yours/

macOS Catalina and later can’t run Winehq packages, your quoting a Winehq wiki section I’m responsible for.

As for the link that’s about macOS Big Sur, trustd contacts Apple when you attempt to run any application that’s not code-signed & notarized or isn’t Stapled (attached a cert from Apple that says it’s safe)

As your saying to install Linux are you willing to give any user support when something inevitably doesn’t work or the users system breaks?

Chromebook, really?

If it’s a x86 Chromebook I don’t see why not, install CrossOver or wine into Linux via crouton.

xaix1999
11-30-2020, 02:10 AM
yes

https://www.project1999.com/forums/showthread.php?t=192462