http://bugs.winehq.org/show_bug.cgi?id=36452
Bug ID: 36452 Summary: Age Of Mythology: Extended edition Product: Wine Version: 1.7.18 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: pierre@reactos.org
Created attachment 48482 --> http://bugs.winehq.org/attachment.cgi?id=48482 Wine log
The newly released edition of Age Of Mythology: Extended edition appears to fail starting on Wine 1.7.18.
When starting, it just displays an error message box stating: Initialization Failed.
No more details. You'll find attached an extract of the Wine log corresponding to the moment I click on play and the moment I click OK on the message box.
http://bugs.winehq.org/show_bug.cgi?id=36452
Pierre Schweitzer pierre@reactos.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Age Of Mythology: Extended |Age Of Mythology: Extended |edition |edition fails to start
http://bugs.winehq.org/show_bug.cgi?id=36452
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://store.steampowered.c | |om/app/266840/ CC| |focht@gmx.net Summary|Age Of Mythology: Extended |Age of Mythology: Extended |edition fails to start |Edition (Steam) fails to | |start
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello Pierre,
--- snip --- err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 err:ole:CoGetClassObject no class object {f5078f1b-c551-11d3-89b9-0000f81fe221} could be created for context 0x1 --- snip ---
that should not happen with recent Wine versions.
Either your distro's Wine package or the Steam WINEPREFIX is broken (overrides?), you need to fix that.
'{f5078f1b-c551-11d3-89b9-0000f81fe221}' -> DOMDocument26 ("XML DOM Document 2.6")
Regards
http://bugs.winehq.org/show_bug.cgi?id=36452
Anders Ytterström yttan@fastmail.se changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yttan@fastmail.se
--- Comment #2 from Anders Ytterström yttan@fastmail.se --- Just wanted to share:
I have the same error and behavior using Wine 1.7.18 on Arch Linux. Fresh install of both Wine and a fresh WINEPREFIX.
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #3 from Anders Ytterström yttan@fastmail.se --- Created attachment 48497 --> http://bugs.winehq.org/attachment.cgi?id=48497 Winelog Anders Ytterström
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #4 from Pierre Schweitzer pierre@reactos.org --- Hey Anders & Anastasius,
Can you retry after you replaced Launcher.exe with aomx.exe and added -nostartup as arg (this can be done thanks to the Steam interface)? This is the same trick as for AoE2 HD and also skipping this dependency and issues comming with.
It would be interesting to see if you face the same issue as I after this change.
Anastasius, what would be the overriden DLL? I indeed override some DLLs with some from winetricks.
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
--- quote --- Anastasius, what would be the overriden DLL? I indeed override some DLLs with some from winetricks. --- quote ---
msxml3 component.
@Anders
--- snip --- err:module:load_builtin_dll failed to load .so lib for builtin L"msxml3.dll": libxml2.so.2: kan inte öppna delad objektfil: Filen eller katalogen finns inte err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\windows\system32\msxml3.dll" err:ole:CoGetClassObject no class object {f6d90f11-9c73-11d3-b32e-00c04f990bb4} could be created for context 0x1 --- snip ---
Your Wine package is broken. Make sure you have libxml2 32-bit and 64-bit dependencies installed. Complain to the Wine package maintainer of your distro for the mess-up. This is not a Wine bug.
Again: You guys are running broken Wine and possibly with broken WINEPREFIX.
If you override/replace components do that at your own risk but be aware this makes bug reports possibly invalid.
Regards
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #6 from Anders Ytterström yttan@fastmail.se --- I will forward to the aRch linux maintainer, thank you!
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello Anders,
--- quote --- I will forward to the aRch linux maintainer, thank you! --- quote ---
See bug 35164 ... it's probably still optional.
There are multiple issues with Wine builds/package on Arch Linux right now, it can be considered broken (bug reports by arch users -> upstream).
Regards
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #8 from Pierre Schweitzer pierre@reactos.org --- So, I moved back to Wine msxml3 DLL. Symptoms are the exact same, log some shorter though. You'll find it attached.
http://bugs.winehq.org/show_bug.cgi?id=36452
Pierre Schweitzer pierre@reactos.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #48482|0 |1 is obsolete| |
--- Comment #9 from Pierre Schweitzer pierre@reactos.org --- Created attachment 48518 --> http://bugs.winehq.org/attachment.cgi?id=48518 Wine log
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello Pierre,
please create a lightweight trace log as follows and attach it to the bug.
(make sure no processes running from Steam prefix prior startup -> 'wineserver -k')
--- snip --- $ WINEDEBUG=+tid,+seh,+loaddll,+process,+msgbox,+debugstr wine ./steam.exe -applaunch 266840 -nobreakpad -windowed >>log.txt 2>&1 --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=36452
Pierre Schweitzer pierre@reactos.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #48518|0 |1 is obsolete| |
--- Comment #11 from Pierre Schweitzer pierre@reactos.org --- Created attachment 48526 --> http://bugs.winehq.org/attachment.cgi?id=48526 Wine log
Here is the full log you asked for. I added "-no-dwrite" to the command line, to prevent text display issues.
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello Pierre,
you log shows you are using a shared Steam prefix with multiple games and native components installed.
Native 'windowscodecs' - not really the issue here but why not builtin?
--- snip --- 000d:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\windowscodecs.dll" at 0x53000000: native ... 000d:err:menubuilder:convert_to_native_icon error 0x88982F81 initializing encoder 000d:err:menubuilder:convert_to_native_icon error 0x88982F81 initializing encoder --- snip ---
'SafeDisc' kernel driver - probably used by some other game(s)?
--- snip --- 0025:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\drivers\SECDRV.SYS" at 0x540000: native --- snip ---
'StarForce' (helper) kernel drivers - probably installed by some other game(s)?
--- snip --- 0033:trace:loaddll:load_native_dll Loaded L"C:\windows\System32\drivers\sfhlp02.sys" at 0x540000: native ... 0039:trace:loaddll:load_native_dll Loaded L"C:\windows\System32\drivers\sfsync02.sys" at 0x540000: native --- snip ---
'Windows User Mode Driver Framework service' as autostart service (probably because you installed 'Windows Media Player 10' at one time).
--- snip --- 003b:trace:process:__wine_kernel_init starting process name=L"C:\windows\system32\wdfmgr.exe" argv[0]=L"C:\windows\system32\wdfmgr.exe" 003b:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\wdfmgr.exe" at 0x1000000: native --- snip ---
Diagnosis with such blown-up prefixes is not impossible but it adds lots of unnecessary noise.
Unfortunately a full trace log is now needed:
--- snip --- $ WINEDEBUG=+tid,+seh,+loaddll,+process,+msgbox,+debugstr,+relay wine ./steam.exe -applaunch 266840 -nobreakpad -windowed -no-dwrite >>log.txt 2>&1 --- snip ---
It might be large -> compress and upload it somewhere (outside of Bugzilla). You can send me the download link to my email. Discretion assured.
Regards
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #13 from Pierre Schweitzer pierre@reactos.org --- You can find 'large' log at: http://www3.heisspiter.net/log.txt.bz2 Approx 800MB once unextracted.
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #14 from Anastasius Focht focht@gmx.net --- Hello Pierre,
unfortunately it's still not clear what causes this problem as there is lots of noise in that prefix log.
First could check the Steam game cache for integrity of all game related files.
You could delete and check various log files after clean restart:
'C:\Program Files\Steam\GameOverlayRenderer.log'
'C:\Program Files\Steam\steamapps\common\Age of Mythology\Logs\'
'C:\Temp\DebugTrace-RockallDLL.log' (or 'C:\DebugTrace-RockallDLL.log')
I suspect you did this (for whatever reasons), that is renaming 'aomx.exe' to 'launcher.exe':
https://steamcommunity.com/app/266840/discussions/2/558755530015141576
It's not very nice that you left out such important piece of information having me waste time on digging through a prefix log with several unknown modifications.
If you want support you need to tell me _every_ modification in the WINEPREFIX (recipes/overrides/"custom" modifications) besides installing the game in fresh 32-bit Steam prefix.
Regards
http://bugs.winehq.org/show_bug.cgi?id=36452
--- Comment #15 from Pierre Schweitzer pierre@reactos.org --- Hey,
So, here new log (less flooded, way lighter!). You'll find it at the same address as the old one. Here is what I did to get it: - I backed up SteamApps, deleted my wine prefix, and redone a clean one. I installed Steam in, restored my SteamApps. - I set compatibility to Windows 7. - I renamed aomx.exe to Launcher.exe (to prevent a DLL issue - this is the same as for AoE II HD). - I started the game.
It even doesn't show the Initialization box anymore. It quits right after starting.
http://bugs.winehq.org/show_bug.cgi?id=36452
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE
--- Comment #16 from Anastasius Focht focht@gmx.net --- Hello folks,
I bought the game off Steam on a whim otherwise this ping-pong log approach is just painful (and wastes my time in the end).
Starting off with Wine 1.7.19 and with your "launcher replacement" ...
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+debugstr,+msgbox wine ./steam.exe -applaunch 266840 -no-dwrite -nominidumps -windowed -nobreakpad >>log.txt 2>&1 ... 005a:Call KERNEL32.GetVersionExW(0033f544) ret=005928fb 005a:Ret KERNEL32.GetVersionExW() retval=00000001 ret=005928fb 005a:Call KERNEL32.InterlockedExchange(00b74f8c,7b82179c) ret=009541db 005a:Ret KERNEL32.InterlockedExchange() retval=00953349 ret=009541db 005a:Call KERNEL32.CreateSemaphoreW(00000000,00000001,00000001,00a66af0 L"Global\BCoreSingleInstanceSemaphore") ret=005486c3 005a:Ret KERNEL32.CreateSemaphoreW() retval=00000184 ret=005486c3 005a:Call KERNEL32.WaitForSingleObject(00000184,00000000) ret=005486da 005a:Ret KERNEL32.WaitForSingleObject() retval=00000000 ret=005486da 005a:Call msvcr110.memset(0033e64c,00000000,00000800) ret=005d2dce 005a:Ret msvcr110.memset() retval=0033e64c ret=005d2dce 005a:Call msvcr110.wcscpy_s(00b79fe0,0000fffe,02fe5fc0 L"19968") ret=0054baa8 005a:Ret msvcr110.wcscpy_s() retval=00000000 ret=0054baa8 005a:Call msvcr110.memcpy(0033ee54,02fe5fc0,0000000a) ret=004ef388 005a:Ret msvcr110.memcpy() retval=0033ee54 ret=004ef388 005a:Call msvcr110.wcscpy_s(00b79fe0,0000fffe,06e7e940 L"Initialization Failed\n%s") ret=0054bb0f 005a:Ret msvcr110.wcscpy_s() retval=00000000 ret=0054bb0f 005a:Call msvcr110.memcpy(031bd260,00b79fe0,00000030) ret=00523b83 005a:Ret msvcr110.memcpy() retval=031bd260 ret=00523b83 005a:Call msvcr110.memcpy(031bd260,0033ef08,000000be) ret=00523b83 005a:Ret msvcr110.memcpy() retval=031bd260 ret=00523b83 005a:Call KERNEL32.InterlockedExchange(00b75090,7ebfda48) ret=009541db 005a:Ret KERNEL32.InterlockedExchange() retval=00952c91 ret=009541db 005a:Call user32.MessageBoxW(00000000,0033ef08 L"Initialization Failed\nBCore::init() failed. This is likely due to failure of Windows OS checks.",009ff56c L"Age of Mythology",00001010) ret=004685c2 ... --- snip ---
Not seen in trace (but debugging): there is a check for OS info 'dwMajorVersion < 6'.
After setting the prefix' WinVer to 'Windows Vista' it runs further. Well, one could have known that.
Steam specs for the game: http://store.steampowered.com/app/266840/
--- snip --- Minimum:
OS: Windows Vista, 7, 8.1+ ... Graphics: Direct X 10+ Capable GPU DirectX: Version 10
Recommended:
OS: Windows 7, 8.1+ ... Graphics: Direct X 11+ DirectX: Version 11 --- snip ---
The original 'Launcher.exe' which got replaced by 'aomx.exe' references Vista+ registry APIs which is another indication of such requirement:
--- snip --- 8. ImageImportDescriptor: OriginalFirstThunk: 0x00007910 TimeDateStamp: 0x00000000 (GMT: Thu Jan 01 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x000084F0 ("ADVAPI32.dll") FirstThunk: 0x00005000
Ordinal/Hint API name ------------ --------------------------------------- 0x02A2 "RegSetKeyValueA" ... 0x026A "RegDeleteKeyValueA" ... --- snip ---
-> bug 32711 ("Multiple applications crash on unimplemented function ADVAPI32.dll.RegSetKeyValueA/W (Vista+ API)(BSAopt, Microsoft OneDrive)")
The next problem:
--- snip --- ... 005c:Call KERNEL32.OutputDebugStringA(06da6c00 "Initializing D3D11 Graphics. Requested: 1920x1080x16") ret=00592f5c 005c:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=00592f5c 005c:Call KERNEL32.OutputDebugStringA(009f459c "\n") ret=00592f63 005c:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=00592f63 005c:Call d3d11.D3D11CreateDevice(00000000,00000001,00000000,00000000,0033f5e0,00000003,00000007,07160218,07160234,0716021c) ret=005bb669 005c:fixme:d3d11:D3D11CreateDevice stub: adapter (nil), driver_type D3D_DRIVER_TYPE_HARDWARE, swrast (nil), flags 0, feature_levels 0x33f5e0, levels 0x3, sdk_version 7, device 0x7160218, feature_level 0x7160234, context 0x716021c 005c:Ret d3d11.D3D11CreateDevice() retval=8007000e ret=005bb669 005c:Call msvcr110.strcpy_s(0033f1e4,00000400,00a6a76c "Error - Can't create Direct3D Object") ret=005997f7 005c:Ret msvcr110.strcpy_s() retval=00000000 ret=005997f7 ... 005c:Call KERNEL32.OutputDebugStringA(06da6c00 "Initializing D3D11 Graphics. Requested: 1920x1080x16") ret=00592f5c 005c:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=00592f5c 005c:Call KERNEL32.OutputDebugStringA(009f459c "\n") ret=00592f63 005c:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=00592f63 005c:Call d3d11.D3D11CreateDevice(00000000,00000001,00000000,00000000,0033f5e0,00000003,00000007,07160218,07160234,0716021c) ret=005bb669 005c:fixme:d3d11:D3D11CreateDevice stub: adapter (nil), driver_type D3D_DRIVER_TYPE_HARDWARE, swrast (nil), flags 0, feature_levels 0x33f5e0, levels 0x3, sdk_version 7, device 0x7160218, feature_level 0x7160234, context 0x716021c 005c:Ret d3d11.D3D11CreateDevice() retval=8007000e ret=005bb669 ... 005c:Call user32.MessageBoxW(00000000,0033ef08 L"Initialization Failed\nDirect3D initialization failed. Frequent cause is an old or corrupted driver.\n\nPlease check the log file for more information.",009ff56c L"Age of Mythology",00001010) ret=004685c2 --- snip ---
Well, that's bug 34008
I found some interesting parameters through dumping/debugging:
--- snip --- ... forceD3D9 - forces the game to run in a Direct3D 9 feature level. This requires Direct3D 11 to be enabled forceD3D10 - forces the game to run in a Direct3D 10 feature level. This requires Direct3D 11 to be enabled ignoreDDT - disables the loading of ddt textures. D3Ddebug - enables the D3D11 debug layer. This flag can introduce a serious performance impact. enableTessellation - enables hardware unit tesselation in D3D11 feature levels ... --- snip ---
Those can be added in 'startup/*.cfg' files which get read at game start.
Unfortunately even if you enable 'forceD3D9' (which will end up in D3D_FEATURE_LEVEL / feature 9_x level) it will still call d3d11.D3D11CreateDevice() entry point. This is hard-coded and can't be bypassed.
---
There will be another problem later: the game is protected by Valve's CEG:
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready...
Scanning -> Z:\home\focht\wine-games\wineprefix-steam\wineprefix\drive_c\Program Files\Steam\SteamApps\common\Age of Mythology\aomx.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 8625816 (0839E98h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0839000h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001101000000000100 (0x0404D004) [Entrypoint Section Entropy] : 6.56 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x536D18E2 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x43 (67) AddressOfRawData : 0x6C7510 | PointerToRawData : 0x6C6110 CvSig : 0x53445352 | SigGuid B5CAACEA-753D-4761-A3F63B79B926B484 Age : 0x1 | Pdb : D:\projects\AoM\src\rts3\FinalCEG\AoMX.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : FD1C45EF-0376-4524-B3A4-BBF65E7A1F1D [.] CEG Build Machine : neilk [!] Possible CD/DVD-Key or Serial Check -> CDKey [CompilerDetect] -> Visual C/C++ - Scan Took : 0.815 Second(s) [00000032Fh tick(s)] [533 scan(s) done]
Scanning -> Z:\home\focht\wine-games\wineprefix-steam\wineprefix\drive_c\Program Files\Steam\SteamApps\common\Age of Mythology\Launcher.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 1664512 (0196600h) Byte(s) [File Heuristics] -> Flag : 00000100000001001101000000000000 (0x0404D000) [Entrypoint Section Entropy] : 5.89 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x53698096 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x3E (62) AddressOfRawData : 0x6928 | PointerToRawData : 0x5728 CvSig : 0x53445352 | SigGuid 5F16F2FE-FE92-4808-9FF6253A92E31114 Age : 0x23 | Pdb : D:\Projects\aom_mainline\Launcher.pdb
[!] Steam api usage detected [CompilerDetect] -> Visual C/C++ - Scan Took : 0.380 Second(s) [00000017Ch tick(s)] [533 scan(s) done] --- snip ---
http://steamdb.info/app/266840/config/
--- snip --- launch
0/config/oslist: windows 0/description: Launch 0/executable: Launcher.exe
cegpublickey 30819D300D06092A864886F70D010101050003818B0030818702818100C20F95CD3007AC0E2BAA9C0AFF740B949792CDF46454F2272A28D8CCEC4829A2F625B22FD4A588E1975F74708123A9DCFA8F1B8D01E40760871899F3CABCF717F17F8A5574DD8533C139359F319AA5BBC9A1326B220FD8D9B40D8158831CA45B3A397A9AB71ABECF65B07031E356BA70F2B3A252701212E2481611B55941C8D5020111
checkguid AoMX.exe --- snip ---
-> bug 32515
Anyway, the main blocker currently is d3d11.D3D11CreateDevice() stub hence I'm resolving this as dupe of bug 34008
$ wine --version wine-1.7.19
Regards
*** This bug has been marked as a duplicate of bug 34008 ***
https://bugs.winehq.org/show_bug.cgi?id=36452
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Austin English austinenglish@gmail.com --- Closing.