ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.62k stars 1.07k forks source link

Tales of Zestiria (351970) #420

Open 3kinox opened 6 years ago

3kinox commented 6 years ago

With a win64 prefix and WOW64, which is what is used by proton by default, Tales of Zestiria give a blackscreen and hang (no interesting log yet), and Devil May Cry 4 crashes when trying to use dx10. Both are win32 executable (e.g i386, not x64). For DMC4 the log is interesting: Unhandled exception: unimplemented function d3d11.dll.D3D11CoreCreateDevice called in 32-bit code (0x7bc541f1). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7bc541f1 ESP:0033d268 EBP:0033d2cc EFLAGS:00000212( - -- I -A- - ) EAX:7e1751fa EBX:7bce0ff4 ECX:0033d35c EDX:00000000 ESI:0033d274 EDI:00211390 Stack dump: 0x0033d268: 0033d2d8 7bc5208a 7bc541ba 80000100 0x0033d278: 00000001 00000000 7bc541f1 00000002 0x0033d288: 7e17522c 7e1751fa f7f0eff4 00000003 0x0033d298: 0033d2c8 f7d71250 7e175604 0128c030 0x0033d2a8: 0112efe1 16c31e34 0033d2dc 00000001 0x0033d2b8: f7d7123b 7e174ff4 001f9970 7e174ff4 Backtrace: =>0 0x7bc541f1 stub_entry_point+0x51(dll="d3d11.dll", name="D3D11CoreCreateDevice", ret_addr=0x7e17173f) [/home/proton/proton/wine/dlls/ntdll/loader.c:222] in ntdll (0x0033d2cc) 1 0x0034000f (0x0033d338) 2 0x7e1892d5 D3D10CreateDevice+0x104(adapter=<couldn't compute location>, driver_type=<couldn't compute location>, swrast=<couldn't compute location>, flags=<couldn't compute location>, sdk_version=<couldn't compute location>, device=<couldn't compute location>) [/home/proton/proton/wine/dlls/d3d10/d3d10_main.c:126] in d3d10 (0x0033d3a8) 3 0x008ee400 in devilmaycry4_dx10 (+0x4ee3ff) (0x7e180000) 4 0x00000003 (0x00905a4d) 0x7bc541f1 stub_entry_point+0x51 [/home/proton/proton/wine/dlls/ntdll/loader.c:222] in ntdll: addl $12,%esp Unable to access file '/home/proton/proton/wine/dlls/ntdll/loader.c' Modules: Module Address Debug info Name (136 modules) PE 400000- f42000 Export devilmaycry4_dx10 PE f50000- 12d1000 Deferred dxgitrace PE 10000000-10007000 Deferred d3d11 PE 16f70000-16fe9000 Deferred openvr_api_dxvk PE 6f400000-6f596000 Deferred dxgi ELF 72a43000-736f0000 Deferred libnvidia-glvkspirv.so.396.51 ELF 736f0000-75442000 Deferred libnvidia-glcore.so.396.51 ELF 75442000-7907a000 Deferred libllvm-6.0.so ELF 79e8a000-7b400000 Deferred steamclient.so ELF 7b400000-7b7ea000 Deferred kernel32 -PE 7b410000-7b7ea000 \ kernel32 ELF 7bc00000-7bd0f000 Dwarf ntdll -PE 7bc10000-7bd0f000 \ ntdll ELF 7c000000-7c004000 Deferred ELF 7c961000-7ce44000 Deferred libvulkan_intel.so ELF 7cfd5000-7d0ef000 Deferred libglx_nvidia.so.0 ELF 7d0ef000-7d116000 Deferred libtinfo.so.6 ELF 7d116000-7d14d000 Deferred libedit.so.0 ELF 7d176000-7d375000 Deferred libvulkan_radeon.so ELF 7d375000-7d37e000 Deferred libffi.so.6 ELF 7d3f3000-7d40a000 Deferred steamoverlayvulkanlayer.so ELF 7d40a000-7d40f000 Deferred libnvidia-tls.so.396.51 ELF 7d40f000-7d41c000 Deferred libdrm_amdgpu.so.1 ELF 7d41c000-7d438000 Deferred libelf.so.1 ELF 7d438000-7d446000 Deferred libwayland-client.so.0 ELF 7d446000-7d449000 Deferred libxshmfence.so.1 ELF 7d449000-7d451000 Deferred libxcb-sync.so.1 ELF 7d451000-7d45a000 Deferred libxcb-xfixes.so.0 ELF 7d45a000-7d460000 Deferred libxcb-dri3.so.0 ELF 7d460000-7d474000 Deferred libdrm.so.2 ELF 7d474000-7d52c000 Deferred msvcrt -PE 7d490000-7d52c000 \ msvcrt ELF 7d52c000-7d57a000 Deferred libvulkan.so.1 ELF 7d57a000-7d5b9000 Deferred winevulkan -PE 7d580000-7d5b9000 \ winevulkan ELF 7d5b9000-7d5d1000 Deferred vulkan-1 -PE 7d5c0000-7d5d1000 \ vulkan-1 ELF 7d5d1000-7d5e5000 Deferred api-ms-win-core-localization-obsolete-l1-2-0 -PE 7d5e0000-7d5e5000 \ api-ms-win-core-localization-obsolete-l1-2-0 ELF 7d5e5000-7d5f9000 Deferred api-ms-win-core-datetime-l1-1-1 -PE 7d5f0000-7d5f9000 \ api-ms-win-core-datetime-l1-1-1 ELF 7d5f9000-7d60d000 Deferred api-ms-win-core-string-l1-1-0 -PE 7d600000-7d60d000 \ api-ms-win-core-string-l1-1-0 ELF 7d60d000-7d81d000 Deferred lsteamclient -PE 7d6d0000-7d81d000 \ lsteamclient ELF 7d81e000-7d822000 Deferred libxcb-present.so.0 ELF 7d822000-7d825000 Deferred libx11-xcb.so.1 ELF 7d825000-7d851000 Deferred libpng12.so.0 ELF 7d897000-7d8ce000 Deferred uxtheme -PE 7d8a0000-7d8ce000 \ uxtheme ELF 7d8d0000-7d8d7000 Deferred libxfixes.so.3 ELF 7d8d7000-7d8e3000 Deferred libxcursor.so.1 ELF 7d8e3000-7d8ef000 Deferred libxrender.so.1 ELF 7d8ef000-7d903000 Deferred libxi.so.6 ELF 7d903000-7d907000 Deferred libxcomposite.so.1 ELF 7d907000-7d90e000 Deferred libxxf86vm.so.1 ELF 7d90e000-7d912000 Deferred libxinerama.so.1 ELF 7d912000-7d9a4000 Deferred winex11 -PE 7d920000-7d9a4000 \ winex11 ELF 7d9a4000-7d9b8000 Deferred api-ms-win-core-localization-l1-2-1 -PE 7d9b0000-7d9b8000 \ api-ms-win-core-localization-l1-2-1 ELF 7d9b8000-7d9cc000 Deferred api-ms-win-core-fibers-l1-1-1 -PE 7d9c0000-7d9cc000 \ api-ms-win-core-fibers-l1-1-1 ELF 7d9cc000-7d9e0000 Deferred api-ms-win-core-synch-l1-2-0 -PE 7d9d0000-7d9e0000 \ api-ms-win-core-synch-l1-2-0 ELF 7db7f000-7db88000 Deferred libuuid.so.1 ELF 7db88000-7dbc3000 Deferred libexpat.so.1 ELF 7dbc3000-7dc0d000 Deferred libfontconfig.so.1 ELF 7dc0d000-7dc26000 Deferred libz.so.1 ELF 7dc26000-7dc62000 Deferred libpng16.so.16 ELF 7dc62000-7dc74000 Deferred libbz2.so.1 ELF 7dc74000-7dd33000 Deferred libfreetype.so.6 ELF 7dd33000-7de63000 Deferred oleaut32 -PE 7dd50000-7de63000 \ oleaut32 ELF 7de63000-7de87000 Deferred imm32 -PE 7de70000-7de87000 \ imm32 ELF 7de87000-7decc000 Deferred usp10 -PE 7de90000-7decc000 \ usp10 ELF 7decc000-7e002000 Deferred comctl32 -PE 7ded0000-7e002000 \ comctl32 ELF 7e002000-7e02d000 Deferred msvfw32 -PE 7e010000-7e02d000 \ msvfw32 ELF 7e02d000-7e07b000 Deferred avifil32 -PE 7e030000-7e07b000 \ avifil32 ELF 7e07b000-7e0c6000 Deferred dsound -PE 7e080000-7e0c6000 \ dsound ELF 7e0c6000-7e0ec000 Deferred wmvcore -PE 7e0d0000-7e0ec000 \ wmvcore ELF 7e0ec000-7e160000 Deferred d3dcompiler_43 -PE 7e100000-7e160000 \ d3dcompiler_43 ELF 7e160000-7e176000 Deferred d3d10core -PE 7e170000-7e176000 \ d3d10core ELF 7e176000-7e1b5000 Dwarf d3d10 -PE 7e180000-7e1b5000 \ d3d10 ELF 7e1b5000-7e1cc000 Deferred xinput1_3 -PE 7e1c0000-7e1cc000 \ xinput1_3 ELF 7e1cc000-7e1e8000 Deferred dinput8 -PE 7e1d0000-7e1e8000 \ dinput8 ELF 7e1e8000-7e213000 Deferred msacm32 -PE 7e1f0000-7e213000 \ msacm32 ELF 7e213000-7e293000 Deferred rpcrt4 -PE 7e220000-7e293000 \ rpcrt4 ELF 7e293000-7e3ea000 Deferred ole32 -PE 7e2b0000-7e3ea000 \ ole32 ELF 7e3ea000-7e4a2000 Deferred winmm -PE 7e3f0000-7e4a2000 \ winmm ELF 7e4a2000-7e517000 Deferred shlwapi -PE 7e4b0000-7e517000 \ shlwapi ELF 7e517000-7e7b7000 Deferred shell32 -PE 7e530000-7e7b7000 \ shell32 ELF 7e7b7000-7e7d1000 Deferred version -PE 7e7c0000-7e7d1000 \ version ELF 7e7d1000-7e849000 Deferred advapi32 -PE 7e7e0000-7e849000 \ advapi32 ELF 7e849000-7e976000 Deferred gdi32 -PE 7e860000-7e976000 \ gdi32 ELF 7e976000-7eb74000 Deferred user32 -PE 7e990000-7eb74000 \ user32 ELF 7efec000-7f000000 Deferred libnss_files.so.2 ELF f7665000-f766a000 Deferred libxau.so.6 ELF f766c000-f7699000 Deferred libxcb.so.1 ELF f7699000-f76b7000 Deferred libgcc_s.so.1 ELF f76b7000-f7718000 Deferred libgldispatch.so.0 ELF f7718000-f772e000 Deferred libxext.so.6 ELF f772e000-f787f000 Deferred libx11.so.6 ELF f787f000-f78a2000 Deferred libglx.so.0 ELF f78a2000-f79a4000 Deferred libm.so.6 ELF f7b34000-f7b39000 Deferred libdl.so.2 ELF f7b39000-f7b43000 Deferred librt.so.1 ELF f7b45000-f7ba9000 Deferred libgl.so.1 ELF f7ba9000-f7d4d000 Deferred libc.so.6 ELF f7d4d000-f7d6c000 Deferred libpthread.so.0 ELF f7d6c000-f7f23000 Dwarf libwine.so.1 ELF f7f23000-f7f5f000 Deferred gameoverlayrenderer.so ELF f7f61000-f7f8a000 Deferred ld-linux.so.2 ELF f7f8d000-f7f8f000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 0000000c services.exe 00000027 0 00000021 0 0000001c 0 00000016 0 00000013 0 00000012 0 00000011 0 0000000e 0 0000000d 0 0000000f winedevice.exe 00000019 0 00000018 0 00000017 0 00000015 0 00000014 0 00000010 0 0000001a plugplay.exe 0000001e 0 0000001d 0 0000001b 0 0000001f winedevice.exe 00000029 0 00000028 0 00000026 0 00000025 0 00000024 0 00000023 0 00000022 0 00000020 0 0000002a (D) Z:\home\antoine.local\share\Steam\steamapps\common\Devil May Cry 4\DevilMayCry4_DX10.exe 00000034 0 00000033 0 00000032 0 00000031 0 0000002b 0 <== 0000002c explorer.exe 00000030 0 0000002f 0 0000002e 0 0000002d 0 System information: Wine build: wine-3.7 Platform: i386 (WOW64) Version: Windows 7 Host system: Linux Host version: 4.17.14-202.fc28.x86_64

