(server: xpra 3.0.3 on RHEL, client: xpra 3.0.3 on Win10)
I have a Java/Swing/Batik
based tool that controls some electronic
hardware. When I click on certain components, a popup window should appear -- but it does not. The tool does not work without hardware attached to the workstation so I can't share it and don't know of a way for someone else to reproduce this problem.
I noticed that behavior before updating xpra to 3.0.3 (some 3.0.1 or 3.0.2 versions) and hoped the update might fix it, but it doesn't. I also tried a version 2.5.2 client (don't know an easy way to switch server versions...) and it behaves the same. The popup does not appear when it should but an icon on the windows taskbar appears, indicating that there should be a popup. I minimized all windows to make sure that the popup is not hidden behind one of them. The popup appears when I use cygwin/xwin connection to the RHEL workstation instead of xpra.
The "-d window" output when the popup is meant to show up is like this:
2019-12-12 18:13:09,559 make_new_window(..) client_window_classes=(<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>, <class 'xpra.client.gtk3.client_window.ClientWindow'>), group_leader_window=<__gi__.GdkWin32Window object at 0x000000002e7dfd40 (GdkWin32Window at 0x00000000033a9af0)> 2019-12-12 18:13:09,560 <class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>(gtk3.client, <__gi__.GdkWin32Window object at 0x000000002e7dfd40 (GdkWin32Window at 0x00000000033a9af0)>, 0, 33, 479, 1345, 203, 204, 203, 204, {b'size-constraints': {b'position': (479, 1345), b'gravity': 1}, b'xid': b'0x60029d', b'title': b' ', b'pid': 61725, b'client-machine': b'xxxxxxxx', b'icon-title': b'Java', b'group-leader-xid': 6292118, b'window-type': (b'DIALOG',), b'decorations': 0, b'skip-taskbar': True, b'class-instance': (b'sun-awt-X11-XDialogPeer', b'org-eclipse-jdt-internal-jarinjarloader-JarRsrcLoader'), b'set-initial-position': True}, False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7, 1, b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff', b''], 0) 2019-12-12 18:13:09,563 setup_window(203, 204) 2019-12-12 18:13:09,564 new_backing(203, 204) backing_class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'> 2019-12-12 18:13:09,564 make_new_backing(<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, 203, 204, 203, 204) effective backing class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, server alpha=False, window alpha=False 2019-12-12 18:13:09,566 set_window_type(['DIALOG']) hints=0 2019-12-12 18:13:09,566 make_new_window(..) window(33)=GLClientWindow(33 : gtk3.GLDrawingArea(33, (203, 204), None)) 2019-12-12 18:13:09,578 Win32Hooks: window frame size is 8x8 2019-12-12 18:13:09,579 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x000000002e5c2490>>} 2019-12-12 18:13:09,589 GL do_configure_event(<Gdk.EventConfigure object at 0x000000002e7e83b0 (void at 0x000000001ada20b0)>) 2019-12-12 18:13:09,592 GLClientWindow(33 : gtk3.GLDrawingArea(33, (203, 204), None)).do_map_event(<Gdk.EventAny object at 0x000000003031d680 (void at 0x000000001ad84c00)>) OR=False 2019-12-12 18:13:09,593 GL do_configure_event(<Gdk.EventConfigure object at 0x000000002e7e83b0 (void at 0x000000001ada2c90)>) 2019-12-12 18:13:09,654 cairo_paint_border(<cairo.Context object at 0x00000000302ec4d0>, None) 2019-12-12 18:13:09,670 cairo_paint_border(<cairo.Context object at 0x00000000302ec4d0>, None) 2019-12-12 18:13:09,687 cairo_paint_border(<cairo.Context object at 0x00000000302ecfb0>, None) 2019-12-12 18:13:09,704 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None) 2019-12-12 18:13:09,720 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None) 2019-12-12 18:13:09,737 cairo_paint_border(<cairo.Context object at 0x00000000302ec4d0>, None) 2019-12-12 18:13:09,754 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None) 2019-12-12 18:13:09,770 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None) 2019-12-12 18:13:09,787 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None) 2019-12-12 18:13:09,804 cairo_paint_border(<cairo.Context object at 0x00000000302ec5b0>, None) 2019-12-12 18:13:09,820 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None) 2019-12-12 18:13:09,837 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None) 2019-12-12 18:13:09,854 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None) 2019-12-12 18:13:09,870 cairo_paint_border(<cairo.Context object at 0x00000000302ec950>, None) 2019-12-12 18:13:09,887 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None) 2019-12-12 18:13:09,904 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None) 2019-12-12 18:13:09,921 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
I have a
Java/Swing/Batik
based tool that controls some electronic
Java applications are notoriously bad at following X11 conventions. We have a number of workarounds for them already.
From your log, the window definition is here:
<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>\ (gtk3.client, <__gi__.GdkWin32Window object at 0x000000002e7dfd40 (GdkWin32Window at 0x00000000033a9af0)>, \ 0, 33, 479, 1345, 203, 204, 203, 204, { b'size-constraints': {b'position': (479, 1345), b'gravity': 1}, b'xid': b'0x60029d', b'title': b' ', \ b'pid': 61725, b'client-machine': b'xxxxxxxx', b'icon-title': b'Java', b'group-leader-xid': 6292118, \ b'window-type': (b'DIALOG',), b'decorations': 0, b'skip-taskbar': True, b'class-instance': (b'sun-awt-X11-XDialogPeer', \ b'org-eclipse-jdt-internal-jarinjarloader-JarRsrcLoader'), b'set-initial-position': True}, \ False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7, 1, b'\xff\xff\xff\xff\xff\xff\xff\xff...xff', b''], 0)
The window geometry sent by the server is: 479, 1345, 203, 204
.
And the application is telling us to honour the initial position: 'set-initial-position': True
is in the metadata.
That's 203x204 size at position 479,1345
.
Is your client display big enough for that?
Do you start your application before connecting?
If so, does it work any better if you start it afterwards?
Does it help if you turn off opengl?
Can you attach the picture from xpra screenshot
?
Maybe also attach the -d window,geometry,draw
log output.
Tried a few things and it looks to me like the problem is about decorated/undecorated windows. I made a small sample program (attached) that I run with
javac Popups.java java Popups
When run through xpra, only the decorated popup shows up.
I've tried your example on Linux, MacOS, Windows 7 and Windows 10, and even with the html5 client. Both windows showed up everywhere.
So there must be something different about your setup.
Please clarify:
With --opengl=no
the non-decorated window DOES show.
Here are the startup messages (with OpenGL enabled). I think they contain what you asked for:
2019-12-13 15:18:55,273 parse_padding_colors(None)=(0, 0, 0) 2019-12-13 15:18:55,341 Xpra GTK3 client version 3.0.3-r24690 64-bit 2019-12-13 15:18:55,343 running on Microsoft Windows 10 2019-12-13 15:18:55,396 Warning: failed to import opencv: 2019-12-13 15:18:55,396 No module named 'cv2' 2019-12-13 15:18:55,397 webcam forwarding is disabled 2019-12-13 15:18:55,636 OpenGL_accelerate module loaded 2019-12-13 15:18:55,673 Using accelerated ArrayDatatype 2019-12-13 15:18:56,884 OpenGL enabled with NVS 310/PCIe/SSE2 2019-12-13 15:18:57,080 Connected (version 2.0, client OpenSSH_7.4) 2019-12-13 15:18:57,132 SSH password authentication failed: 2019-12-13 15:18:57,132 Bad authentication type; allowed types: ['publickey', 'gssapi-keyex', 'gssapi-with-mic', 'password'] please enter the SSH password for [...]: 2019-12-13 15:19:04,924 Authentication (password) successful! 2019-12-13 15:19:05,046 keyboard settings: layout=de 2019-12-13 15:19:05,047 desktop size is 3120x1600 with 1 screen: 2019-12-13 15:19:05,048 Default (825x423 mm - DPI: 96x96) workarea: 3120x1560 2019-12-13 15:19:05,048 (Standard monitor types) HP ZR2440w 1920x1200 at 1200x274 (518x324 mm - DPI: 94x94) workarea: 1920x1160 2019-12-13 15:19:05,048 (Standard monitor types) hp L2035 1200x1600 (408x306 mm - DPI: 74x132) workarea: 1200x1560 2019-12-13 15:19:06,473 enabled remote logging 2019-12-13 15:19:06,474 Xpra GTK2 X11 server version 3.0.3-r24692 64-bit 2019-12-13 15:19:06,474 running on Linux RedHatEnterpriseWorkstation 7.4 Maipo 2019-12-13 15:19:06,482 Attached to ssh://[...]
With --opengl=no the non-decorated window DOES show.
I can reproduce this on a system with an nvidia card.
I can reproduce this on a system with an nvidia card.
And now I can't!
I'm not sure if it is the same bug, but running your example I also see some problems registering clicks. It seems that sometimes the clicks go through the window with the two buttons and land somewhere else on the virtual screen. but not on the window it is intended for. Sometimes as if the window-relative pointer coordinates were used as absolute values. Very strange since all other applications work fine.
Bisecting with python2 builds:
So somewhere between 2.2 (r17607), 2.3 (r19246) and 2.4 (r20681):
And so this is caused by relative pointer data. But why?
I think the click-through effect with the python3 builds is because with GTK3 passes we receive the click events on the window title bar and those should not be propagated to the server.
The bug I was chasing seems to have gone away completely on its own!? Maybe a system update fixed a buggy library? (will try again on a different system)
So, back to the original bug in this ticket - recap: only occurs with opengl enabled, only on win32, only with python3 builds, only with undecorated windows!
Comparing with and without opengl, the popup window metadata looks unremarkable (as per ticket description). So then I updated the test apps to run native under GTK3 (r24723), and it turns out that GTK3 is just buggy on win32 with undecorated windows: when you toggle the "decoration" flag off and then on again, the window does not regain its decorations or at least they are not being re-drawn, but the pointer events are adjusted... so they land with an offset. Running the same example through xpra: the window disappears as soon as we try to remove the decorations! (also spotted another bug: #2516)
So r24725 fixes this by not using opengl for undecorated windows and re-initializing the window when the "decorations" flag is toggled. (backport to v3 in r24727) @wolfram: there are beta builds with this fix here: https://xpra.org/beta/windows. Please close this ticket if that works for you.
Undecorated windows work in Xpra-Python3-x86_64_4.0-r24725 (I only updated the client), both in my litte sample program and in the electronics-control-tool where I intially saw the problem. Thanks for fixing this! I am little concerned about moving to 4.0 because of the I-beam cursor problem that I mentioned here https://lists.devloop.org.uk/pipermail/shifter-users/2019-November/002440.html. But strange enough I don't get that kind of mouse-cursor in eclipse editor-windows any more, so I can't check this right now.
I am little concerned about moving to 4.0 because of the I-beam cursor problem
You can switch back to the 3.0.x stable branch once 3.0.4 once is released with this fix. The cursor problem was probably this bug: #2498 (regression which is now fixed in v4).
Could it still be happening with 3.0.4? See ticket:2466#comment:13
Problem still exists in 3.0.4 because the backport had been applied to the wrong location (the dumb 'patch' command strikes again), r24922 fixes that.
There's a 3.0.5-RC build in the beta area: https://xpra.org/beta/windows.
Updating the stable server, I'm still using xpra v3.0.4-r24778.
Trying to then connect with the 3.0.5-r24922 client from the windows beta repo, the connection fails with this output client side.
C:\Program Files\Xpra>Xpra_cmd.exe attach tcp:10.0.3.148:1234 2020-01-07 16:07:50,512 Xpra GTK3 client version 3.0.5-r24922 64-bit 2020-01-07 16:07:50,513 running on Microsoft Windows 7 2020-01-07 16:07:50,581 Warning: failed to import opencv: 2020-01-07 16:07:50,581 No module named 'cv2' 2020-01-07 16:07:50,582 webcam forwarding is disabled 2020-01-07 16:08:04,998 GStreamer version 1.16.2 for Python 3.8.0 64-bit 2020-01-07 16:08:05,495 OpenGL_accelerate module loaded 2020-01-07 16:08:05,525 Using accelerated ArrayDatatype 2020-01-07 16:08:06,066 Warning: vendor 'Intel' is greylisted, 2020-01-07 16:08:06,067 you may want to turn off OpenGL if you encounter bugs 2020-01-07 16:08:06,289 OpenGL enabled with Intel(R) HD Graphics 530 2020-01-07 16:08:06,313 error preparing connection: name 'POSIX' is not defined Traceback (most recent call last): File "E:\Xpra\tags\v3.0.x\src/xpra/client/client_base.py", line 338, in send_hello File "E:\Xpra\tags\v3.0.x\src/xpra/client/gtk_base/gtk_client_base.py", line 665, in make_hello File "E:\Xpra\tags\v3.0.x\src/xpra/client/ui_client_base.py", line 342, in make_hello NameError: name 'POSIX' is not defined 2020-01-07 16:08:06,468 Error: failed to query network interface: 2020-01-07 16:08:06,469 module 'comtypes.gen.WbemScripting' has no attribute 'ISWbemLocator'
The final fail to query ISWbemLocator has been happening with this primarily Intel GPU windows system for some time, so that isn't the ause for the failure. 'POSIX'?
I'll try some of the other 3.0.5 builds and see if any work. I'm not certain I recall how to install a 3.0.5 in the beta repo on the Fedora server, when a dnf update with the beta repo enabled will likely install 4.0 instead... but if I have sudden recall of the syntax I'll try that as well.
As an added bonus, when I realized the client was hung. rather than crashed... and used control-c to kill from the cmd window, I got a little extra traceback, which might be useful.
Traceback (most recent call last): File "_ctypes/callbacks.c", line 237, in 'calling callback function' File "E:\Xpra\tags\v3.0.x\src/xpra/platform/win32/win32_NotifyIcon.py", line 464, in NotifyIconWndProc TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' 2020-01-07 16:15:10,481 got signal SIGINT 2020-01-07 16:15:10,482 exiting
Well, tried the 3.0.5-r24827 client too, but checking your comment before typing makes it unsurprising that the chromium-browser should still be failing to display with that.
I won't bother with any of the earlier 3.0.5 clients.
A hint on the dnf syntax to install a 3.0.5 build rather than 4.0 from beta (dnf list xpra ... dnf install <specific-version>?) would help also if the server needs any update (I get the feeling it shouldn't?).
Thanks for trying.
Trying to then connect with the 3.0.5-r24922 client from the windows beta repo, the connection fails with this output client side.
Damn, sorry about that. That had already been fixed in r24926, but I had not uploaded a new build since... (I'm on a 4G metered connection this week)
The final fail to query ISWbemLocator has been happening with this primarily Intel GPU windows system for some time
Yeah, that's been happening for a while, I should fix it, again: #1899.
I got a little extra traceback, which might be useful.
Cool, probably a result of the forced shutdown, this should fix it: r24929. (will backport)
I'm not certain I recall how to install a 3.0.5 in the beta repo on the Fedora server, when a dnf update with the beta repo enabled will likely install 4.0 instead
Can I force dnf to install an old version of a package? (there may be more to it than that if the dependencies also need a downgrade..)
Found a Fedora 30 xpra v3.0.5-r24928 build. Launched with the usual command, and now the Python3 3.0.5-r24827 windows client is able to connect, but unfortunately it is still not displaying the chromium-browser window when I try to launch from an xterm.
The logs look the same to me as what I posted in #2466, but in case there's a difference, here're the client-side output with a -d window
when launching the chromium-browser.
2020-01-09 15:17:33,955 make_new_window(..) client_window_classes=(<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>, <class 'xpra.client.gtk3.client_window.ClientWindow'>), group_leader_window=<__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)> 2020-01-09 15:17:33,955 <class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>(gtk3.client, <__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)>, 0, 4, 494, 1288, 1313, 853, 1050, 682, {b'xid': b'0xc00001', b'client-machine': b'xpra-lib-fed30-2', b'pid': 23027, b'title': b'New Tab - Chromium', b'role': b'br owser', b'class-instance': (b'chromium-browser', b'Chromium-browser'), b'window-type': (b'NORMAL',), b'size-constraints': {b'position': (395, 1030), b'minimum-size': (508, 87)}, b'icon-title': b'', b'decorations': 0, b'set-initial-position': True, b'iconic': False}, False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7,1,b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff', b''], 0) 2020-01-09 15:17:33,965 setup_window(1050, 682) 2020-01-09 15:17:33,965 new_backing(1050, 682) backing_class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'> 2020-01-09 15:17:33,965 make_new_backing(<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, 1313, 853, 1313, 853) effective backing class=<class 'xpra.client.gl.gtk_b ase.gl_drawing_area.GLDrawingArea'>, server alpha=False, window alpha=False 2020-01-09 15:17:33,975 set_window_type(['NORMAL']) hints=0 2020-01-09 15:17:33,975 make_new_window(..) window(4)=GLClientWindow(4 : gtk3.GLDrawingArea(4, (1050, 682), None)) 2020-01-09 15:17:33,985 Win32Hooks: window frame size is 8x8 2020-01-09 15:17:33,985 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x000000003b1faa90>>} 2020-01-09 15:17:33,995 GL do_configure_event(<Gdk.EventConfigure object at 0x000000003b200400 (void at 0x000000001b4e3340)>) 2020-01-09 15:17:33,995 GLClientWindow(4 : gtk3.GLDrawingArea(4, (1050, 682), None)).do_map_event(<Gdk.EventAny object at 0x000000003b1f1860 (void at 0x000000001b4eae60)>) OR=False 2020-01-09 15:17:33,995 GL do_configure_event(<Gdk.EventConfigure object at 0x000000003b1f1860 (void at 0x000000001b4eaf00)>) 2020-01-09 15:17:34,084 cairo_paint_border(<cairo.Context object at 0x000000003b1e0a30>, None) 2020-01-09 15:17:34,110 cairo_paint_border(<cairo.Context object at 0x000000003b1e0910>, None) 2020-01-09 15:17:34,112 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f30>, None) 2020-01-09 15:17:34,128 cairo_paint_border(<cairo.Context object at 0x000000003b1e0b10>, None) 2020-01-09 15:17:34,133 cairo_paint_border(<cairo.Context object at 0x000000003b1e0bd0>, None) 2020-01-09 15:17:34,142 cairo_paint_border(<cairo.Context object at 0x000000003b1e0d90>, None) 2020-01-09 15:17:34,144 cairo_paint_border(<cairo.Context object at 0x000000003b1e0bd0>, None) 2020-01-09 15:17:34,170 cairo_paint_border(<cairo.Context object at 0x000000003b1e02f0>, None) 2020-01-09 15:17:34,172 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f90>, None) 2020-01-09 15:17:34,175 cairo_paint_border(<cairo.Context object at 0x000000003b1e0d30>, None) 2020-01-09 15:17:34,178 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f90>, None) 2020-01-09 15:17:34,192 cairo_paint_border(<cairo.Context object at 0x000000003b1e0a30>, None) 2020-01-09 15:17:34,194 cairo_paint_border(<cairo.Context object at 0x000000003b1e06b0>, None) 2020-01-09 15:17:34,211 cairo_paint_border(<cairo.Context object at 0x000000003b1e0490>, None) 2020-01-09 15:17:34,215 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None) 2020-01-09 15:17:34,225 cairo_paint_border(<cairo.Context object at 0x000000003b1e0e90>, None) 2020-01-09 15:17:34,227 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None) 2020-01-09 15:17:34,243 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f10>, None) 2020-01-09 15:17:34,248 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None) 2020-01-09 15:17:34,258 cairo_paint_border(<cairo.Context object at 0x000000003b1e0e90>, None) 2020-01-09 15:17:34,260 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None) 2020-01-09 15:17:34,275 cairo_paint_border(<cairo.Context object at 0x000000003b1e02f0>, None) 2020-01-09 15:17:34,277 cairo_paint_border(<cairo.Context object at 0x000000003b1e0410>, None) 2020-01-09 15:17:34,292 cairo_paint_border(<cairo.Context object at 0x000000003b1e0450>, None) 2020-01-09 15:17:34,293 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None) 2020-01-09 15:17:34,308 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f10>, None) 2020-01-09 15:17:34,309 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None) 2020-01-09 15:17:40,240 cairo_paint_border(<cairo.Context object at 0x000000003b20b3d0>, None) 2020-01-09 15:17:40,267 cairo_paint_border(<cairo.Context object at 0x000000003b20b570>, None) 2020-01-09 15:17:40,285 cairo_paint_border(<cairo.Context object at 0x000000003b20b770>, None) 2020-01-09 15:17:40,299 cairo_paint_border(<cairo.Context object at 0x000000003b20b2b0>, None) 2020-01-09 15:17:40,316 cairo_paint_border(<cairo.Context object at 0x000000003b20b9f0>, None) 2020-01-09 15:17:40,333 cairo_paint_border(<cairo.Context object at 0x000000003b2055b0>, None) 2020-01-09 15:17:40,350 cairo_paint_border(<cairo.Context object at 0x000000003b205970>, None) 2020-01-09 15:17:40,366 cairo_paint_border(<cairo.Context object at 0x000000003b2059d0>, None) 2020-01-09 15:17:40,388 cairo_paint_border(<cairo.Context object at 0x000000003b2059d0>, None) 2020-01-09 15:17:40,401 cairo_paint_border(<cairo.Context object at 0x000000003b1e0dd0>, None) 2020-01-09 15:17:40,415 cairo_paint_border(<cairo.Context object at 0x000000003b20b3d0>, None) 2020-01-09 15:17:40,431 cairo_paint_border(<cairo.Context object at 0x000000003b20b3d0>, None) 2020-01-09 15:17:40,448 cairo_paint_border(<cairo.Context object at 0x000000003b20b550>, None)
Also (and I'll also mention this in #1797), it looks like something is causing a connection hang and timeout for the Chrome 79 html5 client on both Windows and OSX, using both http (https://10.0.3.148:1239), and only seem to be outputting the "usual" cert error messages server side (the ones I expect because I am just using a self-generated cert with no SAN despite Chrome's expectations).
make_new_window(..) client_window_classes=(<class'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>, \ <class 'xpra.client.gtk3.client_window.ClientWindow'>), \ group_leader_window=<__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)> <class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>(gtk3.client, \ <__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)>, \ 0, 4, 494, 1288, 1313, 853, 1050, 682, {b'xid': b'0xc00001', b'client-machine': b'xpra-lib-fed30-2', \ b'pid': 23027, b'title': b'New Tab - Chromium', b'role': b'browser', b'class-instance': (b'chromium-browser', b'Chromium-browser'), \ b'window-type': (b'NORMAL',), \ b'size-constraints': {b'position': (395, 1030), b'minimum-size': (508, 87)}, \ b'icon-title': b'', b'decorations': 0, b'set-initial-position': True, b'iconic': False}, \ False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7,1,b'..', b''], 0)
That's the undecorated window bug.
Launched with the usual command, and now the Python3 3.0.5-r24827 windows client is able to connect, but unfortunately it is still not displaying the chromium-browser window when I try to launch from an xterm.
You need the "real" 3.0.5 stable release for windows: r24928, or later if I re-issue it for the html5 connection bug. (r24827 is too old and does not have the r24926 fix). I am really hoping that this fix is correct as I won't be able to test it until I have access to a real desktop PC with a real GPU in it.
At last, a break.
3.0.5-r24942 Windows client against a 3.0.5-r24939 fedora 30 server... with opengl enabled despite being on the greylist... and the chromium-browser is displaying!
We'll just assume that will also work with any other applications with undecorated windows... and I'll close this again.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2514