[Bug 48618] Wargaming.net Game Center shows black screen on launch since Wine 4.21

WineHQ Bugzilla wine-bugs at winehq.org
Mon May 18 08:00:57 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=48618

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |https://eu.wargaming.net/en
                   |                            |/wgc
    Regression SHA1|                            |645eb62f709275ac46c2a7ea59b
                   |                            |f8bcba34c7edd
            Summary|Wargaming.net Game Center   |Wargaming.net Game Center
                   |shows black screen on       |shows black screen on
                   |launch since Wine 5.0       |launch since Wine 4.21
                 CC|                            |focht at gmx.net
            Version|5.0                         |4.21
           Keywords|                            |download, regression

--- Comment #13 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

--- quote ---
The Game Center works before wine-5.0.
--- quote ---

well, a regression test which almost everyone should be able to perform could
have already provided more insight.

https://wiki.winehq.org/Regression_Testing

Regression introduced by:

https://source.winehq.org/git/wine.git/commitdiff/645eb62f709275ac46c2a7ea59bf8bcba34c7edd
("wined3d: Create a backup context if setting the pixel format failed in
wined3d_context_gl_create_wgl_ctx().")

author    Paul Gofman <gofmanp at gmail.com>    
    Mon, 18 Nov 2019 14:18:12 +0000 (17:48 +0330)
committer    Alexandre Julliard <julliard at winehq.org>    
    Mon, 18 Nov 2019 21:12:38 +0000 (22:12 +0100)

Part of Wine 4.21 release.

Unfortunately there is no Bugzilla ticket reference which apps/games were
supposedly fixed by this.

There is no clean revert on current master HEAD due to further wined3d
refactorings hence use this patch:

--- snip ---
$ git diff

diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c
index b168e6026a..e06ff1a6ea 100644
--- a/dlls/wined3d/context_gl.c
+++ b/dlls/wined3d/context_gl.c
@@ -1926,27 +1926,11 @@ static BOOL wined3d_context_gl_create_wgl_ctx(struct
wined3d_context_gl *context

     if (!wined3d_context_gl_set_pixel_format(context_gl))
     {
-        context_release(context);
-
-        if (context_gl->dc_is_private)
-        {
-            ERR("Failed to set pixel format %d on device context %p.\n",
context_gl->pixel_format, context_gl->dc);
-
-            return FALSE;
-        }
-
-        WARN("Failed to set pixel format %d on device context %p, trying
backup DC.\n",
-                context_gl->pixel_format, context_gl->dc);
+        ERR("Failed to set pixel format %d on device context %p.\n",
context_gl->pixel_format, context_gl->dc);

-        wined3d_release_dc(context_gl->window, context_gl->dc);
-        if (!(context_gl->dc =
wined3d_swapchain_gl_get_backup_dc(swapchain_gl)))
-        {
-            ERR("Failed to retrieve the backup device context.\n");
-            return FALSE;
-        }
-        context_gl->dc_is_private = TRUE;
+        context_release(context);

-        return wined3d_context_gl_create_wgl_ctx(context_gl, swapchain_gl);
+        return FALSE;
     }

     share_ctx = device->context_count ?
wined3d_context_gl(device->contexts[0])->gl_ctx : NULL;
--- snip ---

But that will just let the launcher to fall back to failsafe (in-process)
behaviour after it detects it can't run separate gpu process ('wgc_renderer.exe
--type=gpu-process ...').

--- snip ---
...
04ac:warn:debugstr:OutputDebugStringA
"[0518/142619.054:ERROR:viz_main_impl.cc(176)] Exiting GPU process due to
errors during initialization\n"
[0518/142619.054:ERROR:viz_main_impl.cc(176)] Exiting GPU process due to errors
during initialization
020c:warn:debugstr:OutputDebugStringA
"[0518/142620.886:WARNING:gpu_process_host.cc(1220)] The GPU process has
crashed 4 time(s)\n"
[0518/142620.886:WARNING:gpu_process_host.cc(1220)] The GPU process has crashed
4 time(s)
020c:warn:debugstr:OutputDebugStringA
"[0518/142620.888:ERROR:browser_gpu_channel_host_factory.cc(138)] Failed to
launch GPU process.\n"
[0518/142620.888:ERROR:browser_gpu_channel_host_factory.cc(138)] Failed to
launch GPU process.
--- snip ---

$ wine --version
wine-5.8-173-g9e26bc8116

Regard

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list