https://bugs.winehq.org/show_bug.cgi?id=52500
--- Comment #42 from O. Nykyforchyn oleh.nyk@gmail.com --- (In reply to Zeb Figura from comment #41)
(In reply to O. Nykyforchyn from comment #39)
(In reply to Zeb Figura from comment #37)
It's not inexplicable. I can see a couple of ways initialization can fail without any log messages.
I would consider this as a code defect: issues with winex11 initialization arise regularly, then the are kind of solved (or hidden), but users have no possibility to diagnose the root of evil. Why not add some messages after each major step if initialization that can fail?
I agree that's a good idea, but there's unfortunately quite a lot of code in Wine that catches unexpected failures silently. If nothing else I don't have time to fix every instance.
Anyway, based on the log, it fails after loading ntdll [in __wine_init_unix_call()] but before setup_options() in x11drv_init [otherwise we'd get registry traces], and it doesn't crash, or hit the ERR in x11drv_init(). I believe that means that winex11.so itself fails to load, possibly because libX11.so or some dependency failed to load. I don't think that's diagnosable any further on the Wine side.
Added the patch, so now: ... 0074:err:module:build_module loaded L"\??\C:\windows\system32\explorer.exe" 00007FFFFE223790 0000000140000000 0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0070:0074:DllMain: before DisableThreadLibraryCalls 0070:0074:DllMain: before __wine_init_unix_call 0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0084:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0074:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0074:err:winediag:nodrv_CreateWindow L"The explorer process failed to start." 0074:err:systray:initialize_systray Could not create tray window ...
Hence __wine_init_unix_call() returned nonzero status. Does this agree with the assumption that winex11.so fails to load? If so, how could I diagnose the hypothetic lacked dependency?