https://bugs.winehq.org/show_bug.cgi?id=56421
Bug ID: 56421 Summary: Wine crash with a X error Product: Wine Version: 9.4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: titan.costa@gmail.com Distribution: ---
When I run winecfg, I get the X error:
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 156 (NV-GLX) Minor opcode of failed request: 43 () Serial number of failed request: 147 Current serial number in output stream: 148 00ec:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 00ec:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
The regression shows the following causes the crash:
commit d287548c77350b81faa946b0977dffcbfcce9b83 => BAD Author: Zhiyi Zhang zzhang@codeweavers.com Date: Wed Feb 28 10:22:23 2024 +0800
Revert "winex11.drv: Handle X error from vkGetRandROutputDisplayEXT()."
This reverts commit 6f9d20806e821ab07c8adf81ae6630fae94b00ef.
6f9d208 was committed to work around a Nvidia driver bug that can cause vkGetRandROutputDisplayEXT() to generate an X exception and crash applications. The bug is later fixed in Nvidia driver 450.56.11 and newer. Thus 6f9d208 is no longer necessary on the newer Nvidia drivers.
Then after 18ae96e, another bug in the Nvidia driver can cause vkGetRandROutputDisplayEXT() to hang forever when XLockDisplay() is called before vkGetRandROutputDisplayEXT() and this bug is still not fixed and affects multiple applications. Reverting 6f9d208 allows us to work around the vkGetRandROutputDisplayEXT() hang bug because then it no longer calls XLockDisplay() before vkGetRandROutputDisplayEXT().
Nvidia driver 455 was released on September 9th 2020 so hopefully the fix is already widespread. We could theoretically still keep 6f9d208 on older Nvidia drivers by doing version checks. But it's more straightforward to remove the workaround since it's not a bug of Wine.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53428
Reverting the commit fixes the crash.
Environment is:
Ubuntu 22.10 NVIDIA GeForce RTX 3070 Laptop Driver version is 535.54.03