The interesting part is that the function it sees as unimplemented IS implemented, and everything works well in a win32 prefix (well at least concerning librairy loading, booting, and so on). What it essentially seems to be is that the executable tries to fetch a 64 bit library or that the 32 bit lib is unreachable with WOW64. I tried looking into it but can't find anything (don't know wine code enough to really know where to start), it happens in plain wine/wine-staging too.

3kinox commented 6 years ago

Problems actually seem not to be related. And I managed to make both games run on a clean wine-staging prefix with WOW64.

tom-sn commented 5 years ago

Same thing happen, black screen with moving cursor, without using any tweaks on 4.2-4. Since there are no proper log, here is the log for this game.

steam-351970.log

Maybe also relevant to the issue. #2613 warn:module:load_builtin_dll cannot open .so lib for builtin L"Steam2.dll": /home/tommy/.local/share/Steam/steamapps/common/Proton 4.2/dist/lib/wine/steam2.dll.so: cannot open shared object file: No such file or directory

kust2708 commented 4 years ago

Still doesn't work with Proton 5.0-1 Log : steam-351970.log

kust2708 commented 4 years ago

Tales of Zestiria works now with Proton 5.0-5. Thanks !

DistantThunder commented 4 years ago

Tried on a clean install with Proton 5.0-5 and it still crashes upon playing the opening movie:

