https://bugs.winehq.org/show_bug.cgi?id=44985
Bug ID: 44985 Summary: BIAS FX: Blank window when running the app Product: Wine Version: 3.6 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: oxez911@gmail.com Distribution: ---
Created attachment 61119 --> https://bugs.winehq.org/attachment.cgi?id=61119 term output
Distribution: Debian sid Wine version: 3.6.0~sid (Using the wine-devel package from winehq.org)
Description:
Trying the BIAS FX standalone app (both in 32 and 64bit) result in a blank window (black or white, seems random..)
Note: the trial can be downloaded free of change at
https://www.positivegrid.com/bias-fx/
I attached a trace of what I saw in the terminal, I can provide more info if needed (I'm not sure what WINEDEBUG needed to be set at, I didn't tweak it)
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #1 from Louis Lenders xerox.xerox2000x@gmail.com --- Since i see something about cef in your log, does adding --no-sandbox to the commandline help anything?
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #2 from Jason Pleau oxez911@gmail.com --- (In reply to Louis Lenders from comment #1)
Since i see something about cef in your log, does adding --no-sandbox to the commandline help anything?
I still get a blank window, however there is no mention of cef in the debug log anymore it seems. Attached it as debug-no-sandbox
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #3 from Jason Pleau oxez911@gmail.com --- Created attachment 61120 --> https://bugs.winehq.org/attachment.cgi?id=61120 output with --no-sandbox
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Ever confirmed|0 |1 URL| |https://www.positivegrid.co | |m/bias-fx/ Status|UNCONFIRMED |NEW
--- Comment #4 from Louis Lenders xerox.xerox2000x@gmail.com --- Confirming
It shows up here when i run: WINEDLLOVERRIDES=d3d9=d wine BIAS\ FX.exe
Can you confirm that?
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #5 from Jason Pleau oxez911@gmail.com --- (In reply to Louis Lenders from comment #4)
Confirming
It shows up here when i run: WINEDLLOVERRIDES=d3d9=d wine BIAS\ FX.exe
Can you confirm that?
Yes the window now shows!
Everything seems to work fine actually, even the WineASIO layer between ASIO and JACK. Wonderful, this one was the last Guitar Amp software that I couldn't get running with wine.
I'm guessing this is no longer an actual bug, and I can simply add this dlloverride in winecfg? Or is there something to fix in wine to "autodetect" this override?
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #6 from Louis Lenders xerox.xerox2000x@gmail.com ---
I'm guessing this is no longer an actual bug, and I can simply add this dlloverride in winecfg? Or is there something to fix in wine to "autodetect" this override?
Well, it`s still a bug, this is only a workaround. I guess the cullprit is
0072:err:module:import_dll Library d3d9.dll (which is needed by L"C:\Program Files\Common Files\PositiveGrid\BIAS FX Plugins (32bit)\Resources\libglesv2.dll") not found
The following works too: WINEDLLOVERRIDES=libglesv2.dll=d sine BIAS\ FX.exe I guess it has something to do with webgl (?), wine not handling it right(??)
Don`t know really, needs more investigation from expert
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|BIAS FX: Blank window when |BIAS FX: Blank window , |running the app |disabling or removing | |libglesv2.dll from program | |is a workaround
--- Comment #7 from Louis Lenders xerox.xerox2000x@gmail.com --- Changed title a bit.
@Reporter of bug: I guess for now just removing libglesv2.dll from Common Files/PositiveGrid/BIAS FX Plugins (32bit) is the best workaround, then you don`t have to disable anything....
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #8 from Jason Pleau oxez911@gmail.com --- (In reply to Louis Lenders from comment #7)
Changed title a bit.
@Reporter of bug: I guess for now just removing libglesv2.dll from Common Files/PositiveGrid/BIAS FX Plugins (32bit) is the best workaround, then you don`t have to disable anything....
Yes this does work.
Note that I am using the 64bit version, but so far all your suggestions have also worked even though you seem to be using the 32bit version of BIAS FX.
Something I noticed after using the program for a few hours last night: when I focus another window, the BIAS FX window becomes blank again until I refocus and trigger a "repaint" (ie: clicking on something blindly). Not sure yet if this is caused by me using i3 window manager, will report back (I'm not 100% certain yet too if it's related to the original bug, maybe it is..)
By the way, thanks for all your help so far!
https://bugs.winehq.org/show_bug.cgi?id=44985
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #9 from Jason Pleau oxez911@gmail.com --- Hi again.
I am currently testing Ubuntu 18.04, and tried to run this application. I tried using both the same wineprefix I did before, and creating a new one. I am getting a crash on CefSubprocess.exe. Attached wine + windows backtrace.
I tried putting back the dll, playing with the override mentionned in this thread, no change.
What happens: the program starts, audio works fine, CefSubprocess.exe crashes and the window becomes black. But the program seems to work fine except that I can't really navigate the GUI.
Wine version: 3.7 (I tested 3.7 on debian sid, the program works fine).
I'm puzzled since running the same wineprefix should work..
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #10 from Jason Pleau oxez911@gmail.com --- Created attachment 61249 --> https://bugs.winehq.org/attachment.cgi?id=61249 wine output (ubuntu 18.04)
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #11 from Jason Pleau oxez911@gmail.com --- Created attachment 61250 --> https://bugs.winehq.org/attachment.cgi?id=61250 cefsubprocess.exe backtrace
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #12 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Jason Pleau from comment #11)
Created attachment 61250 [details] cefsubprocess.exe backtrace
This is a guess, but might have to do with installed fonts? Try ``winetricks corefonts``?
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #13 from Jason Pleau oxez911@gmail.com --- (In reply to Louis Lenders from comment #12)
(In reply to Jason Pleau from comment #11)
Created attachment 61250 [details] cefsubprocess.exe backtrace
This is a guess, but might have to do with installed fonts? Try ``winetricks corefonts``?
That was it. Thanks again :)
If you don't mind, what in my backtraces led you to this suggestion? (Simply out of curiosity, so I can maybe debug stuff like this better in the future)
Also, a note for people who will find this bug report:
If you find that the BIAS FX window becomes black when it loses focus, make sure you have "Allow the window manager to decorate the windows" checked in winecfg (I might edit the bias fx page on appdb with the info contained in this bug report, it will be useful to many I think)
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #14 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Jason Pleau from comment #13)
If you don't mind, what in my backtraces led you to this suggestion? (Simply out of curiosity, so I can maybe debug stuff like this better in the future)
Nothng in the backtrace, it`s a known issue for cef-related programs, seen this many times in other bugreports.
https://bugs.winehq.org/show_bug.cgi?id=44985
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|BIAS FX: Blank window , |Many applications using |disabling or removing |CEFv3 Angle OpenGL ES 2.0 |libglesv2.dll from program |for H/W Accelerated Canvas |is a workaround |and WebGL display | |blank/black windows | |(disabling or removing | |'libglesv2.dll' is a | |workaround) CC| |focht@gmx.net
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to collect all dupes here.
Another example: bug 45368
Copy/pasta:
The CEF browser runs in its own process. One can check with Windows Spy++ to see who owns the child window.
-> 'Welcome to Zoner Photo Studio' ('Zps.exe') -> 'ZcbBridge::BrowserT' ('Zps.exe') -> 'ZcbApp::MainClientT' ('Zps.exe') -> 'CefBrowserWindow' ('ZCB.exe') -> 'Chrome_WidgetWin_0' -> 'Static'
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Zoner/Photo Studio 17/Program32
$ file lib*.dll libcef.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows libEGL.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows libGLESv2.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows ...
$ WINEDEBUG=+seh,+relay wine ./Zps.exe >>log.txt 2>&1 ... 002e:Call KERNEL32.CreateProcessW(05d3fb70 L"C:\Program Files\Zoner\Photo Studio 17\Program32\ZCB.EXE",05d3fff0 L""C:\Program Files\Zoner\Photo Studio 17\Program32\ZCB.EXE" --zps-ipc={Zps-45-722008}",00000000,00000000,00000001,00000000,00000000,05d3f9b0 L"C:\Program Files\Zoner\Photo Studio 17\Program32",0033d1b4,05d44290) ret=00913877 ... 0050:Call KERNEL32.__wine_kernel_init() ret=7bc59bcc 002e:Ret KERNEL32.CreateProcessW() retval=00000001 ret=00913877 ... 002e:Call KERNEL32.CreateProcessW(05d3f3c8 L"C:\Program Files\Zoner\Photo Studio 17\Program32\ZPSAutoupdate.exe",05d74e98 L""C:\Program Files\Zoner\Photo Studio 17\Program32\ZPSAutoupdate.exe" /checkforupdate programstartup",00000000,00000000,00000001,00000000,00000000,05d3f350 L"C:\Program Files\Zoner\Photo Studio 17\Program32",0033d3e8,05c98994) ret=00913877 ... 0052:Call KERNEL32.__wine_kernel_init() ret=7bc59bcc 002e:Ret KERNEL32.CreateProcessW() retval=00000001 ret=00913877 ... 0063:Call KERNEL32.CreateProcessW(00000000,04b2a000 L""C:\Program Files\Zoner\Photo Studio 17\Program32\ZCB.exe" --type=gpu-process --channel="79.0.376049228\1408405737" --no-sandbox --lang=en --locales-dir-path="C:\Program Files\Zoner\Photo Studio 17\Resources\Cef\locales" --log-file="C:\users\focht\Local Settings\Application Dat"...,00000000,00000000,00000000,00000000,00000000,00000000,0622f5d0,0622f618) ret=007769a7 ... 0052:Call KERNEL32.__wine_kernel_init() ret=7bc59bcc 002e:Ret KERNEL32.CreateProcessW() retval=00000001 ret=00913877 ... 0063:Call KERNEL32.CreateProcessW(00000000,04b5b400 L""C:\Program Files\Zoner\Photo Studio 17\Program32\ZCB.exe" --type=renderer --no-sandbox --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.170 Safari/537.36 ZonerPhotoStudio/17.0.1.12" --lang=en-US --enable-threaded-compositing --enable-"...,00000000,00000000,00000000,00000000,00000000,00000000,0622f5d0,0622f618) ret=007769a7 ... 007b:Call KERNEL32.__wine_kernel_init() ret=7bc59bcc ... 0063:Ret KERNEL32.CreateProcessW() retval=00000001 ret=007769a7 --- snip ---
The problem seems to be CEF3 off-screen rendering with hardware acceleration using OpenGLES 2.0 (Angle).
* OpenGL ES 2.0 (ANGLE 1.2.0.2451) * OpenGL ES GLSL ES 1.00 (ANGLE 1.2.0.2451)
There are a few messages in console hinting at this:
--- snip --- ... 003d:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 003d:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. [0624/162740:ERROR:gl_surface_egl.cc(285)] eglCreateWindowSurface failed with error EGL_BAD_ALLOC [0624/162740:ERROR:command_buffer_proxy_impl.cc(165)] Failed to initialize command buffer service. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. [0624/162740:ERROR:gl_surface_egl.cc(285)] eglCreateWindowSurface failed with error EGL_BAD_ALLOC [0624/162740:ERROR:command_buffer_proxy_impl.cc(165)] Failed to initialize command buffer service. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. [0624/162740:ERROR:gl_surface_egl.cc(285)] eglCreateWindowSurface failed with error EGL_BAD_ALLOC [0624/162740:ERROR:command_buffer_proxy_impl.cc(165)] Failed to initialize command buffer service. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. 0078:err:d3d:context_create Failed to set pixel format 1 on device context 0x10057. [0624/162740:ERROR:gl_surface_egl.cc(285)] eglCreateWindowSurface failed with error EGL_BAD_ALLOC [0624/162740:ERROR:command_buffer_proxy_impl.cc(165)] Failed to initialize command buffer service. ... --- snip ---
$ sha1sum zps17_en.exe 9bf0080940833798bc0b7dc27581294d1f077c1f zps17_en.exe
$ du -sh zps17_en.exe 77M zps17_en.exe
$ wine --version wine-3.11
Regards
https://bugs.winehq.org/show_bug.cgi?id=44985
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |m93a.cz@gmail.com
--- Comment #16 from Anastasius Focht focht@gmx.net --- *** Bug 45368 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #17 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Another example: "Black Desert Online"
https://www.blackdesertonline.com/download
http://akamai-gamecdn.blackdesertonline.com/game/download/setup/BlackDesertO...
In this case it causes a crash in an unrelated area due to unclean/buggy shutdown of GPU process.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/Black Desert Online
$ wine ./Black\ Desert\ Online\ Launcher.exe ... 0042:fixme:process:RegisterApplicationRestart (L"--type=gpu-process --channel="8.0.1283200527\1591142397" --no-sandbox --lang=en-US --log-file=Debug.log --log-severity=disable --supports-dual-gpus=false --gpu-driver-bug-workarounds=0,3,12,22 --gpu-vendor-id=0x0000 --gpu-device-id=0x0000 --gpu-driver-vendor --gpu-driver-version --lang=en-US --log"...,0) ... 004a:fixme:process:RegisterApplicationRestart (L"--type=renderer --no-sandbox --lang=en-US --lang=en-US --log-file=Debug.log --log-severity=disable --channel="8.1.1736939046\1643487119" /prefetch:673131151 /RestartByRestartManager:AE18B98A-AABB-48bf-9B7C-DC35C932A7F0",0) ... 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 0048:fixme:win:EnumDisplayDevicesW ((null),0,0x3fcf3ac,0x00000000), stub! [1002/013344:ERROR:gles2_cmd_decoder.cc(8848)] Context lost because SwapBuffers failed. [1002/013344:ERROR:gpu_scheduler.cc(91)] [00C93800] GPU PARSE ERROR: 5 0059:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts. 0059:fixme:d3d:state_lastpixel Last Pixel Drawing Disabled, not handled yet 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). [1002/013344:ERROR:gles2_cmd_decoder.cc(8848)] Context lost because SwapBuffers failed. [1002/013344:ERROR:gpu_scheduler.cc(91)] [00C93800] GPU PARSE ERROR: 5 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). [1002/013344:ERROR:gles2_cmd_decoder.cc(8848)] Context lost because SwapBuffers failed. [1002/013344:ERROR:gpu_scheduler.cc(91)] [00C93800] GPU PARSE ERROR: 5 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). [1002/013344:ERROR:gles2_cmd_decoder.cc(8848)] Context lost because SwapBuffers failed. [1002/013344:ERROR:gpu_scheduler.cc(91)] [00C93800] GPU PARSE ERROR: 5 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). 0060:err:d3d:wined3d_adapter_gl_create_context Failed to set pixel format 1 on device context 0x480077. 0060:err:d3d:wined3d_adapter_gl_create_context Failed to set pixel format 1 on device context 0x480077. ... 0042:fixme:d3d9:d3d9_device_CreateTexture Resource sharing not implemented, *shared_handle (nil). [1002/013344:ERROR:gles2_cmd_decoder.cc(8848)] Context lost because SwapBuffers failed. [1002/013344:ERROR:gpu_scheduler.cc(91)] [00C93800] GPU PARSE ERROR: 5 [1002/013344:ERROR:gles2_cmd_decoder.cc(2740)] GLES2DecoderImpl: Context lost during MakeCurrent. [1002/013344:ERROR:gles2_cmd_decoder.cc(2745)] Exiting GPU process because some drivers cannot reset a D3D device in the Chrome GPU process sandbox. wine: Unhandled page fault on write access to 0x00000028 at address 0x100818b5 (thread 0042), starting debugger... --- snip ---
Backtrace:
--- snip --- Unhandled exception: page fault on write access to 0x00000028 in 32-bit code (0x100818b5). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:100818b5 ESP:0033d580 EBP:0033d63c EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:00000000 ECX:00000004 EDX:00110064 ESI:00000000 EDI:00000000 Stack dump: 0x0033d580: 00c86e00 00000000 00000004 00c86d40 0x0033d590: 0033d5b0 0033d600 0033d5e8 7bc6c82d 0x0033d5a0: 00110c98 00110c98 7bd0ed4c 7bc6c82d 0x0033d5b0: 7bcfc924 00000000 0033d5e8 7bc6c7d2 0x0033d5c0: 123828a4 ffffffff 0033d5d8 7bc4e380 0x0033d5d0: 001135e8 00000004 00000004 00000000 Backtrace: =>0 0x100818b5 in libcef (+0x818b5) (0x0033d63c) 1 0x1003ed4c in libcef (+0x3ed4b) (0x0033d704) 2 0x1003f395 in libcef (+0x3f394) (0x0033d7e4) 3 0x11db5c8f in libcef (+0x1db5c8e) (0x0033d830) 4 0x118941da in libcef (+0x18941d9) (0x0033d844) 5 0x119d9d05 in libcef (+0x19d9d04) (0x0033d90c) ... 19 0x1003f85e in libcef (+0x3f85d) (0x0033efc4) 20 0x1003fa58 in libcef (+0x3fa57) (0x0033f094) 21 0x1000340e in libcef (+0x340d) (0x0033f214) 22 0x0054bf53 in dgcefbrowser (+0x14bf52) (0x0033f238) 23 0x00408cad in dgcefbrowser (+0x8cac) (0x0033f320) 24 0x00416d6f in dgcefbrowser (+0x16d6e) (0x0033f328) 25 0x7e8dd1a2 WINPROC_wrapper+0x19() in user32 (0x0033f358) 26 0x7e8dd401 call_dialog_proc+0xae() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:268] in user32 (0x0033f3a8) 27 0x7e8df6fd WINPROC_CallDlgProcW+0xbf() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:1082] in user32 (0x0033f3e8) 28 0x7e8669cc DefDlgProcW+0x79() [/home/focht/projects/wine/mainline-src/dlls/user32/defdlg.c:430] in user32 (0x0033f428) 29 0x7e8dd1a2 WINPROC_wrapper+0x19() in user32 (0x0033f468) 30 0x7e8dd2d2 call_window_proc+0xae() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:246] in user32 (0x0033f4b8) 31 0x7e8df4e3 CallWindowProcW+0x4f() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:1027] in user32 (0x0033f4f8) 32 0x0041dd49 in dgcefbrowser (+0x1dd48) (0x0033f520) 33 0x0041dd79 in dgcefbrowser (+0x1dd78) (0x0033f5f8) 34 0x00420d0f in dgcefbrowser (+0x20d0e) (0x0033f618) 35 0x0041c7ae in dgcefbrowser (+0x1c7ad) (0x0033f688) 36 0x0041cf63 in dgcefbrowser (+0x1cf62) (0x0033f6a8) 37 0x7e8dd1a2 WINPROC_wrapper+0x19() in user32 (0x0033f6d8) 38 0x7e8dd2d2 call_window_proc+0xae() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:246] in user32 (0x0033f728) 39 0x7e8df0c7 WINPROC_call_window+0x15f() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:908] in user32 (0x0033f778) 40 0x7e8a0d87 call_window_proc+0x90() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2223] in user32 (0x0033f7d8) 41 0x7e8a36a1 send_message+0x11e() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3275] in user32 (0x0033f828) 42 0x7e8a3c50 SendMessageW+0x57() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3475] in user32 (0x0033f878) 43 0x7e86b684 DIALOG_CreateIndirect+0xa3e() [/home/focht/projects/wine/mainline-src/dlls/user32/dialog.c:680] in user32 (0x0033fb98) 44 0x7e86b8dc CreateDialogIndirectParamAorW+0x35() [/home/focht/projects/wine/mainline-src/dlls/user32/dialog.c:746] in user32 (0x0033fbc8) 45 0x7e86b94c CreateDialogIndirectParamW+0x2a() [/home/focht/projects/wine/mainline-src/dlls/user32/dialog.c:764] in user32 (0x0033fc08) 46 0x00417801 in dgcefbrowser (+0x17800) (0x0033fc64) 47 0x00417059 in dgcefbrowser (+0x17058) (0x0033fcd8) 48 0x00417197 in dgcefbrowser (+0x17196) (0x0033fcf4) 49 0x004172eb in dgcefbrowser (+0x172ea) (0x0033fd4c) 50 0x0040845c in dgcefbrowser (+0x845b) (0x0033fe50) 51 0x00555156 in dgcefbrowser (+0x155155) (0x0033fe64) 52 0x0053159c in dgcefbrowser (+0x13159b) (0x0033feb0) 53 0x7b46d976 call_process_entry+0x11() in kernel32 (0x0033fec8) 54 0x7b46daaf start_process+0x12c() [/home/focht/projects/wine/mainline-src/dlls/kernel32/process.c:1269] in kernel32 (0x0033ffd8) 55 0x7b46d982 start_process_wrapper+0x9() in kernel32 (0x0033ffec) 0x100818b5: movb $0x1,0x28(%esi) Modules: Module Address Debug info Name (172 modules) PE 400000- 752000 Export dgcefbrowser PE 1580000- 1899000 Deferred d3dcompiler_46 PE 19b0000- 1a8d000 Deferred libglesv2 PE 1ba0000- 1bbe000 Deferred libegl PE 10000000-12543000 Export libcef PE 4ad00000-4b681000 Deferred icudt ELF 79db8000-7a800000 Deferred i965_dri.so ELF 7a800000-7a949000 Deferred opengl32<elf> ... Threads: process tid prio (all id:s are in hex) 00000008 Black Desert Online Launcher.exe 000000c4 0 ... 00000009 0 ... 0000004a DGCefBrowser.exe 00000097 0 ... 0000004b 0 ... 000000c2 (D) C:\Program Files (x86)\Black Desert Online\DGCefBrowser.exe 000000cc 0 000000cb 0 000000ca 0 000000c9 0 000000c8 0 000000c7 0 000000c6 0 000000c3 0 <== --- snip ---
Scan of executables to figure out CEF version:
--- snip --- -=[ ProtectionID v0.6.9.0 DECEMBER]=- (c) 2003-2017 CDKiLLER & TippeX Build 24/12/17-21:05:42 Ready... Scanning -> C:\Program Files (x86)\Black Desert Online\Black Desert Online Launcher.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 10524824 (0A09898h) Byte(s) | Machine: 0x14C (I386) Compilation TimeStamp : 0x5B56DCAD -> Tue 24th Jul 2018 08:00:45 (GMT) [TimeStamp] 0x5B56DCAD -> Tue 24th Jul 2018 08:00:45 (GMT) | PE Header | - | Offset: 0x00000140 | VA: 0x00400140 | - [TimeStamp] 0x5B56DCAD -> Tue 24th Jul 2018 08:00:45 (GMT) | DebugDirectory | - | Offset: 0x00230E94 | VA: 0x00632094 | - [TimeStamp] 0x5B56DCAD -> Tue 24th Jul 2018 08:00:45 (GMT) | DebugDirectory | - | Offset: 0x00230EB0 | VA: 0x006320B0 | - -> File Appears to be Digitally Signed @ Offset 0A08000h, size : 01898h / 06296 byte(s) [LoadConfig] Struct determined as v8 (Expected size 140 | Actual size 64) [LoadConfig] CodeIntegrity -> Flags 0xC | Catalog 0x0 (0) | Catalog Offset 0x575C3A44 | Reserved 0x736B726F [LoadConfig] GuardAddressTakenIatEntryTable 0x65636170 | Count 0x61724F5C (1634881372) [LoadConfig] GuardLongJumpTargetTable 0x5465676E | Count 0x6C5C5446 (1817990214) [LoadConfig] HybridMetadataPointer 0x636E7561 | DynamicValueRelocTable 0x70615F68 [LoadConfig] FailFastIndirectProc 0x425C7370 | FailFastPointer 0x614C4F44 [LoadConfig] UnknownZero1 0x68636E75 [File Heuristics] -> Flag #1 : 00000100000001001101000000000100 (0x0404D004) [Entrypoint Section Entropy] : 6.55 (section #0) ".text " | Size : 0x22F895 (2291861) byte(s) [DllCharacteristics] -> Flag : (0x8140) -> ASLR | DEP | TSA [SectionCount] 5 (0x5) | ImageSize 0xA5A000 (10854400) byte(s) [VersionInfo] Company Name : Daum Games [VersionInfo] Product Name : Black Desert Online Launcher [VersionInfo] Product Version : 1.0.4.1 [VersionInfo] File Description : Black Desert Online Launcher [VersionInfo] File Version : 1.0.4.1 [VersionInfo] Original FileName : DGGlobalLauncher.exe [VersionInfo] Internal Name : DGGlobalLauncher.exe [VersionInfo] Legal Copyrights : ? Daum Games. All Rights Reserved. [ModuleReport] [IAT] Modules -> MPR.dll | libcef.dll | KERNEL32.dll | USER32.dll | GDI32.dll | MSIMG32.dll | WINSPOOL.DRV | ADVAPI32.dll | SHELL32.dll | COMCTL32.dll | SHLWAPI.dll | UxTheme.dll | ole32.dll | OLEAUT32.dll | oledlg.dll | gdiplus.dll | VERSION.dll | RPCRT4.dll | d3d9.dll | WINHTTP.dll | WS2_32.dll | IPHLPAPI.DLL | NETAPI32.dll | OLEACC.dll | IMM32.dll | WINMM.dll | WININET.dll [Debug Info] (record 1 of 2) (file offset 0x230E90) Characteristics : 0x0 | TimeDateStamp : 0x5B56DCAD (Tue 24th Jul 2018 08:00:45 (GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 (0x2) -> CodeView | Size : 0x6B (107) AddressOfRawData : 0x292780 | PointerToRawData : 0x291580 CvSig : 0x53445352 | SigGuid 648B2239-A4D0-4B66-A999FCF36EF83622 Age : 0xC (12) | Pdb : D:\Workspace\OrangeTFT\launch_apps\BDOLauncher\Release\DGGlobalLauncherForCBT2.pdb [Debug Info] (record 2 of 2) (file offset 0x230EAC) Characteristics : 0x0 | TimeDateStamp : 0x5B56DCAD (Tue 24th Jul 2018 08:00:45 (GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 12 (0xC) -> Undocumented | Size : 0x14 (20) AddressOfRawData : 0x2927EC | PointerToRawData : 0x2915EC [CompilerDetect] -> Visual C++ 12.0 (Visual Studio 2012) [!] File appears to have no protection or is using an unknown protection - Scan Took : 1.48 Second(s) [0000007A0h (1952) tick(s)] [506 of 580 scan(s) done]
Scanning -> C:\Program Files (x86)\Black Desert Online\libcef.dll File Type : 32-Bit Dll (Subsystem : Win CUI / 3), Size : 38714368 (024EBC00h) Byte(s) | Machine: 0x14C (I386) Compilation TimeStamp : 0x5322FF04 -> Fri 14th Mar 2014 13:07:16 (GMT) [TimeStamp] 0x5322FF04 -> Fri 14th Mar 2014 13:07:16 (GMT) | PE Header | - | Offset: 0x00000128 | VA: 0x10000128 | - [TimeStamp] 0x5322FEFD -> Fri 14th Mar 2014 13:07:09 (GMT) | Export | - | Offset: 0x022FA244 | VA: 0x122FB244 | - [TimeStamp] 0x5322FF04 -> Fri 14th Mar 2014 13:07:16 (GMT) | DebugDirectory | - | Offset: 0x01DBAC04 | VA: 0x11DBBC04 | - [!] Executable uses TLS callbacks (4 total... 0 invalid addresses) [LoadConfig] Struct determined as v8 (Expected size 140 | Actual size 64) [!] Executable uses SEH Tables (/SAFESEH) (8 calculated 8 recorded... 0 invalid addresses) [LoadConfig] CodeIntegrity -> Flags 0x0 | Catalog 0x0 (0) | Catalog Offset 0x53445352 | Reserved 0x228E8A50 [LoadConfig] GuardAddressTakenIatEntryTable 0x4E74A7EB | Count 0xFA723AB1 (4201790129) [LoadConfig] GuardLongJumpTargetTable 0xFBEF701E | Count 0x1 (1) [LoadConfig] HybridMetadataPointer 0x635C3A63 | DynamicValueRelocTable 0x775C6665 [LoadConfig] FailFastIndirectProc 0x736B726F | FailFastPointer 0x65636170 [LoadConfig] UnknownZero1 0x4645435C [File Heuristics] -> Flag #1 : 00000100000001001101000100000000 (0x0404D100) [Entrypoint Section Entropy] : 6.71 (section #0) ".text " | Size : 0x1DB9BC0 (31169472) byte(s) [DllCharacteristics] -> Flag : (0x0140) -> ASLR | DEP [SectionCount] 8 (0x8) | ImageSize 0x2543000 (39071744) byte(s) [Export] 100% of function(s) (139 of 139) are in file | 0 are forwarded | 139 code | 0 data | 0 uninit data | 0 unknown | [VersionInfo] Product Name : Chromium Embedded Framework (CEF) Dynamic Link Library [VersionInfo] Product Version : 3.1650.1639 [VersionInfo] File Description : Chromium Embedded Framework (CEF) Dynamic Link Library [VersionInfo] File Version : 3.1650.1639 [VersionInfo] Original FileName : libcef.dll [VersionInfo] Internal Name : libcef [VersionInfo] Legal Copyrights : Copyright (C) 2014 The Chromium Embedded Framework Authors [ModuleReport] [IAT] Modules -> USP10.dll | PSAPI.DLL | SHLWAPI.dll | KERNEL32.dll | GDI32.dll | WINSPOOL.DRV | COMDLG32.dll | ADVAPI32.dll | ole32.dll | OLEAUT32.dll | WINHTTP.dll | USERENV.dll | WTSAPI32.dll | urlmon.dll | RPCRT4.dll | dhcpcsvc.DLL | COMCTL32.dll | Secur32.dll | CRYPT32.dll | IPHLPAPI.DLL | IMM32.dll | OLEACC.dll | SETUPAPI.dll | WINMM.dll | WS2_32.dll | VERSION.dll [ModuleReport] [DelayImport] Modules -> SHELL32.dll | USER32.dll | dwmapi.dll | MF.dll | MFPlat.DLL | MFReadWrite.dll | d3d9.dll | dxva2.dll | ffmpegsumo.dll [Debug Info] (record 1 of 1) (file offset 0x1DBAC00) Characteristics : 0x0 | TimeDateStamp : 0x5322FF04 (Fri 14th Mar 2014 13:07:16 (GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 (0x2) -> CodeView | Size : 0x6C (108) AddressOfRawData : 0x22EFA00 | PointerToRawData : 0x22EEA00 CvSig : 0x53445352 | SigGuid 228E8A50-A7EB-4E74-B13A72FA1E70EFFB Age : 0x1 (1) | Pdb : c:\cef\workspace\CEF3-Windows-1650\download\chromium\src\out\Release\libcef.dll.pdb ... [CompilerDetect] -> Visual C++ 10.0 (Visual Studio 2010) [!] File appears to have no protection or is using an unknown protection - Scan Took : 6.851 Second(s) [000001805h (6149) tick(s)] [246 of 580 scan(s) done] --- snip ---
-> CEF build 3.1650.1639
Unfortunately the used 'libcef.dll' is too old, there are no public debug symbols available.
http://opensource.spotify.com/cefbuilds/index.html#windows32_builds
Disassembly at crash site, annotated:
--- snip --- ... 100817F0 | 55 | push ebp | 100817F1 | 8BEC | mov ebp,esp | 100817F3 | 81EC B4000000 | sub esp,B4 | 100817F9 | 53 | push ebx | 100817FA | 56 | push esi | 100817FB | 33DB | xor ebx,ebx | 100817FD | 8BF1 | mov esi,ecx | 100817FF | 895D FC | mov dword ptr ss:[ebp-4],ebx | 10081802 | E8 C9820600 | call libcef.100E9AD0 | 10081807 | 83F8 01 | cmp eax,1 | 1008180A | 75 41 | jne libcef.1008184D | 1008180C | E8 EF820600 | call libcef.100E9B00 | 10081811 | 83F8 03 | cmp eax,3 | 10081814 | 7F 37 | jg libcef.1008184D | 10081816 | 53 | push ebx | 10081817 | E8 54940B00 | call libcef.1013AC70 | 1008181C | 83C4 04 | add esp,4 | 1008181F | 84C0 | test al,al | 10081821 | 75 2A | jne libcef.1008184D | 10081823 | 6A 03 | push 3 | 10081825 | 6A 51 | push 51 | ; "c:\cef\workspace\cef3-windows-1650\download\chromium\src\chrome\browser\printing\print_job_manager.cc" 10081827 | 68 A03ADC11 | push libcef.11DC3AA0 | 1008182C | 8D8D 4CFFFFFF | lea ecx,dword ptr ss:[ebp-B4] | 10081832 | BB 01000000 | mov ebx,1 | 10081837 | E8 A48E0600 | call libcef.100EA6E0 | 1008183C | 83C0 08 | add eax,8 | ; "Check failed: content::BrowserThread::CurrentlyOn(content::BrowserThread::UI). " 1008183F | 68 5835DC11 | push libcef.11DC3558 | 10081844 | 50 | push eax | 10081845 | E8 16FFF7FF | call libcef.10001760 | 1008184A | 83C4 08 | add esp,8 | 1008184D | F6C3 01 | test bl,1 | 10081850 | 74 0E | je libcef.10081860 | 10081852 | 8D8D 4CFFFFFF | lea ecx,dword ptr ss:[ebp-B4] | 10081858 | 83E3 FE | and ebx,FFFFFFFE | 1008185B | E8 A0940600 | call libcef.100EAD00 | 10081860 | E8 6B820600 | call libcef.100E9AD0 | 10081865 | 83F8 01 | cmp eax,1 | 10081868 | 75 38 | jne libcef.100818A2 | 1008186A | E8 91820600 | call libcef.100E9B00 | 1008186F | 83F8 03 | cmp eax,3 | 10081872 | 7F 2E | jg libcef.100818A2 | 10081874 | 807E 28 00 | cmp byte ptr ds:[esi+28],0 | 10081878 | 74 28 | je libcef.100818A2 | 1008187A | 6A 03 | push 3 | 1008187C | 6A 52 | push 52 | ; "c:\cef\workspace\cef3-windows-1650\download\chromium\src\chrome\browser\printing\print_job_manager.cc" 1008187E | 68 A03ADC11 | push libcef.11DC3AA0 | 10081883 | 8D8D 4CFFFFFF | lea ecx,dword ptr ss:[ebp-B4] | 10081889 | 83CB 02 | or ebx,2 | 1008188C | E8 4F8E0600 | call libcef.100EA6E0 | 10081891 | 83C0 08 | add eax,8 | ; "Check failed: !is_shutdown_. " 10081894 | 68 C03BDC11 | push libcef.11DC3BC0 | 10081899 | 50 | push eax | 1008189A | E8 C1FEF7FF | call libcef.10001760 | 1008189F | 83C4 08 | add esp,8 | 100818A2 | F6C3 02 | test bl,2 | 100818A5 | 74 0B | je libcef.100818B2 | 100818A7 | 8D8D 4CFFFFFF | lea ecx,dword ptr ss:[ebp-B4] | 100818AD | E8 4E940600 | call libcef.100EAD00 | 100818B2 | 8D4E 04 | lea ecx,dword ptr ds:[esi+4] | 100818B5 | C646 28 01 | mov byte ptr ds:[esi+28],1 | *boom* 100818B9 | E8 D2310B00 | call libcef.10134A90 | --- snip ---
https://github.com/electron/electron/blob/3-0-x/chromium_src/chrome/browser/...
--- snip --- void PrintJobManager::Shutdown() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK(!is_shutdown_); is_shutdown_ = true; registrar_.RemoveAll(); StopJobs(true); if (queue_.get()) queue_->Shutdown(); queue_ = NULL; } --- snip ---
Removing/disabling of 'libGLESv2.dll' ('WINEDLLOVERRIDES=libglesv2.dll=d') partially works around. Partially = there is still a (different) gpu process crash but that one seems non-fatal overall. Main browser process works, the user interface shown, along with login.
$ sha1sum BlackDesertOnlineSetup_20180524_10010.exe e729c18f0ee555e913fe4c2524d2a0091d1231e5 BlackDesertOnlineSetup_20180524_10010.exe
$ du -sh BlackDesertOnlineSetup_20180524_10010.exe 50M BlackDesertOnlineSetup_20180524_10010.exe
$ wine --version wine-3.17
Regards
https://bugs.winehq.org/show_bug.cgi?id=44985
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44985
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
--- Comment #18 from Zhiyi Zhang zzhang@codeweavers.com --- *** Bug 44662 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #19 from Jason Pleau oxez911@gmail.com --- Created attachment 63942 --> https://bugs.winehq.org/attachment.cgi?id=63942 output from WINEDLLOVERRIDES=libglesv2.dll=d wine BIAS\ FX\ 2_x64.exe
Small update, (since I original wrote this report for BIAS FX...)
PositiveGrid has released a demo for Bias FX 2 (available at https://www.positivegrid.com/demo/).
The workarounds provided in here don't seem to work anymore (WINEDLLOVERRIDES=libglesv2.dll=d, WINEDLLOVERRIDES=d3d9.dll=d). All I get is a blank screen. (attaching output)
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #20 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 63975 --> https://bugs.winehq.org/attachment.cgi?id=63975 very sad hack
(In reply to Jason Pleau from comment #19)
Created attachment 63942 [details] output from WINEDLLOVERRIDES=libglesv2.dll=d wine BIAS\ FX\ 2_x64.exe
Small update, (since I original wrote this report for BIAS FX...)
PositiveGrid has released a demo for Bias FX 2 (available at https://www.positivegrid.com/demo/).
The workarounds provided in here don't seem to work anymore (WINEDLLOVERRIDES=libglesv2.dll=d, WINEDLLOVERRIDES=d3d9.dll=d). All I get is a blank screen. (attaching output)
Yes I get that too. Probably another update of some dll/something. Unfortunately one cannot pass commandline switches to the app (like one can do for some other cef apps)
Maybe this deserves a new bugreport, don`t know. Attached is a very sad hack that allowed me to start the program normally. As a bonus i got a nice crash while trying to exit the program...........
sha1sum BIAS_FX_2_Windows64bit_v2_0_0_4190.msi 07028bb13b3a597e58435101353049997440624a BIAS_FX_2_Windows64bit_v2_0_0_4190.msi
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=35913
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #21 from Jason Pleau oxez911@gmail.com --- Yes your patch does fix the issue.
Is there anything the developers of the program could do to prevent the need of that "very sad hack" as you call it ? :) I can send an email. They might not support Linux but surely they can be accomodating if it can make it work. Besides the crash on exit the application works perfectly (even better than the previous versions)
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #22 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Jason Pleau from comment #21)
Is there anything the developers of the program could do to prevent the need of that "very sad hack" as you call it ? :) I can send an email. They might not support Linux but surely they can be accomodating if it can make it work.
It would be easy I guess, just make sure that command line switches you pass to the program, are passed through to the CefSubProcess.exe. That way one could fiddle a bit with what works/what doesn`t. This sad hack just adds the "--single-process" switch to CefSubProcess.exe, there might be other combinations that work.
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adrianpluta4@gmail.com
--- Comment #23 from Louis Lenders xerox.xerox2000x@gmail.com --- *** Bug 46757 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob_lists@yahoo.co.uk
--- Comment #24 from Louis Lenders xerox.xerox2000x@gmail.com --- *** Bug 44387 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=39446
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=48068
https://bugs.winehq.org/show_bug.cgi?id=44985
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Prabesh432@gmail.com
--- Comment #25 from Anastasius Focht focht@gmx.net --- *** Bug 48309 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #26 from Jason Pleau oxez911@gmail.com --- Hi.
I finally updated to wine 5.5 (after being on 4.x for a long time), and the "sad hack" doesn't seem to apply anymore (patch failed to apply, not that it doesn't work). I took a shot at it, and the file is now named "dlls/kernelbase/process.c", and the code seems a bit different.
If anyone can make it work for 5.5 I'd be grateful, I'll try on my own and post the result if I can get it to work.
Cheers
https://bugs.winehq.org/show_bug.cgi?id=44985
Michael McGuire spoon0042@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |spoon0042@hotmail.com
--- Comment #27 from Michael McGuire spoon0042@hotmail.com --- This seems to affect Steam now as well, at least similar behavior and the same workaround works. So bug 48835 is probably a dup. (Steam can also be worked around by disabling hw accel in settings.)
https://bugs.winehq.org/show_bug.cgi?id=44985
Pranav Prabesh432@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|Prabesh432@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #28 from Jason Pleau oxez911@gmail.com --- Created attachment 67031 --> https://bugs.winehq.org/attachment.cgi?id=67031 sad hack v2
This is a patch that was given to me on #winehackers on freenode. It apparently it based on a patch that CrossOver uses.
Fixes issues for me for Bias FX 2.
https://bugs.winehq.org/show_bug.cgi?id=44985
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #29 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- *** Bug 48835 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Robert Walker bob.mt.wya@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44985
Anya animegirl@stronzi.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |animegirl@stronzi.org
https://bugs.winehq.org/show_bug.cgi?id=44985
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=44985
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #30 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
Origin is also affected. https://appdb.winehq.org/objectManager.php?sClass=version&iId=26175
Injecting --single-process helps but is not enough (errors in qtwebengineprocess.exe keep popping endlessly).
I tried --single-process with --disable-gpu (inspired by similar bug 48618 affecting Wargaming.net Game Center).
With those two parameters, there are still a few qtwebengineprocess.exe errors, but they don't come back when dismissed and the UI does render.
I also tried each --use-angle=* parameters, but none did help.
Injecting " --single-process --use-gl=desktop" gave the best result so far: There are no qtwebengineprocess.exe errors until the application is closed. Then there are 3 error dialog that can be dismissed.
The wineserver doesn't exit properly though, and I have to kill winedbg leftover processes, but that's common to all parameters combinations.
I got the CEF parameters from: https://peter.sh/experiments/chromium-command-line-switches/
Regards.
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #31 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Olivier F. R. Dierick from comment #30)
Injecting " --single-process --use-gl=desktop" gave the best result so far: There are no qtwebengineprocess.exe errors until the application is closed. Then there are 3 error dialog that can be dismissed.
I was wrong. It was pure random luck. It doesn't perform better than --single-process with --disable-gpu.
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #32 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
Downgrading to the wine 5.5 versions I used last week fixes both origin and steam for me. No need to inject arguments or disable gpu rendering. So, did a recent change in Wine trigger the use of libgles2 for them and make this bug appear, or are they entirely different issues? I'll have to do a regression test to find out.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=44985
Rafał Mikrut mikrutrafal54@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikrutrafal54@gmail.com
--- Comment #33 from Rafał Mikrut mikrutrafal54@gmail.com --- *** Bug 49159 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
jaap.aarts1@gmail.com jaap.aarts1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jaap.aarts1@gmail.com
--- Comment #34 from jaap.aarts1@gmail.com jaap.aarts1@gmail.com --- This also affects wargaming launcher, it needs openGL and crashes without it. Downgrading to wine 5.5 does not work.
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #35 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
(In reply to jaap.aarts1@gmail.com from comment #34)
This also affects wargaming launcher, it needs openGL and crashes without it. Downgrading to wine 5.5 does not work.
Wargaming.net Game Center doesn't crash for me, but it gives a black screen as in bug 48618. --disable-gpu is a workaround.
(In reply to Olivier F. R. Dierick from comment #32)
Downgrading to the wine 5.5 versions I used last week fixes both origin and steam for me. No need to inject arguments or disable gpu rendering. So, did a recent change in Wine trigger the use of libgles2 for them and make this bug appear, or are they entirely different issues? I'll have to do a regression test to find out.
I did the regression test for Origin between wine 5.5 and wine 5.7 and the commit that make the 'qtwebengineprocess.exe' crashes appear is commit 2b0977f. Reverting that commit suppresses all the 'qtwebengineprocess.exe' error dialogs, but the commit deals with dbghelp only, so may be it simply made the real issue show.
Wine 5.8 improves the experience with Origin, as the 'qtwebengineprocess.exe' errors only happens sometimes when the program closes. The window renders correctly, though, so it's probably different issues.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=44985
GloriousEggroll@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |GloriousEggroll@gmail.com
--- Comment #36 from GloriousEggroll@gmail.com --- This issue also affects the Warframe launcher when run in wined3d. WINEDLLOVERRIDES="libglesv2=d" works as a workaround.
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |limstash.w@gmail.com
--- Comment #37 from Louis Lenders xerox.xerox2000x@gmail.com --- *** Bug 49711 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maiktapwagner@aol.com
--- Comment #38 from Louis Lenders xerox.xerox2000x@gmail.com --- *** Bug 39446 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Levan yajev36228@onmail3.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yajev36228@onmail3.com
--- Comment #39 from Levan yajev36228@onmail3.com --- Created attachment 68191 --> https://bugs.winehq.org/attachment.cgi?id=68191 Modified main_delegate.cc for Cef/3163 for BIAS FX 2
To avoid having to modify Wine's kernel32.dll, instead of using Louis's hack to inject --single-process onto CefSubprocess.exe, you can replace the Cef files that come with BIAS (libcef.dll and related files at Common Files/PositiveGrid/BIAS FX 2 Plugins (64bit)/Resources) with a version compiled to append --single-process to the command line after execution. BIAS FX 2 uses the x64 release build of branch 3163 of Cef. After fetching Chromium and Cef repos and before building, edit CefMainDelegate::BasicStartupComplete in chromium/src/cef/libcef/common/main_delegate.cc so that command_line->AppendSwitch(switches::kSingleProcess); is always run (by deleting the if statement at line 309).
I've tested this for BIAS FX 2.1.1.4655 (though this should work for any version of BIAS FX 2 that uses libcef.dll version 3.3163). Attached is the modified main_delegate.cc file.
The following is a link to an archive of the generated Cef binary and related files, provided for convenience since compiling Chromium and Cef is a very time/resource/sanity-consuming process (though I don't take responsibility for any issues caused by using these files). Regardless of whether you compile Cef yourself or use the provided files, be sure to back up the ones that come with Bias. https://drive.google.com/file/d/1CY4S76I6W6br8EAl5n9GfnzLvinDGWZk/view?usp=s...
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #40 from Levan levanspublicemail@gmail.com --- Comment on attachment 68191 --> https://bugs.winehq.org/attachment.cgi?id=68191 Modified main_delegate.cc for Cef/3163 for BIAS FX 2
// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file.
#include "libcef/common/main_delegate.h" #include "libcef/browser/content_browser_client.h" #include "libcef/browser/context.h" #include "libcef/common/cef_switches.h" #include "libcef/common/command_line_impl.h" #include "libcef/common/crash_reporting.h" #include "libcef/common/extensions/extensions_util.h" #include "libcef/renderer/content_renderer_client.h" #include "libcef/utility/content_utility_client.h"
#include "base/base_switches.h" #include "base/command_line.h" #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/path_service.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/synchronization/waitable_event.h" #include "base/threading/thread.h" #include "chrome/browser/browser_process.h" #include "chrome/child/pdf_child_init.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" #include "components/content_settings/core/common/content_settings_pattern.h" #include "content/public/browser/browser_main_runner.h" #include "content/public/browser/render_process_host.h" #include "content/public/common/content_switches.h" #include "content/public/common/main_function_params.h" #include "extensions/common/constants.h" #include "ipc/ipc_features.h" #include "pdf/pdf.h" #include "ui/base/layout.h" #include "ui/base/material_design/material_design_controller.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/ui_base_paths.h" #include "ui/base/ui_base_switches.h"
#if BUILDFLAG(IPC_MESSAGE_LOG_ENABLED) #define IPC_MESSAGE_MACROS_LOG_ENABLED #include "content/public/common/content_ipc_logging.h" #define IPC_LOG_TABLE_ADD_ENTRY(msg_id, logger) \ content::RegisterIPCLogger(msg_id, logger) #include "libcef/common/cef_message_generator.h" #endif
#if defined(OS_WIN) #include <Objbase.h> #include "base/win/registry.h" #endif
#if defined(OS_MACOSX) #include "base/mac/bundle_locations.h" #include "base/mac/foundation_util.h" #include "content/public/common/content_paths.h" #include "libcef/common/util_mac.h" #endif
#if defined(OS_LINUX) #include "base/environment.h" #include "base/nix/xdg_util.h" #endif
namespace {
#if defined(OS_MACOSX)
base::FilePath GetResourcesFilePath() { return util_mac::GetFrameworkResourcesDirectory(); }
// Use a "~/Library/Logs/<app name>_debug.log" file where <app name> is the name // of the running executable. base::FilePath GetDefaultLogFile() { std::string exe_name = util_mac::GetMainProcessPath().BaseName().value(); return base::mac::GetUserLibraryPath() .Append(FILE_PATH_LITERAL("Logs")) .Append(FILE_PATH_LITERAL(exe_name + "_debug.log")); }
void OverrideFrameworkBundlePath() { base::FilePath framework_path = util_mac::GetFrameworkDirectory(); DCHECK(!framework_path.empty());
base::mac::SetOverrideFrameworkBundlePath(framework_path); }
void OverrideChildProcessPath() { base::FilePath child_process_path = base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( switches::kBrowserSubprocessPath);
if (child_process_path.empty()) { child_process_path = util_mac::GetChildProcessPath(); DCHECK(!child_process_path.empty()); }
// Used by ChildProcessHost::GetChildPath and PlatformCrashpadInitialization. PathService::Override(content::CHILD_PROCESS_EXE, child_process_path); }
#else // !defined(OS_MACOSX)
base::FilePath GetResourcesFilePath() { base::FilePath pak_dir; PathService::Get(base::DIR_MODULE, &pak_dir); return pak_dir; }
// Use a "debug.log" file in the running executable's directory. base::FilePath GetDefaultLogFile() { base::FilePath log_path; PathService::Get(base::DIR_EXE, &log_path); return log_path.Append(FILE_PATH_LITERAL("debug.log")); }
#endif // !defined(OS_MACOSX)
#if defined(OS_WIN)
// Gets the Flash path if installed on the system. bool GetSystemFlashFilename(base::FilePath* out_path) { const wchar_t kPepperFlashRegistryRoot[] = L"SOFTWARE\Macromedia\FlashPlayerPepper"; const wchar_t kFlashPlayerPathValueName[] = L"PlayerPath";
base::win::RegKey path_key(HKEY_LOCAL_MACHINE, kPepperFlashRegistryRoot, KEY_READ); base::string16 path_str; if (FAILED(path_key.ReadValue(kFlashPlayerPathValueName, &path_str))) return false;
*out_path = base::FilePath(path_str); return true; }
#elif defined(OS_MACOSX)
const base::FilePath::CharType kPepperFlashSystemBaseDirectory[] = FILE_PATH_LITERAL("Internet Plug-Ins/PepperFlashPlayer");
#endif
void OverridePepperFlashSystemPluginPath() { base::FilePath plugin_filename; #if defined(OS_WIN) if (!GetSystemFlashFilename(&plugin_filename)) return; #elif defined(OS_MACOSX) if (!util_mac::GetLocalLibraryDirectory(&plugin_filename)) return; plugin_filename = plugin_filename.Append(kPepperFlashSystemBaseDirectory) .Append(chrome::kPepperFlashPluginFilename); #else // A system plugin is not available on other platforms. return; #endif
if (!plugin_filename.empty()) { PathService::Override(chrome::FILE_PEPPER_FLASH_SYSTEM_PLUGIN, plugin_filename); } }
#if defined(OS_LINUX)
// Based on chrome/common/chrome_paths_linux.cc. // See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html // for a spec on where config files go. The net effect for most // systems is we use ~/.config/chromium/ for Chromium and // ~/.config/google-chrome/ for official builds. // (This also helps us sidestep issues with other apps grabbing ~/.chromium .) bool GetDefaultUserDataDirectory(base::FilePath* result) { std::unique_ptrbase::Environment env(base::Environment::Create()); base::FilePath config_dir(base::nix::GetXDGDirectory( env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir)); *result = config_dir.Append(FILE_PATH_LITERAL("cef_user_data")); return true; }
#elif defined(OS_MACOSX)
// Based on chrome/common/chrome_paths_mac.mm. bool GetDefaultUserDataDirectory(base::FilePath* result) { if (!PathService::Get(base::DIR_APP_DATA, result)) return false; *result = result->Append(FILE_PATH_LITERAL("CEF")); *result = result->Append(FILE_PATH_LITERAL("User Data")); return true; }
#elif defined(OS_WIN)
// Based on chrome/common/chrome_paths_win.cc. bool GetDefaultUserDataDirectory(base::FilePath* result) { if (!PathService::Get(base::DIR_LOCAL_APP_DATA, result)) return false; *result = result->Append(FILE_PATH_LITERAL("CEF")); *result = result->Append(FILE_PATH_LITERAL("User Data")); return true; }
#endif
base::FilePath GetUserDataPath() { const CefSettings& settings = CefContext::Get()->settings(); if (settings.user_data_path.length > 0) return base::FilePath(CefString(&settings.user_data_path));
base::FilePath result; if (GetDefaultUserDataDirectory(&result)) return result;
if (PathService::Get(base::DIR_TEMP, &result)) return result;
NOTREACHED(); return result; }
// Returns true if |scale_factor| is supported by this platform. // Same as ResourceBundle::IsScaleFactorSupported. bool IsScaleFactorSupported(ui::ScaleFactor scale_factor) { const std::vectorui::ScaleFactor& supported_scale_factors = ui::GetSupportedScaleFactors(); return std::find(supported_scale_factors.begin(), supported_scale_factors.end(), scale_factor) != supported_scale_factors.end(); }
// Used to run the UI on a separate thread. class CefUIThread : public base::Thread { public: explicit CefUIThread(const content::MainFunctionParams& main_function_params) : base::Thread("CefUIThread"), main_function_params_(main_function_params) {}
void Init() override { #if defined(OS_WIN) // Initializes the COM library on the current thread. CoInitialize(NULL); #endif
// Use our own browser process runner. browser_runner_.reset(content::BrowserMainRunner::Create());
// Initialize browser process state. Uses the current thread's mesage loop. int exit_code = browser_runner_->Initialize(main_function_params_); CHECK_EQ(exit_code, -1); }
void CleanUp() override { browser_runner_->Shutdown(); browser_runner_.reset(NULL);
#if defined(OS_WIN) // Closes the COM library on the current thread. CoInitialize must // be balanced by a corresponding call to CoUninitialize. CoUninitialize(); #endif }
protected: content::MainFunctionParams main_function_params_; std::unique_ptrcontent::BrowserMainRunner browser_runner_; };
} // namespace
CefMainDelegate::CefMainDelegate(CefRefPtr<CefApp> application) : content_client_(application) { // Necessary so that exported functions from base_impl.cc will be included // in the binary. extern void base_impl_stub(); base_impl_stub(); }
CefMainDelegate::~CefMainDelegate() {}
bool CefMainDelegate::BasicStartupComplete(int* exit_code) { base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType);
#if defined(OS_POSIX) // Read the crash configuration file. Platforms using Breakpad also add a // command-line switch. On Windows this is done from chrome_elf. crash_reporting::BasicStartupComplete(command_line); #endif
if (process_type.empty()) { // In the browser process. Populate the global command-line object. const CefSettings& settings = CefContext::Get()->settings();
if (settings.command_line_args_disabled) { // Remove any existing command-line arguments. base::CommandLine::StringVector argv; argv.push_back(command_line->GetProgram().value()); command_line->InitFromArgv(argv);
const base::CommandLine::SwitchMap& map = command_line->GetSwitches(); const_castbase::CommandLine::SwitchMap*(&map)->clear(); }
command_line->AppendSwitch(switches::kSingleProcess);
bool no_sandbox = settings.no_sandbox ? true : false;
if (settings.browser_subprocess_path.length > 0) { base::FilePath file_path = base::FilePath(CefString(&settings.browser_subprocess_path)); if (!file_path.empty()) { command_line->AppendSwitchPath(switches::kBrowserSubprocessPath, file_path);
#if defined(OS_WIN) // The sandbox is not supported when using a separate subprocess // executable on Windows. no_sandbox = true; #endif } }
#if defined(OS_MACOSX) if (settings.framework_dir_path.length > 0) { base::FilePath file_path = base::FilePath(CefString(&settings.framework_dir_path)); if (!file_path.empty()) command_line->AppendSwitchPath(switches::kFrameworkDirPath, file_path); } #endif
if (no_sandbox) command_line->AppendSwitch(switches::kNoSandbox);
if (settings.user_agent.length > 0) { command_line->AppendSwitchASCII(switches::kUserAgent, CefString(&settings.user_agent)); } else if (settings.product_version.length > 0) { command_line->AppendSwitchASCII(switches::kProductVersion, CefString(&settings.product_version)); }
if (settings.locale.length > 0) { command_line->AppendSwitchASCII(switches::kLang, CefString(&settings.locale)); } else if (!command_line->HasSwitch(switches::kLang)) { command_line->AppendSwitchASCII(switches::kLang, "en-US"); }
base::FilePath log_file; bool has_log_file_cmdline = false; if (settings.log_file.length > 0) log_file = base::FilePath(CefString(&settings.log_file)); if (log_file.empty() && command_line->HasSwitch(switches::kLogFile)) { log_file = command_line->GetSwitchValuePath(switches::kLogFile); if (!log_file.empty()) has_log_file_cmdline = true; } if (log_file.empty()) log_file = GetDefaultLogFile(); DCHECK(!log_file.empty()); if (!has_log_file_cmdline) command_line->AppendSwitchPath(switches::kLogFile, log_file);
if (settings.log_severity != LOGSEVERITY_DEFAULT) { std::string log_severity; switch (settings.log_severity) { case LOGSEVERITY_VERBOSE: log_severity = switches::kLogSeverity_Verbose; break; case LOGSEVERITY_INFO: log_severity = switches::kLogSeverity_Info; break; case LOGSEVERITY_WARNING: log_severity = switches::kLogSeverity_Warning; break; case LOGSEVERITY_ERROR: log_severity = switches::kLogSeverity_Error; break; case LOGSEVERITY_DISABLE: log_severity = switches::kLogSeverity_Disable; break; default: break; } if (!log_severity.empty()) command_line->AppendSwitchASCII(switches::kLogSeverity, log_severity); }
if (settings.javascript_flags.length > 0) { command_line->AppendSwitchASCII(switches::kJavaScriptFlags, CefString(&settings.javascript_flags)); }
if (settings.pack_loading_disabled) { command_line->AppendSwitch(switches::kDisablePackLoading); } else { if (settings.resources_dir_path.length > 0) { base::FilePath file_path = base::FilePath(CefString(&settings.resources_dir_path)); if (!file_path.empty()) { command_line->AppendSwitchPath(switches::kResourcesDirPath, file_path); } }
if (settings.locales_dir_path.length > 0) { base::FilePath file_path = base::FilePath(CefString(&settings.locales_dir_path)); if (!file_path.empty()) command_line->AppendSwitchPath(switches::kLocalesDirPath, file_path); } }
if (settings.remote_debugging_port >= 1024 && settings.remote_debugging_port <= 65535) { command_line->AppendSwitchASCII( switches::kRemoteDebuggingPort, base::IntToString(settings.remote_debugging_port)); }
if (settings.uncaught_exception_stack_size > 0) { command_line->AppendSwitchASCII( switches::kUncaughtExceptionStackSize, base::IntToString(settings.uncaught_exception_stack_size)); } }
if (content_client_.application().get()) { // Give the application a chance to view/modify the command line. CefRefPtr<CefCommandLineImpl> commandLinePtr( new CefCommandLineImpl(command_line, false, false)); content_client_.application()->OnBeforeCommandLineProcessing( CefString(process_type), commandLinePtr.get()); commandLinePtr->Detach(NULL); }
// Initialize logging. logging::LoggingSettings log_settings;
const base::FilePath& log_file = command_line->GetSwitchValuePath(switches::kLogFile); DCHECK(!log_file.empty()); log_settings.log_file = log_file.value().c_str();
log_settings.lock_log = logging::DONT_LOCK_LOG_FILE; log_settings.delete_old = logging::APPEND_TO_OLD_LOG_FILE;
logging::LogSeverity log_severity = logging::LOG_INFO;
std::string log_severity_str = command_line->GetSwitchValueASCII(switches::kLogSeverity); if (!log_severity_str.empty()) { if (base::LowerCaseEqualsASCII(log_severity_str, switches::kLogSeverity_Verbose)) { log_severity = logging::LOG_VERBOSE; } else if (base::LowerCaseEqualsASCII(log_severity_str, switches::kLogSeverity_Warning)) { log_severity = logging::LOG_WARNING; } else if (base::LowerCaseEqualsASCII(log_severity_str, switches::kLogSeverity_Error)) { log_severity = logging::LOG_ERROR; } else if (base::LowerCaseEqualsASCII(log_severity_str, switches::kLogSeverity_Disable)) { log_severity = LOGSEVERITY_DISABLE; } }
if (log_severity == LOGSEVERITY_DISABLE) { log_settings.logging_dest = logging::LOG_NONE; } else { log_settings.logging_dest = logging::LOG_TO_ALL; logging::SetMinLogLevel(log_severity); }
logging::InitLogging(log_settings);
ContentSettingsPattern::SetNonWildcardDomainNonPortScheme( extensions::kExtensionScheme);
content::SetContentClient(&content_client_);
#if defined(OS_MACOSX) OverrideFrameworkBundlePath(); #endif
return false; }
void CefMainDelegate::PreSandboxStartup() { const base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); const std::string& process_type = command_line->GetSwitchValueASCII(switches::kProcessType);
if (process_type.empty()) { // Only override these paths when executing the main process. #if defined(OS_MACOSX) OverrideChildProcessPath(); #endif
OverridePepperFlashSystemPluginPath();
const base::FilePath& user_data_path = GetUserDataPath(); PathService::Override(chrome::DIR_USER_DATA, user_data_path);
// Path used for crash dumps. PathService::Override(chrome::DIR_CRASH_DUMPS, user_data_path);
// Path used for spell checking dictionary files. PathService::OverrideAndCreateIfNeeded( chrome::DIR_APP_DICTIONARIES, user_data_path.AppendASCII("Dictionaries"), false, // May not be an absolute path. true); // Create if necessary. }
if (command_line->HasSwitch(switches::kDisablePackLoading)) content_client_.set_pack_loading_disabled(true);
// Initialize crash reporting state for this process/module. // chrome::DIR_CRASH_DUMPS must be configured before calling this function. crash_reporting::PreSandboxStartup(*command_line, process_type);
InitializeResourceBundle(); chrome::InitializePDF(); }
void CefMainDelegate::SandboxInitialized(const std::string& process_type) { CefContentClient::SetPDFEntryFunctions(chrome_pdf::PPP_GetInterface, chrome_pdf::PPP_InitializeModule, chrome_pdf::PPP_ShutdownModule); }
int CefMainDelegate::RunProcess( const std::string& process_type, const content::MainFunctionParams& main_function_params) { if (process_type.empty()) { const CefSettings& settings = CefContext::Get()->settings(); if (!settings.multi_threaded_message_loop) { // Use our own browser process runner. browser_runner_.reset(content::BrowserMainRunner::Create());
// Initialize browser process state. Results in a call to // CefBrowserMain::PreMainMessageLoopStart() which creates the UI message // loop. int exit_code = browser_runner_->Initialize(main_function_params); if (exit_code >= 0) return exit_code; } else { // Run the UI on a separate thread. std::unique_ptrbase::Thread thread; thread.reset(new CefUIThread(main_function_params)); base::Thread::Options options; options.message_loop_type = base::MessageLoop::TYPE_UI; if (!thread->StartWithOptions(options)) { NOTREACHED() << "failed to start UI thread"; return 1; } thread->WaitUntilThreadStarted(); ui_thread_.swap(thread); }
return 0; }
return -1; }
void CefMainDelegate::ProcessExiting(const std::string& process_type) { ResourceBundle::CleanupSharedInstance(); }
#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) void CefMainDelegate::ZygoteForked() { base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); const std::string& process_type = command_line->GetSwitchValueASCII(switches::kProcessType); // Initialize crash reporting state for the newly forked process. crash_reporting::ZygoteForked(command_line, process_type); } #endif
content::ContentBrowserClient* CefMainDelegate::CreateContentBrowserClient() { browser_client_.reset(new CefContentBrowserClient); return browser_client_.get(); }
content::ContentRendererClient* CefMainDelegate::CreateContentRendererClient() { renderer_client_.reset(new CefContentRendererClient); return renderer_client_.get(); }
content::ContentUtilityClient* CefMainDelegate::CreateContentUtilityClient() { utility_client_.reset(new CefContentUtilityClient); return utility_client_.get(); }
void CefMainDelegate::ShutdownBrowser() { if (browser_runner_.get()) { browser_runner_->Shutdown(); browser_runner_.reset(NULL); } if (ui_thread_.get()) { // Blocks until the thread has stopped. ui_thread_->Stop(); ui_thread_.reset(); } }
void CefMainDelegate::InitializeResourceBundle() { const base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); base::FilePath cef_pak_file, cef_100_percent_pak_file, cef_200_percent_pak_file, cef_extensions_pak_file, devtools_pak_file, locales_dir;
base::FilePath resources_dir; if (command_line->HasSwitch(switches::kResourcesDirPath)) { resources_dir = command_line->GetSwitchValuePath(switches::kResourcesDirPath); } if (resources_dir.empty()) resources_dir = GetResourcesFilePath(); if (!resources_dir.empty()) PathService::Override(chrome::DIR_RESOURCES, resources_dir);
if (!content_client_.pack_loading_disabled()) { if (!resources_dir.empty()) { CHECK(resources_dir.IsAbsolute()); cef_pak_file = resources_dir.Append(FILE_PATH_LITERAL("cef.pak")); cef_100_percent_pak_file = resources_dir.Append(FILE_PATH_LITERAL("cef_100_percent.pak")); cef_200_percent_pak_file = resources_dir.Append(FILE_PATH_LITERAL("cef_200_percent.pak")); cef_extensions_pak_file = resources_dir.Append(FILE_PATH_LITERAL("cef_extensions.pak")); devtools_pak_file = resources_dir.Append(FILE_PATH_LITERAL("devtools_resources.pak")); }
if (command_line->HasSwitch(switches::kLocalesDirPath)) locales_dir = command_line->GetSwitchValuePath(switches::kLocalesDirPath);
if (!locales_dir.empty()) PathService::Override(ui::DIR_LOCALES, locales_dir); }
std::string locale = command_line->GetSwitchValueASCII(switches::kLang); DCHECK(!locale.empty());
// Avoid DCHECK() in ResourceBundle::LoadChromeResources(). ui::MaterialDesignController::Initialize();
const std::string loaded_locale = ui::ResourceBundle::InitSharedInstanceWithLocale( locale, &content_client_, ui::ResourceBundle::LOAD_COMMON_RESOURCES); if (!loaded_locale.empty() && g_browser_process) g_browser_process->SetApplicationLocale(loaded_locale);
ResourceBundle& resource_bundle = ResourceBundle::GetSharedInstance();
if (!content_client_.pack_loading_disabled()) { if (loaded_locale.empty()) LOG(ERROR) << "Could not load locale pak for " << locale;
content_client_.set_allow_pack_file_load(true);
if (base::PathExists(cef_pak_file)) { resource_bundle.AddDataPackFromPath(cef_pak_file, ui::SCALE_FACTOR_NONE); } else { LOG(ERROR) << "Could not load cef.pak"; }
// On OS X and Linux/Aura always load the 1x data pack first as the 2x data // pack contains both 1x and 2x images. const bool load_100_percent = #if defined(OS_WIN) IsScaleFactorSupported(ui::SCALE_FACTOR_100P); #else true; #endif
if (load_100_percent) { if (base::PathExists(cef_100_percent_pak_file)) { resource_bundle.AddDataPackFromPath(cef_100_percent_pak_file, ui::SCALE_FACTOR_100P); } else { LOG(ERROR) << "Could not load cef_100_percent.pak"; } }
if (IsScaleFactorSupported(ui::SCALE_FACTOR_200P)) { if (base::PathExists(cef_200_percent_pak_file)) { resource_bundle.AddDataPackFromPath(cef_200_percent_pak_file, ui::SCALE_FACTOR_200P); } else { LOG(ERROR) << "Could not load cef_200_percent.pak"; } }
if (extensions::ExtensionsEnabled()) { if (base::PathExists(cef_extensions_pak_file)) { resource_bundle.AddDataPackFromPath(cef_extensions_pak_file, ui::SCALE_FACTOR_NONE); } else { LOG(ERROR) << "Could not load cef_extensions.pak"; } }
if (base::PathExists(devtools_pak_file)) { resource_bundle.AddDataPackFromPath(devtools_pak_file, ui::SCALE_FACTOR_NONE); }
content_client_.set_allow_pack_file_load(false); } }
https://bugs.winehq.org/show_bug.cgi?id=44985
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq_bugzilla@yahoo.com
--- Comment #41 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- *** Bug 50023 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |betaversiondot@gmail.com
--- Comment #42 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- *** Bug 50212 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Anton Romanov theli.ua@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |theli.ua@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44985
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |elias_0000_0000@yahoo.com
--- Comment #43 from Zebediah Figura z.figura12@gmail.com --- *** Bug 50350 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |50413
https://bugs.winehq.org/show_bug.cgi?id=44985
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |darkmoon209@gmail.com
--- Comment #44 from Gijs Vermeulen gijsvrm@gmail.com --- *** Bug 50490 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=44985
gardenapple gardenapple@posteo.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gardenapple@posteo.net
https://bugs.winehq.org/show_bug.cgi?id=44985
hujq@live.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hujq@live.com
https://bugs.winehq.org/show_bug.cgi?id=44985
Gcenx gcenx83@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gcenx83@gmail.com
--- Comment #45 from Gcenx gcenx83@gmail.com --- This seems to be resolved from at least wine-7.0, I’ve tested this by not disabling this for Steam and now the Login UI is no longer black, where disabling this causes Steams Login UI to just be a black window.
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #46 from Gcenx gcenx83@gmail.com --- (In reply to Gcenx from comment #45)
This seems to be resolved from at least wine-7.0, I’ve tested this by not disabling this for Steam and now the Login UI is no longer black, where disabling this causes Steams Login UI to just be a black window.
After the latest Steam update this is no longer true, it's even rendered black with libglesv2 set to disabled.
https://bugs.winehq.org/show_bug.cgi?id=44985
Neko-san nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=44985
Daniele Faugiana dani.faugiana@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dani.faugiana@gmail.com
--- Comment #47 from Daniele Faugiana dani.faugiana@gmail.com --- Same bug running Dacia Toolbox 4 to upgrade the navi system. The solution with WINEDLLOVERRIDES="libglesv2=d" works for me, the window is rendered.
https://bugs.winehq.org/show_bug.cgi?id=44985
--- Comment #48 from Daniele Faugiana dani.faugiana@gmail.com --- Same bug running Dacia Toolbox 4 to upgrade the navi system. The solution with WINEDLLOVERRIDES="libglesv2=d" works for me, the window is rendered.
https://bugs.winehq.org/show_bug.cgi?id=44985
soredake broaden_acid002@simplelogin.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|broaden_acid002@simplelogin | |.com |
https://bugs.winehq.org/show_bug.cgi?id=44985
Lars Loe madbyte@tuta.io changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madbyte@tuta.io
--- Comment #49 from Lars Loe madbyte@tuta.io --- Created attachment 76223 --> https://bugs.winehq.org/attachment.cgi?id=76223 Log wine-staging-9.2-bsglauncher
No launch args used.
Setting one of the following args helps usually, but none does work reliably: --disable-gpu --disable-gpu-compositing
Using `libglesv2=disabled` also works sometimes but sometimes it still is rendered black.
https://bugs.winehq.org/show_bug.cgi?id=44985
m1m1k4tz m1m1k4tz@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |m1m1k4tz@protonmail.com
--- Comment #50 from m1m1k4tz m1m1k4tz@protonmail.com --- *** Bug 56765 has been marked as a duplicate of this bug. ***