https://bugs.winehq.org/show_bug.cgi?id=49500
Bug ID: 49500 Summary: Wine is not displaying any windows Product: Wine Version: 5.0 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: vld10@yandex.ru Distribution: ---
If no monitor attached, wine is not displaying any windows.
Trying to run winecfg.
On wine-4.0.3 all works as expected. On wine-5.0 & wine-5.11 no window is displayed, although programs seems to work. In both cases, running winecfg via terminal, produces an output.
Setup: start X via /etc/init.d/xdm; connect to display via x11vnc when necessary.
Workaround1: do xinit -- /usr/bin/X -extension RANDR. Workaround2: do xinit -- /usr/bin/Xvfb
Here is my xrandr output for default Setup: Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096 VGA-1 disconnected primary (normal left inverted right x axis y axis)
Here is my xrandr output for Workaround 2: xrandr: Failed to get size of gamma for output screen Screen 0: minimum 1 x 1, current 1280 x 1024, maximum 1280 x 1024 screen connected 1280x1024+0+0 0mm x 0mm 1280x1024 0.00*
I think this is enough info to reproduce. Let me know what logs to provide.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #1 from Nyxis vld10@yandex.ru --- Oh, I'm using Gentoo on Linux 5.4.38. And x86_64 CPU. Wine is compiled in 32x.
https://bugs.winehq.org/show_bug.cgi?id=49500
Nyxis vld10@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|P2 |P3 Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=49500
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be Ever confirmed|0 |1 Distribution|--- |Gentoo Status|UNCONFIRMED |NEEDINFO Priority|P3 |P2 Hardware|x86 |x86-64
--- Comment #2 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Nyxis from comment #0)
If no monitor attached, wine is not displaying any windows.
Setup: start X via /etc/init.d/xdm; connect to display via x11vnc when necessary.
Hello,
I'm sorry but from the information you give, I wouldn't know how to reproduce the issue.
I understand that you run wine on a headless Gentoo system and connect to it through x11vnc, but from where, or on what hardware, I can't tell. Are there two computers involved, or some king of virtual machine/container?
You name two commands 'workaround1&2'. Do you mean that with either, wine does display the windows?
You give two xrandr output but don't tell what's right or wrong about them. What is the expected sceensize according to your x11vnc settings?
I think that maybe it's just that recent wine requires you to setup xrandr properly when using that kind of remote display, but since I can't figure exactly what you're doing I may be completely wrong.
P.S. Don't change priority. That feature is only for the developers.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #3 from Nyxis vld10@yandex.ru --- Yes, I run wine on a headless Gentoo system and connect to it through x11vnc. x11vnc is running on same Xserver as wine. Sometimes I connect monitor (TV) directly to it. I connect there from same subnet from my Windows laptop via TigtVNC Viewer.
Either workaround makes wine display windows. Downgrading to 4.0.3 Makes wine display windows.
I don't know what's wrong with xrandr output's, but since disabling RANDR extension makes wine working again, I assumed it will be useful.
I don't know how to 'setup xrandr properly'. As for me, it's quite okay. It's kind of odd, that native Linux apps don't require to 'setup xrandr properly'. I'm just 'plug and play'. Could you please advice me how to setup xrandr properly? What wine needs? Thank you.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #4 from Rafał Mużyło galtgendo@o2.pl --- ...recently (in the last few months) several patches went in that made wine depending on xrandr extension more heavily.
User's input suggests that there's still a fallback path, but it doesn't go into effect if the extension is active on the server.
AFAIU, there's nothing to fix on the user side - the monitor simply isn't there, so things work just as they should on xserver side.
What could be done, would be getting a better access to that fallback path than by disabling that extension.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #5 from Nyxis vld10@yandex.ru --- Yes, native Xserver apps seems dosn't depend so hard on RANDR extension.
I can imagine a few scenarios when wine starts right when there is no monitor attached.
Anyway, in worst case I may expect line in console output like "no monitor found, exiting. Do ... to override", rather than silently continue with no visible effect.
Will patch to 'fallback path' be implemented sometime in the future?..
Status is still 'NEEDINFO'. Is there is any more info I need to provide?
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #6 from Rafał Mużyło galtgendo@o2.pl --- ...so, on that note, does WINEDEBUG=xrandr offer anything interesting ?
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #7 from Nyxis vld10@yandex.ru --- (In reply to Rafał Mużyło from comment #6)
...so, on that note, does WINEDEBUG=xrandr offer anything interesting ?
$ WINEDEBUG=xrandr winecfg 001b:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\wineusb": c0000142 000f:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114 001f:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 001f:err:xrandr:xrandr12_init_modes Failed to get primary CRTC info. 001f:warn:xrandr:get_primary_rect Primary is set to a disconnected XRandR output. 001f:warn:xrandr:get_primary_rect Primary is set to a disconnected XRandR output. 000d:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 000d:err:xrandr:xrandr12_init_modes Failed to get primary CRTC info. 0009:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 0009:err:xrandr:xrandr12_init_modes Failed to get primary CRTC info.
It stops here. No window is displayed, But in taskmgr I see winecfg.exe is running (among with winedevice, services, explorer, plugplay, wineserver, ...)
Anything else?..
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #8 from Austin English austinenglish@gmail.com --- (In reply to Nyxis from comment #0)
On wine-4.0.3 all works as expected. On wine-5.0 & wine-5.11 no window is displayed, although programs seems to work.
Please run a regression test: https://wiki.winehq.org/RegressionTesting
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #9 from Rafał Mużyło galtgendo@o2.pl --- ...taking a stab in the dark: in dlls/winex11.drv/xrandr.c in get_primary_rect after fallback label
above the loop that iterates crtcs, something like this *might* work:
if (!resources->ncrtc) { SetRect( &primary_rect, 0, 0, DisplayWidth (gdi_display, DefaultScreen( gdi_display )), DisplayHeight (gdi_display, DefaultScreen( gdi_display )) ); return primary_rect; }
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #10 from Nyxis vld10@yandex.ru --- (In reply to Rafał Mużyło from comment #9)
...taking a stab in the dark: in dlls/winex11.drv/xrandr.c in get_primary_rect after fallback label
above the loop that iterates crtcs, something like this *might* work:
if (!resources->ncrtc) { SetRect( &primary_rect, 0, 0, DisplayWidth (gdi_display, DefaultScreen( gdi_display )), DisplayHeight (gdi_display, DefaultScreen( gdi_display )) ); return primary_rect; }
I've git-cloned wine-5.12 and added this code right after this line: WARN("Primary is set to a disconnected XRandR output.\n");
It didn't work.
I'm performing regression test right now...
https://bugs.winehq.org/show_bug.cgi?id=49500
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |UNCONFIRMED Ever confirmed|1 |0
--- Comment #11 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
(In reply to Nyxis from comment #3)
Yes, I run wine on a headless Gentoo system and connect to it through x11vnc. x11vnc is running on same Xserver as wine. Sometimes I connect monitor (TV) directly to it. I connect there from same subnet from my Windows laptop via TigtVNC Viewer.
Ok, now I have a better idea how to reproduce the issue.
Removing the NEEDINFO status.
Either workaround makes wine display windows. Downgrading to 4.0.3 Makes wine display windows.
I don't know what's wrong with xrandr output's, but since disabling RANDR extension makes wine working again, I assumed it will be useful.
I don't know how to 'setup xrandr properly'. As for me, it's quite okay. It's kind of odd, that native Linux apps don't require to 'setup xrandr properly'. I'm just 'plug and play'. Could you please advice me how to setup xrandr properly? What wine needs? Thank you.
I'm not familiar with x11vnc or tightvnc, but from what I read [1] (old info, maybe obsolete), you have to setup a framebuffer in xrandr to use x11vnc on headless systems. Some other vnc clients/servers seem to do that automatically.
[1] https://bbs.archlinux.org/viewtopic.php?id=197299
Regards.
https://bugs.winehq.org/show_bug.cgi?id=49500
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Wine is not displaying any |Wine is not displaying any |windows |windows (remote connection | |to a headless system)
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #12 from Nyxis vld10@yandex.ru --- (In reply to Olivier F. R. Dierick from comment #11)
I'm not familiar with x11vnc or tightvnc, but from what I read [1] (old info, maybe obsolete), you have to setup a framebuffer in xrandr to use x11vnc on headless systems. Some other vnc clients/servers seem to do that automatically.
x11vnc is here to test what's going on. You can just plug in monitor instead.
Steps to reproduce: 1. disconnect monitor 2. start X 3. start wine done.
I've checked your link an tried commands from there. x11vnc still works, wine still not showing windows. Probably old x11vnc refused to start without some magic, but nowadays all is ok.
P.S. I'm still making regression tests. This will take some days.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #13 from Nyxis vld10@yandex.ru --- (In reply to Austin English from comment #8)
(In reply to Nyxis from comment #0)
On wine-4.0.3 all works as expected. On wine-5.0 & wine-5.11 no window is displayed, although programs seems to work.
Please run a regression test: https://wiki.winehq.org/RegressionTesting
914b5519b1cd96f9ae19f1eec226e94af96354b9 is the first bad commit commit 914b5519b1cd96f9ae19f1eec226e94af96354b9 Author: Zhiyi Zhang zzhang@codeweavers.com Date: Tue Nov 5 21:04:27 2019 +0800
winex11.drv: Use a separate virtual desktop display device handler.
If we want to query host monitor dimensions, we need to use XRandR or Xinerama handler. However when in virtual desktop mode, its display device handler overrides other handlers. So we need to separate them. Then we can implement features that require host monitor dimensions like checking whether the virtual desktop window is fullscreen.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/winex11.drv/desktop.c | 104 ++++++++++++++++++++++++++++++++++++++++++-- dlls/winex11.drv/display.c | 34 ++++++++------- dlls/winex11.drv/x11drv.h | 2 + dlls/winex11.drv/xinerama.c | 31 +++---------- 4 files changed, 128 insertions(+), 43 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=49500
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com Component|-unknown |winex11.drv Regression SHA1| |914b5519b1cd96f9ae19f1eec22 | |6e94af96354b9
https://bugs.winehq.org/show_bug.cgi?id=49500
Nyxis vld10@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Wine is not displaying any |Wine is not displaying any |windows (remote connection |windows (on a headless |to a headless system) |system)
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #14 from Nyxis vld10@yandex.ru --- Is there anything else I can help from my side?
https://bugs.winehq.org/show_bug.cgi?id=49500
Nyxis vld10@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |vld10@yandex.ru
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #15 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Nyxis from comment #14)
Is there anything else I can help from my side?
Does the following patch fix the issue?
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #16 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 68630 --> https://bugs.winehq.org/attachment.cgi?id=68630 patch
https://bugs.winehq.org/show_bug.cgi?id=49500
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #17 from Nyxis vld10@yandex.ru --- (In reply to Zhiyi Zhang from comment #16)
Created attachment 68630 [details] patch
I've got fresh version from git. Applied patch and compiled it: $ git clone git://source.winehq.org/git/wine.git . $ CC="ccache gcc -m32" ./configure --verbose --disable-tests $ make $ cat > patch $ patch -p1 < patch $ make
Then run: $ WINEPREFIX="~/.wine-test" WINEDEBUG=xrandr ./wine winecfg 002c:err:winediag:WS_getaddrinfo Failed to resolve your host name IP 0050:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 0050:warn:xrandr:get_primary_rect Primary is set to a disconnected XRandR output. 0050:err:vulkan:get_vulkan_driver Wine was built without Vulkan support. 0050:warn:xrandr:get_primary_rect Primary is set to a disconnected XRandR output. 0050:err:ole:start_rpcss Failed to start RpcSs service 0034:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 0024:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6.
No window is displayed. Patch didn't fix the issue.
As per dlls/winex11.drv/xrandr.c, all tests were passed.
P.S. Sorry for late reply
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #18 from Zhiyi Zhang zzhang@codeweavers.com --- Please upload the result of `xrandr --verbose` on the system when the issue can be reproduced. It would be even better if you could build a VM image showing the issue so I can look into it on my side.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #19 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 69030 --> https://bugs.winehq.org/attachment.cgi?id=69030 patch 2
What about this patch?
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #20 from Nyxis vld10@yandex.ru --- (In reply to Zhiyi Zhang from comment #19)
Created attachment 69030 [details] patch 2
What about this patch?
This works!
admin@Batman ~ $ WINEPREFIX="/home/admin/.wine-test" WINEDEBUG=xrandr ./wine winecfg 002c:err:winediag:WS_getaddrinfo Failed to resolve your host name IP 0050:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 0050:warn:xrandr:X11DRV_XRandR_Init No connected outputs found. 0050:err:x11settings:X11DRV_EnumDisplaySettingsEx Failed to get L"\\.\DISPLAY1" current display settings. 0050:err:explorer:initialize_display_settings Failed to query current display settings for L"\\.\DISPLAY1". 0050:err:ole:start_rpcss Failed to start RpcSs service 0034:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 0034:warn:xrandr:X11DRV_XRandR_Init No connected outputs found. 0024:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.6. 0024:warn:xrandr:X11DRV_XRandR_Init No connected outputs found.
And I see winecfg window.
https://bugs.winehq.org/show_bug.cgi?id=49500
--- Comment #21 from Nyxis vld10@yandex.ru --- (In reply to Zhiyi Zhang from comment #18)
Please upload the result of `xrandr --verbose` on the system when the issue can be reproduced. It would be even better if you could build a VM image showing the issue so I can look into it on my side.
$ xrandr --verbose Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096 VGA-1 disconnected primary (normal left inverted right x axis y axis) Identifier: 0x41 Timestamp: 697235916 Subpixel: unknown Clones: CRTCs: 0 1 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: link-status: Good supported: Good, Bad CONNECTOR_ID: 41 supported: 41 non-desktop: 0 range: (0, 1)
VM image is a bit tricky. And most VM managers don't let you disconnect virtual monitor, as far as I know.
https://bugs.winehq.org/show_bug.cgi?id=49500
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |798137dbf6eeef3b7c1ca0257b3 | |81ad7903abbf8
--- Comment #22 from Zhiyi Zhang zzhang@codeweavers.com --- Fixed by 798137dbf6eeef3b7c1ca0257b381ad7903abbf8
https://bugs.winehq.org/show_bug.cgi?id=49500
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #23 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.0-rc6.