https://bugs.winehq.org/show_bug.cgi?id=47968
Bug ID: 47968 Summary: wine-staging for debian does not work since 4.17 Product: Wine-staging Version: 4.17 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: msuhoruki@gmail.com CC: leslie_alistair@hotmail.com, z.figura12@gmail.com Distribution: ---
Starting with wine-staging 4.17 debian bullseye package wine stopped working, completely.
Running winecfg prints two lines and then nothing (no window appears) The process does not exit and just stays in foreground. 000b:fixme:winediag:start_process Wine Staging 4.18 is a testing version containing experimental patches. 000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
Running Notepad++ produces a different output but still no window: env WINEPREFIX="/home/user/.wine32" wine C:\windows\command\start.exe /Unix /home/user/.wine32/dosdevices/c:/users/Public/Desktop/Notepad++.lnk 002d:fixme:win:LockWindowUpdate (0x1008a), partial stub! 002d:fixme:imm:ImmReleaseContext (0001012A, 0114BCD8): stub 002d:fixme:win:LockWindowUpdate ((nil)), partial stub!
Reverting to 4.16 fixes the problem.
https://bugs.winehq.org/show_bug.cgi?id=47968
msuhoruki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Debian
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #1 from msuhoruki@gmail.com --- It is probably worth noting that I'm running this in KVM using QXL driver.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- Does upstream (non-Staging) wine 4.17 work?
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #3 from msuhoruki@gmail.com --- Is there a package for that? I'm using winehq-staging from: https://wiki.winehq.org/Debian
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- Yes, winehq-devel.
https://bugs.winehq.org/show_bug.cgi?id=47968
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #5 from msuhoruki@gmail.com --- Same problem with winehq-devel, but output is different: 001b:err:plugplay:load_function_driver AddDevice failed for driver L"winebus", status 0xc0000002. 0029:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
Tested with these packages: # apt-get install wine-devel-amd64 wine-devel-i386 wine-devel winehq-devel # apt list --installed|grep wine wine-devel-amd64/testing,now 4.18~bullseye amd64 [installed] wine-devel-i386/testing,now 4.18~bullseye i386 [installed] wine-devel/testing,now 4.18~bullseye amd64 [installed] winehq-devel/testing,now 4.18~bullseye amd64 [installed]
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #6 from msuhoruki@gmail.com --- Notepad++ with winehq-devel outputs and exits (or possibly goes to background) $ env WINEPREFIX="/home/user/.wine32" wine C:\windows\command\start.exe /Unix /home/user/.wine32/dosdevices/c:/users/Public/Desktop/Notepad++.lnk 001b:err:plugplay:load_function_driver AddDevice failed for driver L"winebus", status 0xc0000002. 0009:fixme:exec:SHELL_execute flags ignored: 0x00000100 0009:fixme:exec:SHELL_execute flags ignored: 0x00004100 002b:fixme:win:LockWindowUpdate (0x10054), partial stub! 002b:fixme:imm:ImmReleaseContext (000100F4, 00B13158): stub 002b:fixme:win:LockWindowUpdate ((nil)), partial stub!
https://bugs.winehq.org/show_bug.cgi?id=47968
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |-unknown CC|leslie_alistair@hotmail.com | |, z.figura12@gmail.com | Product|Wine-staging |Wine
--- Comment #7 from Zebediah Figura z.figura12@gmail.com --- (In reply to msuhoruki from comment #5)
Same problem with winehq-devel, but output is different:
Okay, not a Staging bug then.
https://bugs.winehq.org/show_bug.cgi?id=47968
msuhoruki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine-staging for debian |wine staging/devel for |does not work since 4.17 |debian does not work since | |4.17
https://bugs.winehq.org/show_bug.cgi?id=47968
msuhoruki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine staging/devel for |wine does not work since |debian does not work since |4.17 on debian testing |4.17 |(bullseye)
https://bugs.winehq.org/show_bug.cgi?id=47968
msuhoruki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine does not work since |wine >=4.17 broken on |4.17 on debian testing |debian testing (bullseye) |(bullseye) |
https://bugs.winehq.org/show_bug.cgi?id=47968
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
--- Comment #8 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to msuhoruki from comment #1)
It is probably worth noting that I'm running this in KVM using QXL driver.
Hi msuhoruki. Between 4.16 and 4.17, I introduced a XRandR 1.4 display device handler. No other major graphics driver change during that period. So I suspect it's probably because of your QXL driver. To rule out this possibility, could you get me the result of running xrandr --verbose in terminal? And what's the version of your QXL driver?
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #9 from msuhoruki@gmail.com --- Created attachment 65536 --> https://bugs.winehq.org/attachment.cgi?id=65536 xrandr --verbose
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #10 from msuhoruki@gmail.com --- Created attachment 65537 --> https://bugs.winehq.org/attachment.cgi?id=65537 Xorg.0.log
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #11 from msuhoruki@gmail.com --- Hi! I attached output for xrandr --verbose and here is the qxl version: apt list --installed|grep xorg xserver-xorg-video-qxl/testing,now 0.1.5-2+b1 amd64 [installed]
If it helps xorg log is also provided.
https://bugs.winehq.org/show_bug.cgi?id=47968
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be Severity|blocker |critical
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #12 from Zhiyi Zhang zzhang@codeweavers.com --- The xrandr output looks good. I don't know what's wrong. If you could do a bisect it would be very helpful. See https://wiki.winehq.org/Regression_Testing#Running_the_bisection. Meanwhile I will try to find time to reproduce this.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #13 from Ken Sharp imwellcushtymelike@gmail.com --- Is there an issue when building Wine from source or is it specifically the package?
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #14 from msuhoruki@gmail.com --- Building from source worked. I can run winecfg and Notepad++ There were quite a bit of modules excluded by configure, so I'm attaching the list just in case.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #15 from msuhoruki@gmail.com --- Created attachment 65568 --> https://bugs.winehq.org/attachment.cgi?id=65568 Missing modules reported by configure.
https://bugs.winehq.org/show_bug.cgi?id=47968
msuhoruki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine >=4.17 broken on |wine >=4.17 package broken |debian testing (bullseye) |on debian testing | |(bullseye)
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #16 from msuhoruki@gmail.com --- to clarify I built version 4.18 from source.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #17 from msuhoruki@gmail.com --- Rebuilt with more modules and reproduced the problem.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #18 from msuhoruki@gmail.com --- Created attachment 65569 --> https://bugs.winehq.org/attachment.cgi?id=65569 Missing modules reported by configure -- problem reproduced with this output
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #19 from msuhoruki@gmail.com --- Basically the problem reproduced after I fixed these configure warnings. I'll try to narrow the problem down.
configure: libxcursor 32-bit development files not found, the Xcursor extension won't be supported. configure: libxi 32-bit development files not found, the Xinput extension won't be supported. configure: libXxf86vm 32-bit development files not found, XFree86 Vidmode won't be supported. configure: libxfixes 32-bit development files not found, Xfixes won't be supported. configure: libxinerama 32-bit development files not found, multi-monitor setups won't be supported. configure: libxcomposite 32-bit development files not found, Xcomposite won't be supported. configure: libGLU 32-bit development files not found, GLU won't be supported. configure: libOSMesa 32-bit development files not found (or too old), OpenGL rendering in bitmaps won't be supported. configure: libgphoto2 32-bit development files not found, digital cameras won't be supported. configure: libgphoto2_port 32-bit development files not found, digital cameras won't be auto-detected. configure: gstreamer-1.0 base plugins 32-bit development files not found, GStreamer won't be supported. configure: libudev 32-bit development files not found, plug and play won't be supported. configure: libSDL2 32-bit development files not found, SDL2 won't be supported. configure: fontconfig 32-bit development files not found, fontconfig won't be supported. configure: libopenal 32-bit development files not found (or too old), OpenAL won't be supported. configure: libldap (OpenLDAP) 32-bit development files not found, LDAP won't be supported.
configure: WARNING: gettext tools not found (or too old), translations won't be built.
configure: WARNING: No OpenGL library found on this system. OpenGL and Direct3D won't be supported.
https://bugs.winehq.org/show_bug.cgi?id=47968
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #20 from joaopa jeremielapuree@yahoo.fr --- What do you wait to install the missing 32bits development packages?
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #21 from msuhoruki@gmail.com --- What do you mean? The problem appeared after installing those missing dev packages.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #22 from msuhoruki@gmail.com --- Found the problematic component - libxinerama. Building wine without libxinerama fixes the problem.
https://bugs.winehq.org/show_bug.cgi?id=47968
msuhoruki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine >=4.17 package broken |wine does not work when |on debian testing |built with libxinerama on |(bullseye) |debian testing (bullseye)
https://bugs.winehq.org/show_bug.cgi?id=47968
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal Keywords| |download, source CC| |imwellcushtymelike@gmail.co | |m
--- Comment #23 from Ken Sharp imwellcushtymelike@gmail.com --- Can you run a bisect to find out which commit causes the problem? https://wiki.winehq.org/Regression_Testing
Need to determine if there's a Wine bug or a Xinerama bug.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #24 from msuhoruki@gmail.com --- Result of git bisect between wine-4.16 and wine-4.17:
user@debian:/dev/shm/wine-git$ git bisect bad be54adcffc249a44cb52c24320a7ad3db758ba54 is the first bad commit commit be54adcffc249a44cb52c24320a7ad3db758ba54 Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Sep 20 16:55:22 2019 +0800
winex11.drv: Support XRandR display device handler.
XRandR supports multiple GPUs and runtime device change compared to Xinerama.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
configure | 20 ++ configure.ac | 7 +- dlls/winex11.drv/x11drv.h | 1 + dlls/winex11.drv/xinerama.c | 2 +- dlls/winex11.drv/xrandr.c | 488 ++++++++++++++++++++++++++++++++++++++++++++ include/config.h.in | 3 + 6 files changed, 519 insertions(+), 2 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=47968
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Regression SHA1| |be54adcffc249a44cb52c24320a | |7ad3db758ba54
--- Comment #25 from Ken Sharp imwellcushtymelike@gmail.com --- Thanks!
I've installed Bullseye in Qemu w/ KVM with the Qxl drivers and the Debian packages and... Wine works fine.
My xrandr --verbose, however, looks significantly different to yours.
Most notably mine states it is running XWAYLAND and only one output.
Do you have multiple monitors attached? What desktop environment are you using? How are you running the VM? Are you able to try the same thing on bare metal?
I'll try to compile with the Xinerama libs but it'll take me a while.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #26 from msuhoruki@gmail.com --- Created attachment 65571 --> https://bugs.winehq.org/attachment.cgi?id=65571 VM's domain xml for libvirt
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #27 from msuhoruki@gmail.com --- Do you have multiple monitors attached? - No What desktop environment are you using? - xfce 4.14 How are you running the VM? - Through libvirt and spice on local socket Are you able to try the same thing on bare metal? - I'll try
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #28 from msuhoruki@gmail.com --- btw, I attached libvirt's domain xml for my vm.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #29 from msuhoruki@gmail.com --- "Are you able to try the same thing on bare metal?" - Yes, it works on bare metal.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #30 from msuhoruki@gmail.com --- I'm reposting my original answer with more details:
"Do you have multiple monitors attached?" - No
"What desktop environment are you using?" - xfce 4.14 on guest vm, openbox on host
"How are you running the VM?" - Through libvirt and spice on local socket. Host is also running debian bullseye with openbox wm. Host does not use wayland and does not provide 3d/virgl to the guest. I've attached libvirt's domain xml for this vm and it is run with these commands: $ sudo virsh start linux-debian $ virt-viewer --connect qemu:///system --attach
"Are you able to try the same thing on bare metal?" - Yes, it works on bare metal.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #31 from msuhoruki@gmail.com --- It seems the problem is related to xinerama and xrandr's priorities. dlls/winex11.drv/xrandr.c selects 200 for itself. dlls/winex11.drv/xinerama.c alternates on a condition between 1000 and 100. In my case xinerama selects 100 because because its desktop_mode??? variable is false: handler.priority = desktop_mode ? 1000 : 100;
If I invert that condition (and get 1000) then wine works for me. Is the desktop_mode detected incorrectly?
https://bugs.winehq.org/show_bug.cgi?id=47968
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #32 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to msuhoruki from comment #31)
It seems the problem is related to xinerama and xrandr's priorities. dlls/winex11.drv/xrandr.c selects 200 for itself. dlls/winex11.drv/xinerama.c alternates on a condition between 1000 and 100. In my case xinerama selects 100 because because its desktop_mode??? variable is false: handler.priority = desktop_mode ? 1000 : 100;
If I invert that condition (and get 1000) then wine works for me. Is the desktop_mode detected incorrectly?
Yes. In the case of Xinerama extension not available, desktop_mode is not set properly. I will send a patch soon. Thank you very much for your investigation.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #33 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 65575 --> https://bugs.winehq.org/attachment.cgi?id=65575 patch
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #34 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Zhiyi Zhang from comment #32)
(In reply to msuhoruki from comment #31)
It seems the problem is related to xinerama and xrandr's priorities. dlls/winex11.drv/xrandr.c selects 200 for itself. dlls/winex11.drv/xinerama.c alternates on a condition between 1000 and 100. In my case xinerama selects 100 because because its desktop_mode??? variable is false: handler.priority = desktop_mode ? 1000 : 100;
If I invert that condition (and get 1000) then wine works for me. Is the desktop_mode detected incorrectly?
Yes. In the case of Xinerama extension not available, desktop_mode is not set properly. I will send a patch soon. Thank you very much for your investigation.
Sorry for jumping too early. It means that your Xinerama extension is working properly as a fallback. But the XRandR extension is detected but not working properly, thus the problem. The desktop_mode issue is not the real problem here.
https://bugs.winehq.org/show_bug.cgi?id=47968
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #65575|0 |1 is obsolete| |
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #35 from msuhoruki@gmail.com --- Hi, any progress on this issue?
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #36 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to msuhoruki from comment #35)
Hi, any progress on this issue?
I just installed bullseye on my KVM machine. Unfortunately I can't reproduce your issue. I tested with wine-4.17 and wine-5.0-rc1 and they work fine. Please try upgrading your system/QXL driver/wine and see if it is still present. Until the problem can be reliably reproduced, there is not much I can do.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #37 from msuhoruki@gmail.com --- Would you consider testing my VM image? I can try stripping it to a reasonable size.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #38 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to msuhoruki from comment #37)
Would you consider testing my VM image? I can try stripping it to a reasonable size.
Sure. Thanks.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #39 from msuhoruki@gmail.com --- Created attachment 66084 --> https://bugs.winehq.org/attachment.cgi?id=66084 libvirt domain xml for running debian-wine.img
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #40 from msuhoruki@gmail.com --- Here is the vm image. It is 800mb and unpacks to 7gb. https://drive.google.com/open?id=1Wp9AdSWZ2OEhhIAKukUZRnYGDZ6LU8yl
Also attached xml definition "libvirt domain xml for running debian-wine.img" The xml has /dev/shm/debian-wine.img path for the image.
https://bugs.winehq.org/show_bug.cgi?id=47968
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #41 from Zhiyi Zhang zzhang@codeweavers.com --- You need to update to https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl master. The version shipped by debian testing reports a XRandR provider with only one output, which is a disconnected output and not connected to any CRTC. So Wine incorrectly reports a detached monitor and not showing anything.
To test: $ xrandr --listproviders
Good: Shows zero providers or a provider with more than one output Providers: number : 1 Provider 0: id: 0x47 cap: 0x0 crtcs: 4 outputs: 4 associated providers: 0 name:qxl
Bad: Shows a provider with only one output. You can compare `xrandr --verbose` and see the output count doesn't match. Providers: number : 1 Provider 0: id: 0x8d cap: 0x0 crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
The broken QXL driver is not officially shipped on most Linux distributions. And I built a debian testing VM myself with all packages updated. xserver-xorg-video-qxl version is 0.1.5-2+b1 on my VM, same as yours. But I see you also installed a local linux-image-5.4.6, which probably triggered the issue because debian testing ships a linux 5.3 kernel currently. I didn't go further.
All in all, being a testing version, I don't think it's worth polluting Wine source with another workaround for this issue, so I recommend upgrading xserver-xorg-video-qxl for the moment.
https://bugs.winehq.org/show_bug.cgi?id=47968
--- Comment #42 from msuhoruki@gmail.com --- Thank you for investigating, xserver-xorg-video-qxl from master works! The output is now: xrandr --listproviders Providers: number : 2 Provider 0: id: 0x47 cap: 0x0 crtcs: 4 outputs: 4 associated providers: 0 name:qxl Provider 1: id: 0x8e cap: 0x0 crtcs: 1 outputs: 1 associated providers: 0 name:modesetting