https://bugs.winehq.org/show_bug.cgi?id=49407
Bug ID: 49407 Summary: Display device initialization fails due to vkGetRandROutputDisplayEXT() causing X exception on dual Nvidia / Intel GPU configuration (regression). Product: Wine Version: 5.10 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: pgofman@codeweavers.com Distribution: ---
Wine can't create any window on the mentioned configuration after 145cfce1135a7e59cc4c89cd05b572403f188161:
winex11.drv: Add a Vulkan UUID property for GPUs. A Vulkan UUID property is used to find the corresponding GPU in SetupAPI. Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Liam Middlebrook lmiddlebrook@nvidia.com Signed-off-by: Alexandre Julliard julliard@winehq.org
$ xrandr --listproviders
Providers: number : 2 Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 4 associated providers: 1 name:NVIDIA-0 Provider 1: id: 0x1e9 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:modesetting
The exception happens when vkGetRandROutputDisplayEXT is called with Nvidia device for Provider 1 (modesetting):
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 155 (NV-GLX) Minor opcode of failed request: 31 () Serial number of failed request: 147 Current serial number in output stream: 147
This looks like a bug between between vulkan implementation and xrandr, as vulkan spec for vkGetRandROutputDisplayEXT clearly says that it should return VK_NULL_HANDLE for missing output.
Still I guess we might need a temporary solution as it looks like Wine is going to be totally broken on such configurations until this is fixed elsewhere.
https://bugs.winehq.org/show_bug.cgi?id=49407
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |145cfce1135a7e59cc4c89cd05b | |572403f188161
https://bugs.winehq.org/show_bug.cgi?id=49407
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=49407
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #1 from Paul Gofman pgofman@codeweavers.com --- I've submitted Nvidia bug report here: https://developer.nvidia.com/nvidia_bug/3028729
And sent a Wine patch upstream for review: https://source.winehq.org/patches/data/187333
https://bugs.winehq.org/show_bug.cgi?id=49407
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |6f9d20806e821ab07c8adf81ae6 | |630fae94b00ef
--- Comment #2 from Paul Gofman pgofman@codeweavers.com --- Fixed by https://source.winehq.org/git/wine.git/commit/6f9d20806e821ab07c8adf81ae6630...
https://bugs.winehq.org/show_bug.cgi?id=49407
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.11.
https://bugs.winehq.org/show_bug.cgi?id=49407
Liam Middlebrook loothelion@nvidia.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |loothelion@nvidia.com
--- Comment #4 from Liam Middlebrook loothelion@nvidia.com --- To follow-up from the NVIDIA side. The driver bug uncovered by this has been fixed in our latest Vulkan Developer Beta Driver 450.66.11, which can be found here: https://developer.nvidia.com/vulkan-driver
The fix will also be included in the next official driver release series after the 450 series.
https://bugs.winehq.org/show_bug.cgi?id=49407
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |titan.costa@gmail.com
--- Comment #5 from Zhiyi Zhang zzhang@codeweavers.com --- *** Bug 56421 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49407
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |REOPENED Resolution|FIXED |--- Ever confirmed|0 |1
--- Comment #6 from Zhiyi Zhang zzhang@codeweavers.com --- Reopening this. https://bugs.winehq.org/show_bug.cgi?id=56421 shows that vkGetRandROutputDisplayEXT() could still generate X errors when using Nvidia driver 535.54.03. Liam, could you take a look at this on the driver's side?
https://bugs.winehq.org/show_bug.cgi?id=49407
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|REOPENED |RESOLVED
--- Comment #7 from Zhiyi Zhang zzhang@codeweavers.com --- Reported to Nvidia. Haven't heard from them yet. Closing as not our bug.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #8 from Christian Costa titan.costa@gmail.com --- I don't mind closing this bug (related to 56421 I entered) but if Nvidia does not bother fixing their driver, can we at least revert https://source.winehq.org/git/wine.git/commit/d287548c77350b81faa946b0977dff... that caused the regression? Afaik https://source.winehq.org/git/wine.git/commit/6f9d20806e821ab07c8adf81ae6630... from Paul didn't cause any problem so far.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #9 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Christian Costa from comment #8)
I don't mind closing this bug (related to 56421 I entered) but if Nvidia does not bother fixing their driver, can we at least revert https://source.winehq.org/git/wine.git/commit/ d287548c77350b81faa946b0977dffcbfcce9b83 that caused the regression? Afaik https://source.winehq.org/git/wine.git/commit/ 6f9d20806e821ab07c8adf81ae6630fae94b00ef from Paul didn't cause any problem so far.
Unfortunately, as I said in d287548c, reverting 6f9d208 allows us to work around a vkGetRandROutputDisplayEXT() hang bug. So if we revert d287548c, we are introducing another regression that vkGetRandROutputDisplayEXT() can hang on Nvidia drivers.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #10 from Zhiyi Zhang zzhang@codeweavers.com --- Maybe we could revert d287548c and then introduce a helper to use a thread to call vkGetRandROutputDisplayEXT() and then wait for the result with a timeout. If a timeout happens, we fill in some default values. But eventually, this bug should be fixed in the drivers. There are already multiple workarounds in the area.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #11 from Christian Costa titan.costa@gmail.com --- So I guess we should reopen this bug until a solution that does not cause regression is found. Even if the problem is from Nvidia side, this issue prevents wine to use vulkan in some setups.
https://bugs.winehq.org/show_bug.cgi?id=49407
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|NOTOURBUG |--- Status|RESOLVED |REOPENED
--- Comment #12 from Zhiyi Zhang zzhang@codeweavers.com --- No problem. I don't mind.
https://bugs.winehq.org/show_bug.cgi?id=49407
abchauhan@nvidia.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |abchauhan@nvidia.com
--- Comment #13 from abchauhan@nvidia.com --- Hi all,
Thank you for reporting the issue. This is being tracked on an internal bug at NVIDIA - 4560780.
@Christian Costa, I am part of the QA team that is trying to reproduce this issue. Can you please capture a NVIDIA bug report immediately after you hit the issue and send it to linux-bugs@nvidia[.]com. I want to confirm that I am using the same configuration. Please run nvidia-bug-report.sh as root or sudo user and attach the generated nvidia-bug-report.log.gz
Does this fail only if you force render offload and when X is running on the NVIDIA driver? Are you using an xorg.conf configured for PRIME? Are you using GDM on your system?
Please help with these questions and bug report whenever you have the time. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #14 from Abhishek Chauhan abchauhan@nvidia.com --- Hi all,
Can you please help with the questions in comment #13.
Thank you
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #15 from Zhiyi Zhang zzhang@codeweavers.com --- Unfortunately, I don't have the hardware to reproduce this. @Christian Costa, could you help?
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #16 from Christian Costa titan.costa@gmail.com --- (In reply to Abhishek Chauhan from comment #13)
Hi all,
Thank you for reporting the issue. This is being tracked on an internal bug at NVIDIA - 4560780.
@Christian Costa, I am part of the QA team that is trying to reproduce this issue. Can you please capture a NVIDIA bug report immediately after you hit the issue and send it to linux-bugs@nvidia[.]com. I want to confirm that I am using the same configuration. Please run nvidia-bug-report.sh as root or sudo user and attach the generated nvidia-bug-report.log.gz
Does this fail only if you force render offload and when X is running on the NVIDIA driver? Are you using an xorg.conf configured for PRIME? Are you using GDM on your system?
Please help with these questions and bug report whenever you have the time. Thanks!
Sorry I didn't see your message. I can't reproduce the issue anymore since July or so. I didn't do any update on my system so I guess something changed in wine that made the issue disappear. I suggest to close this bug. I'll reopen it if I encounter the issue again.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #17 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Christian Costa from comment #16)
(In reply to Abhishek Chauhan from comment #13)
Hi all,
Thank you for reporting the issue. This is being tracked on an internal bug at NVIDIA - 4560780.
@Christian Costa, I am part of the QA team that is trying to reproduce this issue. Can you please capture a NVIDIA bug report immediately after you hit the issue and send it to linux-bugs@nvidia[.]com. I want to confirm that I am using the same configuration. Please run nvidia-bug-report.sh as root or sudo user and attach the generated nvidia-bug-report.log.gz
Does this fail only if you force render offload and when X is running on the NVIDIA driver? Are you using an xorg.conf configured for PRIME? Are you using GDM on your system?
Please help with these questions and bug report whenever you have the time. Thanks!
Sorry I didn't see your message. I can't reproduce the issue anymore since July or so. I didn't do any update on my system so I guess something changed in wine that made the issue disappear. I suggest to close this bug. I'll reopen it if I encounter the issue again.
Did you try wine at git d287548c? d287548c was the one that you reported as the bad commit.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #18 from Christian Costa titan.costa@gmail.com --- @ Zhiyi Zhang I've just tested with d287548c and the problem appears.
@ Abhishek Chauhan For your questions: Does this fail only if you force render offload and when X is running on the NVIDIA driver? Are you using an xorg.conf configured for PRIME? Are you using GDM on your system?
I don't know. I don't have any particular configuration. It's just Ubuntu 22.04.
I'll sent the log file you asked to the @ you provided.
Thanks
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #19 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Christian Costa from comment #18)
@ Zhiyi Zhang I've just tested with d287548c and the problem appears.
And you said that you couldn't reproduce the bug before. Could you try wine master then? If wine master is good, you can do a git bisect to find the good commit that fixed the bug. See https://stackoverflow.com/questions/15407075/how-could-i-use-git-bisect-to-f... for example.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #20 from Christian Costa titan.costa@gmail.com --- Ah sorry. I was misleading. I can't reproduce the issue with wine master but can reproduce it at the offending commit. I'll do a bisect to find the commit that fix the issue.
https://bugs.winehq.org/show_bug.cgi?id=49407
--- Comment #21 from Abhishek Chauhan abchauhan@nvidia.com --- Hi all,
Thank you for the details. We can reproduce this on our systems. This is under investigation. I will update this thread when we have a fix available.
https://bugs.winehq.org/show_bug.cgi?id=49407
Lars Loe madbyte@tuta.io changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madbyte@tuta.io