Unhandled exception: page fault on write access to 0xbd6880e0 in 32-bit code (0x00c14d51).
162583.823:0062:0063:fixme:dbghelp:elf_search_auxv can't find symbol in module
162583.823:0062:0063:err:dbghelp_msc:codeview_process_info Unknown CODEVIEW signature 007f6630 in module L"tales of zestiria"
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00c14d51 ESP:3ec7f8ac EBP:00017700 EFLAGS:00010202(  R- --  I   - - - )
 EAX:feb4d3e8 EBX:00000002 ECX:00000000 EDX:bd6880e0
 ESI:00000000 EDI:3ec7f9ec
Stack dump:
0x3ec7f8ac:  0212ffb0 3d7ccd00 bd6880e0 00000001
0x3ec7f8bc:  00000002 00000000 00000002 3ec7fc30
0x3ec7f8cc:  bd6880e0 00000000 000003c0 00000000
0x3ec7f8dc:  3b6536d7 00000000 00000000 00000000
0x3ec7f8ec:  00000000 00000000 00000000 3b6536d7
0x3ec7f8fc:  00000000 01580129 00d80140 ffe4005d
Backtrace:
=>0 0x00c14d51 EntryPoint+0xffffffff() in tales of zestiria (0x00017700)
0x00c14d51 EntryPoint+0xffffffff in tales of zestiria: repe ??? 
Modules:
Module  Address                 Debug info      Name (154 modules)
PE        400000- 33f7000       Export          tales of zestiria
PE       3400000- 35ff000       Deferred        d3dx9_43
PE       3eb0000- 3fed000       Deferred        steam
PE       4210000- 428a000       Deferred        openvr_api_dxvk
PE       4290000- 4293000       Deferred        api-ms-win-core-localization-l1-2-1
PE      10000000-1006a000       Deferred        bink2w32
PE      3b400000-3b431000       Deferred        steam_api
PE      62340000-62344000       Deferred        uxtheme
PE      62440000-626fb000       Deferred        d3d9
PE      62800000-62803000       Deferred        usp10
PE      639c0000-63a3d000       Deferred        winmm
PE      64b40000-64b43000       Deferred        shcore
PE      64d80000-64d84000       Deferred        hid
[...]
unit73e commented 4 years ago

@DistantThunder works with Proton-GE. Note that it's not an official Valve build.

EDIT: for some videos to work with Proton-GE you need to install gstreamer plugins. The ugly plugins have licensing issues but that's more of a distribution problem than a end-user problem. Some older games need the ugly plugins.

DistantThunder commented 4 years ago

@unit73e I tried with the latest GEs too and it crashed the same way. Perhaps it's a GST problem but I wouldn't believe that since this game is using some proprietary Bink2 format for its videos.

It looks like I'm missing some specific Win32 lib. I'm gonna dig a little because this was working years before on a Steam for Windows Wine prefix and always had problem running on Steam for Linux via Proton.