ThirteenAG/Ultimate-ASI-Loader

[linux] Mod loader crashes NFS:MW in Lutris

loominatrx opened this issue · 1 comments

NFS:MW crashes when trying to load scripts. When not using mod loader, it runs fine and no issues.

I only installed widescreen fix mod for the game, nothing else.

This is the crash log retrieved from Lutris:

Started initial process 17533 from gamemoderun /home/loominatrx/.local/share/lutris/runners/wine/lutris-7.2-2-x86_64/bin/wine /home/loominatrx/Games/nfsmw05/drive_c/Program Files (x86)/Need for Speed Most Wanted Black Edition/speed.exe
Start monitoring process.
gamemodeauto: 
fsync: up and running.
002c:fixme:winediag:LdrInitializeThunk Lutris Wine 7.2 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please don't report bugs about it on winehq.org and use https://github.com/lutris/wine/issues instead.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
0120:fixme:d3d:wined3d_guess_card_vendor Received unrecognized GL_VENDOR "AMD". Returning HW_VENDOR_NVIDIA.
0120:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0120:fixme:imm:ImeSetActiveContext (0xfa0030, 1): stub
0120:fixme:imm:ImmReleaseContext (0003007E, 00FA0030): stub
010c:fixme:imm:ImeSetActiveContext (0x4403d0, 0): stub
010c:fixme:imm:ImmReleaseContext (000000000002003A, 00000000004403D0): stub
ALSA lib dlmisc.c:337:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_pulse.so (/lib/alsa-lib/libasound_module_pcm_pulse.so: cannot open shared object file: No such file or directory)
ALSA lib dlmisc.c:337:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_pulse.so (/lib/alsa-lib/libasound_module_pcm_pulse.so: cannot open shared object file: No such file or directory)
012c:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts.
wine: Unhandled page fault on read access to 00000000 at address 00000000 (thread 0120), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00000000 ESP:00c7fd88 EBP:00c7fdac EFLAGS:00210206(  R- --  I   - -P- )
 EAX:00400000 EBX:00000000 ECX:00c7fd8c EDX:00000002
 ESI:0882fbc0 EDI:00000000
Stack dump:
0x00c7fd88:  007f1bc8 00400000 00000800 008c065c
0x00c7fd98:  0882fc74 00000000 00920388 00c7fdd0
0x00c7fda8:  00000000 00c7fdbc 007f18b8 00c7fdd0
0x00c7fdb8:  008f7cf0 0882fc94 0062847f 00c7fdd0
0x00c7fdc8:  0882fcc4 0882fc90 00910ee8 00000000
0x00c7fdd8:  006283d0 00000000 00000020 00000000
Backtrace:
=>0 0x00000000 (0x00c7fdac)
  1 0x007f18b8 in speed (+0x3f18b8) (0x00c7fdbc)
  2 0x0062847f in speed (+0x22847f) (0x0882fc94)
0x00000000: -- no code accessible --
Modules:
Module	Address			Debug info	Name (49 modules)
PE	00140000-0019b000	Deferred        combase
PE	00400000-00a78e4e	Export          speed
PE	011b0000-013fa000	Deferred        d3dx9_26
PE	01400000-01464000	Deferred        dsound
PE	01470000-01537000	Deferred        winmm
PE	01ca0000-01cd0000	Deferred        uxtheme
PE	02550000-025ac000	Deferred        nfsmostwanted.widescreenfix.asi
PE	10000000-102a6000	Deferred        dinput8
PE	61500000-6152f000	Deferred        iphlpapi
PE	61740000-61783000	Deferred        advapi32
PE	62b80000-62b88000	Deferred        api-ms-win-core-localization-l1-2-1
PE	62fc0000-6304d000	Deferred        rpcrt4
PE	63480000-6348c000	Deferred        version
PE	63bc0000-63bda000	Deferred        shcore
PE	64a40000-64a94000	Deferred        shlwapi
PE	64ec0000-64fee000	Deferred        oleaut32
PE	66b00000-66b3e000	Deferred        win32u
PE	67800000-67807000	Deferred        api-ms-win-core-string-l1-1-0
PE	67c80000-67f77000	Deferred        d3d9
PE	688c0000-688ea000	Deferred        netapi32
PE	68e00000-68e11000	Deferred        aclui
PE	69880000-69887000	Deferred        api-ms-win-core-fibers-l1-1-0
PE	6a040000-6a062000	Deferred        msacm32
PE	6a280000-6a32c000	Deferred        msvcrt
PE	6a400000-6a534000	Deferred        ole32
PE	6ac80000-6ac87000	Deferred        api-ms-win-core-fibers-l1-1-1
PE	6afc0000-6afd6000	Deferred        tapi32
PE	6b500000-6b507000	Deferred        api-ms-win-core-localization-obsolete-l1-2-0
PE	6bc00000-6bc2c000	Deferred        sechost
PE	6bcc0000-6bd41000	Deferred        setupapi
PE	6c9c0000-6ca46000	Deferred        gdi32
PE	6cc40000-6cd9c000	Deferred        comctl32
PE	6d300000-6d308000	Deferred        shfolder
PE	6d780000-6d7a8000	Deferred        ws2_32
PE	6de80000-6de88000	Deferred        api-ms-win-core-synch-l1-2-0
PE	6e4c0000-6e4d6000	Deferred        dnsapi
PE	6ed00000-6ef40000	Deferred        user32
PE	6f480000-6f48b000	Deferred        nsi
PE	6fa80000-6fafa000	Deferred        dbghelp
PE	6ff80000-6ff87000	Deferred        api-ms-win-core-datetime-l1-1-1
PE	70b40000-70c18000	Deferred        ucrtbase
PE	71200000-7121c000	Deferred        imm32
PE	7a840000-7a844000	Deferred        opengl32
PE	7b000000-7b0ec000	Deferred        kernelbase
PE	7b600000-7b81e000	Deferred        kernel32
PE	7bc00000-7bcab000	Deferred        ntdll
PE	7e250000-7e254000	Deferred        winex11
PE	7e700000-7e704000	Deferred        wined3d
PE	ea770000-ea773000	Deferred        winealsa
Threads:
process  tid      prio (all id:s are in hex)
00000020 start.exe
	["C:\windows\syswow64\start.exe" /exec "/home/loominatrx/Games/nfsmw05/drive_c/Program Files (x86)/Need for Speed Most Wanted Black Edition/speed.exe"]
	00000024    0
00000038 services.exe
	0000003c    0
	00000040    0
	0000004c    0
	0000005c    0
	00000070    0
	0000007c    0
	0000009c    0
	000000b4    0
	000000e0    0
00000044 winedevice.exe
	00000048    0
	00000054    0
	00000058    0
	00000060    0
	00000064    0
	000000c0    0
00000068 winedevice.exe
	0000006c    0
	00000074    0
	00000078    0
	00000080    0
	00000084    0
	00000088    0
00000094 plugplay.exe
	00000098    0
	000000a0    0
	000000a4    0
	000000a8    0
000000ac svchost.exe
	000000b0    0
	000000b8    0
	000000bc    0
000000c4 tabtip.exe
	000000c8    0
	00000100    0
	00000104    0
000000d8 rpcss.exe
	000000dc    0
	000000e8    0
	000000ec    0
	000000f0    0
	000000f4    0
	00000118    0
00000108 explorer.exe
	0000010c    0
	00000110    0
	00000114    0
0000011c (D) C:\Program Files (x86)\Need for Speed Most Wanted Black Edition\speed.exe
	["C:\Program Files (x86)\Need for Speed Most Wanted Black Edition\speed.exe" ]
	00000120    0 <==
	00000124    2
	00000128    1
	0000012c    0
	00000130    0
	00000138   15
	0000013c   15
	00000140    1
	0000014c    0
System information:
    Wine build: wine-7.2-1-g1f8837bdccd (Staging)
    Platform: i386 (WOW64)
    Version: Windows 10
    Host system: Linux
    Host version: 5.19.12-201.fsync.fc36.x86_64
Initial process has exited (return code: 1280)

My runner settings (using Lutris wine 7.2):
Screenshot_2022-10-02_20-05-23
Screenshot_2022-10-02_20-04-26
(I have to set dinput8 to native to able to load the modloader, otherwise it won't load the modloader)

Am I missing something?

I think I've found the fix, here's how I did it:

  • First, I downloaded DirectX 9 from Microsoft's website (yeah, I'm serious lol), and then extract it using your favorite archive manager (since the executable itself is archive file xd) to a empty folder.
  • After that, run the installer (DXSETUP.exe) you just extracted inside your wineprefix
    Screenshot_2022-10-04_15-02-28
    and just follow the installation instruction.
  • After installing DX9, you need to open your Wine configuration to add some DLL overrides (DO NOT use Lutris' DLL override feature because it doesn't seem to work well and tend to crash the game).
    Screenshot_2022-10-04_15-02-55
  • From there, select 'Libraries' section, and add these following DLLs to the list with exact same load order:
    Screenshot_2022-10-04_15-03-25-hl
    (you can ignore dsound if you don't care about audio delays.)
  • Lastly, fire up the game, and enjoy playing with mods!

Notes (especially for potato users):

  • If you feel like your game's FPS is rather low, try switching your DXVK version to older version than you're currently using.
  • After you switch your DXVK version, you may need to reboot your host, because the game runs at lower framerate if you're playing the game immediately after making changes to your config.
  • If you're experiencing a huge lagspike, try disabling DXVK and VK3D. It's running stable, but your frame rate will be low and will drop even lower at certain location. It's better than nothing, y'know. :)