[Bug 53060] New: [Regression]Anno 1404 crashes at launch with discrete GPU

WineHQ Bugzilla wine-bugs at winehq.org
Sat May 28 03:18:41 CDT 2022


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

            Bug ID: 53060
           Summary: [Regression]Anno 1404 crashes at launch with discrete
                    GPU
           Product: Wine
           Version: 7.9
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: winex11.drv
          Assignee: wine-bugs at winehq.org
          Reporter: berillions at gmail.com
                CC: zzhang at codeweavers.com
   Regression SHA1: 4a98b07c4bcc35a698448261478ba856c149cbea
      Distribution: Debian

Hi,

This issue does not appears on my Desktop, only on my laptop. This laptop is a
MSI with Ryzen 5800H and AMD 6700M.

With wine 7.9, if i launch the game with iGPU (from the CPU), it works. But if
i launch the game with the dGPU (6700M), it crashes at launch.

Tu use the dGPU with OpenGL/Vulkan application, i need to use this env variable
: DRI_PRIME=1

I did a regression test and the 1st bad commit is : 
######
commit 4a98b07c4bcc35a698448261478ba856c149cbea
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Tue May 17 14:17:53 2022 +0800

    winex11.drv: Open a Vulkan device for D3DKMTOpenAdapterFromLuid().

    The Vulkan device is used for querying video memory information for
implementing
    D3DKMTQueryVideoMemoryInfo().

    Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
    Signed-off-by: Huw Davies <huw at codeweavers.com>
    Signed-off-by: Alexandre Julliard <julliard at winehq.org>

 dlls/win32u/dibdrv/dc.c        |   4 +
 dlls/win32u/driver.c           |  19 ++++
 dlls/win32u/emfdrv.c           |   2 +
 dlls/win32u/font.c             |   2 +
 dlls/win32u/gdiobj.c           |   3 +
 dlls/win32u/path.c             |   2 +
 dlls/win32u/syscall.c          |   3 -
 dlls/win32u/win32u.spec        |   6 +-
 dlls/win32u/win32u_private.h   |   3 +
 dlls/win32u/wrappers.c         |  18 +++
 dlls/wineps.drv/init.c         |   2 +
 dlls/winex11.drv/init.c        |   2 +
 dlls/winex11.drv/x11drv.h      |   2 +
 dlls/winex11.drv/x11drv_main.c | 250 +++++++++++++++++++++++++++++++++++++++++
 dlls/winex11.drv/xrender.c     |   2 +
 dlls/wow64win/gdi.c            |  34 ------
 dlls/wow64win/syscall.h        |   3 -
 include/ddk/d3dkmthk.h         |   1 +
 include/wine/gdi_driver.h      |   2 +
 19 files changed, 317 insertions(+), 43 deletions(-)
######

It not possible to revert this commit in git so i build wine with this last
commit (git checkout BAD_COMMIT_HASH) and with his previous commit (git
checkout 37b74e644a9011e9c79c2540c4bb7152555037a3)

So i can confirm that the game crashes with the bad commit and works with the
previous commit.

The only thing i don't understand is that Anno 1404 is a directx9/directx10
game so not supported by DAMAVAND. I can't explain why this commit break the
game, i use it with wined3d opengl backend. 

With DXVK, the game does not crash. But DRI_PRIME=1 is not needed, DXVK
find/use automatically my 6700M.

-- 
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