Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UT2004 fails to launch #96

Open
madscientist159 opened this issue Dec 20, 2020 · 2 comments
Open

UT2004 fails to launch #96

madscientist159 opened this issue Dec 20, 2020 · 2 comments

Comments

@madscientist159
Copy link

madscientist159 commented Dec 20, 2020

After successfully running a number of new and old x86/amd64 Windows programs on my POWER desktop I thought I'd try a significantly more complex classic game: UT2004.

Sadly, it fails with both the x86 and amd64 versions:

game-test@rcs-game-test-demo-box:~/hangover$ /home/game-test/hangover/build/wine-host/loader/wine /home/game-test/hangover/build/qemu/x86_64-windows-user/qemu-x86_64.exe.so ~/.wine/drive_c/ut2004/System/UT2004.exe
0024:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
32 bit environment set up, Large Address Aware: NO.
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll.swprintf imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fffb158c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._osver imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fffb158c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._sopen imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fffb158c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._wsopen imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fffb158c0c8
0024:err:qemu_module:import_dll Library d3d8.dll (which is needed by L"C:\\ut2004\\System\\UT2004.exe") not found
0024:err:qemu_module:qemu_LdrInitializeThunk Main exe initialization for L"C:\\ut2004\\System\\UT2004.exe" failed, status c0000135
Process initialization failed.
game-test@rcs-game-test-demo-box:~/hangover$ /home/game-test/hangover/build/wine-host/loader/wine /home/game-test/hangover/build/qemu/x86_64-windows-user/qemu-x86_64.exe.so ~/.wine/drive_c/ut2004/System/ut2004-win64.exe
0024:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._adjust_fdiv imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll.swprintf imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._osver imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
0024:err:qemu_module:find_forwarded_export Host module L"msvcrt.dll" not loaded.
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._iob imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._wsopen imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll.??1type_info@@UAE@XZ imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll.??2@YAPAXI@Z imported from L"C:\\ut2004\\System\\dbghelp.dll", setting to 0x3fff97b1c0c8
Segmentation fault

Even UnrealEd fails:

game-test@rcs-game-test-demo-box:~/hangover$ /home/game-test/hangover/build/wine-host/loader/wine /home/game-test/hangover/build/qemu/x86_64-windows-user/qemu-x86_64.exe.so ~/.wine/drive_c/ut2004/System/UnrealEd.exe
0024:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
32 bit environment set up, Large Address Aware: NO.
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._invalid_parameter imported from L"C:\\windows\\system32\\MSVCP60.dll", setting to 0x3fff9217c0c8
0024:fixme:qemu_module:import_dll No implementation for msvcrt.dll._scprintf imported from L"C:\\windows\\system32\\MSVCP60.dll", setting to 0x3fff9217c0c8
0024:err:qemu_module:import_dll Library msvcr90.dll (which is needed by L"C:\\windows\\system32\\msvcp90.dll") not found
0024:err:qemu_module:find_forwarded_export module not found for forward 'msvcp90.?assign@?$char_traits@D@std@@SAXAADABD@Z' used by L"C:\\windows\\system32\\MSVCP60.dll"
0024:fixme:qemu_module:import_dll No implementation for MSVCP60.dll.?assign@?$char_traits@D@std@@SAXAADABD@Z imported from L"C:\\ut2004\\System\\ImpersonatorLib_rd.dll", setting to 0x3fff9217c0c8
0024:fixme:qemu_ntdll:qemu_RtlAddVectoredExceptionHandler Unverified!
0024:fixme:qemu_kernel32:qemu_GetPrivateProfileSectionW Unverified!
0024:fixme:qemu_winmm:qemu_OpenDriver Unverified!
0024:fixme:qemu_kernel32:qemu_OutputDebugStringA Unverified!
0024:fixme:seh:RtlRaiseException semi stub!
0024:fixme:seh:RtlCaptureContext not implemented
0024:err:seh:KiUserExceptionDispatcher code=40010006 flags=0 addr=0000000000000000 pc=0 tid=0024
0024:fixme:seh:call_stack_handlers not implemented on PowerPC 64
Exception triggered in host code at (nil), guest PC 2000d1a9

The small console UCC application works, but I'm not sure that says much other than something the larger applications try to do (graphics?) falls down hard.

Any thoughts on debugging? UT2004 still has a public demo version available, which crashes in an identical manner. See for example https://www.utzone.de/forum/downloads.php?do=file&id=1195

@stefand
Copy link
Collaborator

stefand commented Dec 20, 2020

There's no need to debug much:

0024:err:qemu_module:import_dll Library d3d8.dll (which is needed by L"C:\ut2004\System\UT2004.exe") not found

I deliberately did not write a wrapper for d3d8.dll because it is a good learning task for a newcomer. It is very similar to d3d9.dll, which has a wrapper.

Before you start hacking on it though please be warned that I don't see a future in the wrapper DLLs. Wine's PE/.so split is progressing very well, so I think in a few months it will be ready for me to integrate a CPU emulator into its syscall interfaces, at least as a proof of concept or staging patch. At that point 95% of the hangover code will be obsolete.

@madscientist159
Copy link
Author

@stefand I was slightly more interested in the crashes on the 64-bit version vs. the missing file on the 32-bit version, but as long as POWER support will still be present after the PE/.so split I may just wait and see what happens...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants