Opened 4 months ago
Last modified 5 weeks ago
#2909 assigned defect
HTML5 Client shows shifted and partial xfce4 desktop
Reported by: | goekce | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | 4.2 |
Component: | html5 | Version: | trunk |
Keywords: | Cc: |
Description
Version: xpra v4.1-r27688
After I connect through Xpra proxy, I get the the screenshot attached. It is not possible to scroll to the bottom of the screen and the desktop seems to be shifted on the top.
Do you have an idea where the problem could be?
Attachments (1)
Change History (8)
Changed 4 months ago by
Attachment: | 2909-screenshot.png added |
---|
comment:1 Changed 4 months ago by
Status: | assigned → new |
---|
comment:2 Changed 4 months ago by
When I connect without proxy, the rendering is ok.:
xpra start-desktop --start-child=xfce4-session --bind-tcp=0.0.0.0:14500 --exit-with-client --exit-with-children --systemd-run=no
When I use proxy with xfce4-session
I get the following notification which I forgot in the description. Sorry for that:
DPI is set to 15x15 (wanted 96x96) you may experience scaling problems, ...
Here is the log which contains the screen resolution:
Current version of pixman: 0.40.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (++) Log file: "/run/user/36549/xpra/Xorg.S18668.log", Time: Sun Oct 18 16:25:32 2020 (++) Using config file: "/etc/xpra/xorg.conf" (==) Using system config directory "/usr/share/X11/xorg.conf.d" 16:25:38,456 created unix domain socket '/run/user/36549/xpra/server_hostname-0' 16:25:38,457 created unix domain socket '/run/xpra/server_hostname-0' 16:25:38,563 pointer device emulation using XTest 16:25:38,638 serving html content from '/usr/share/xpra/www' 16:25:38,990 failed to connect to avahi's dbus interface: org.freedesktop.systemd1.NoSuchUnit: Unit dbus-org.freedesktop.Avahi.service not found. 16:25:38,990 to avoid this warning, disable mdns support 16:25:38,990 using the 'mdns=no' option 16:25:38,997 D-Bus notification forwarding is available 16:25:39,018 pulseaudio not started: 'pulseaudio' command not found (Xpra:18677): Gtk-CRITICAL **: 16:25:39.102: gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed 16:25:39,111 Warning: webcam forwarding is disabled 16:25:39,111 the virtual video directory '/sys/devices/virtual/video4linux' was not found 16:25:39,111 make sure that the 'v4l2loopback' kernel module is installed and loaded 16:25:39,111 or use the 'webcam=no' option 16:25:39,112 found 0 virtual video devices for webcam forwarding 16:25:39,120 Warning: cannot watch for application menu changes without pyinotify: 16:25:39,120 No module named 'pyinotify' gpg-agent[18780]: WARNING: "--write-env-file" is an obsolete option - it has no effect gpg-agent: a gpg-agent is already running - not starting a new one (xfce4-session:18765): xfce4-session-WARNING **: 16:25:39.197: gpg-agent returned no PID in the variables (xfce4-session:18765): xfce4-session-WARNING **: 16:25:39.202: xfsm_manager_load_session: Something wrong with /home/user/.cache/sessions/xfce4-session-server_hostname:0, Does it exist? Permissions issue? 16:25:39,214 Error parsing xdg menu data: 16:25:39,215 ParsingError in file '/etc/xdg/menus/kde-applications.menu', File not found 16:25:39,215 this is either a bug in python-xdg, 16:25:39,219 or an invalid system menu configuration xfwm4-Message: 16:25:39.289: Another Window Manager (Xpra) is already running on screen :0.0 xfwm4-Message: 16:25:39.289: To replace the current window manager, try "--replace" (xfwm4:18782): xfwm4-WARNING **: 16:25:39.289: Could not find a screen to manage, exiting 16:25:39,302 251.9GB of system memory 16:25:39,511 xpra is ready. 16:25:39,511 xpra GTK3 X11 version 4.1-r27685 64-bit xfsettingsd-Message: 16:25:39.529: Skipping screen 0, it already has an xsettings manager... 16:25:39,559 uid=36549 (user), gid=10001 (students) 16:25:39,559 running with pid 18677 on Linux unknown unknown unknown 16:25:39,559 connected to X11 display :0 with 24 bit colors Warning: failed to query pulseaudio using 'pactl info' Connection failure: Connection refused pa_context_connect() failed: Connection refused Warning: failed to query pulseaudio using 'pactl info' Connection failure: Connection refused pa_context_connect() failed: Connection refused 16:25:39,630 GStreamer version 1.18.0 for Python 3.8.6 64-bit 16:25:39,667 Warning: failed to query pulseaudio using 'pactl info' 16:25:39,667 Connection failure: Connection refused 16:25:39,667 pa_context_connect() failed: Connection refused 16:25:39,769 Odd-lengthed property _NET_WM_STRUT or _NET_WM_STRUT_PARTIAL: wanted 48 bytes, got 96: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 16:25:39,772 Error parsing xdg menu data: 16:25:39,772 ParsingError in file '/etc/xdg/menus/kde-applications.menu', File not found 16:25:39,772 this is either a bug in python-xdg, 16:25:39,772 or an invalid system menu configuration ** (wrapper-2.0:18831): WARNING **: 16:25:39.877: No outputs have backlight property (wrapper-2.0:18831): Gtk-WARNING **: 16:25:39.938: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PowerManagerButton) (wrapper-2.0:18833): Gtk-WARNING **: 16:25:39.942: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node button, owner XfceArrowButton) 16:25:39,951 New unix-domain connection received 16:25:39,951 on '/run/xpra/server_hostname-0' (wrapper-2.0:18834): Gtk-WARNING **: 16:25:40.050: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node button, owner GtkButton) 16:25:40,147 New unix-domain connection received 16:25:40,147 on '/run/user/36549/xpra/server_hostname-0' 16:25:40,149 Handshake complete; enabling connection 16:25:40,171 HTML5 Posix Firefox client version 4.1-r27685 16:25:40,171 as 'user' 16:25:40,171 via Linux 5.9.1-arch1-1 proxy version 4.1 on 'server_hostname' 16:25:40,176 setting keyboard layout to 'us' 16:25:40,298 client root window size is 1916x967 with 1 display: 16:25:40,298 HTML (507x256 mm - DPI: 95x95) 16:25:40,299 Canvas 16:25:40,304 Error writing fake xinerama file '/root/.None-fakexinerama': 16:25:40,304 [Errno 13] Permission denied: '/root/.None-fakexinerama' 16:25:40,304 Error writing fake xinerama file '/root/.fakexinerama': 16:25:40,304 [Errno 13] Permission denied: '/root/.fakexinerama' 16:25:40,377 server virtual display now set to 1856x960 (best match for 1916x967) 16:25:40,440 Error parsing xdg menu data: 16:25:40,440 ParsingError in file '/etc/xdg/menus/kde-applications.menu', File not found 16:25:40,440 this is either a bug in python-xdg, 16:25:40,440 or an invalid system menu configuration 16:25:40,472 client 1 received xdg start menu data 16:25:40,500 client 1 startup complete 16:25:40,500 client 1 connection-established 16:25:40,512 Odd-lengthed property _NET_WM_STRUT or _NET_WM_STRUT_PARTIAL: wanted 48 bytes, got 96: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00?\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' 16:25:40,513 Error parsing property '_NET_WM_STRUT_PARTIAL' (strut-partial) 16:25:40,513 this may be a misbehaving application, or bug in Xpra 16:25:40,513 data length=96 16:25:40,513 data: "b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x .. x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/xpra/x11/gtk_x11/prop.py", line 169, in prop_get return prop_decode(target, etype, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 309, in prop_decode return _prop_decode_scalar(disp, etype, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 313, in _prop_decode_scalar value = deserialize(disp, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 68, in __init__ ) = struct.unpack(b"@" + b"L" * 12, data) struct.error: unpack requires a buffer of 96 bytes Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/xpra/x11/models/window.py", line 372, in do_xpra_property_notify_event super().do_xpra_property_notify_event(event) File "/usr/lib/python3.8/site-packages/xpra/x11/models/core.py", line 509, in do_xpra_property_notify_event self._handle_property_change(str(event.atom)) File "/usr/lib/python3.8/site-packages/xpra/x11/models/core.py", line 543, in _handle_property_change handler(self) File "/usr/lib/python3.8/site-packages/xpra/x11/models/base.py", line 346, in _handle_wm_strut_change strut = self.prop_get("_NET_WM_STRUT_PARTIAL", "strut-partial") File "/usr/lib/python3.8/site-packages/xpra/x11/models/core.py", line 503, in prop_get return prop_get(self.client_window, key, ptype, ignore_errors=bool(ignore_errors), raise_xerrors=raise_xerrors) File "/usr/lib/python3.8/site-packages/xpra/x11/gtk_x11/prop.py", line 169, in prop_get return prop_decode(target, etype, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 309, in prop_decode return _prop_decode_scalar(disp, etype, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 313, in _prop_decode_scalar value = deserialize(disp, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 68, in __init__ ) = struct.unpack(b"@" + b"L" * 12, data) struct.error: unpack requires a buffer of 96 bytes 16:25:40,534 DPI set to 15 x 15 (wanted 96 x 96) 16:25:40,535 you may experience scaling problems, such as huge or small fonts, etc 16:25:40,535 to fix this issue, try the dpi switch, or use a patched Xorg dummy driver 16:25:40,591 OpenGL is supported on display ':0' 16:25:40,591 using 'llvmpipe (LLVM 10.0.1, 256 bits)' renderer 16:25:40,591 automatic picture encoding enabled, also available: 16:25:40,591 jpeg, png, rgb32, rgb24, h264, mpeg1 16:25:40,601 client 1 update encodings: [object Object] 16:25:40,617 New unix-domain connection received 16:25:40,617 on '/run/user/36549/xpra/server_hostname-0' 16:25:40,618 New unix-domain connection received 16:25:40,618 on '/run/xpra/server_hostname-0' 16:25:41,051 New unix-domain connection received 16:25:41,051 on '/run/xpra/server_hostname-0' 16:25:41,053 New unix-domain connection received 16:25:41,053 on '/run/user/36549/xpra/server_hostname-0' 16:25:47,376 client 1 visibilitychange hidden= true connected= true
comment:3 Changed 4 months ago by
I use an nginx reverse proxy. I thought the reverse proxy would corrupt data, but it does not. When I start directly an xpra session on the command line using
xpra start-desktop --start-child=xfce4-session --bind-tcp=0.0.0.0:14500 --exit-with-client=yes --exit-with-children=yes --systemd-run=no
then Xfce4 session is displayed correctly.
I diffed the logs of the xpra-server started by the user with the logs of the server started by the proxy. The relevant lines in the log of the xpra-server started by the xpra proxy as follows:
(Xpra:6637): Gtk-CRITICAL **: 16:52:59.100: gtk_widget_realize: assertion 'widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed xfwm4-Message: 16:52:59.558: Another Window Manager (Xpra) is already running on screen :0.0 xfwm4-Message: 16:52:59.558: To replace the current window manager, try "--replace" (xfwm4:6757): xfwm4-WARNING **: 16:52:59.558: Could not find a screen to manage, exiting xfsettingsd-Message: 16:52:59.643: Skipping screen 0, it already has an xsettings manager... 2020-10-21 16:52:59,800 Odd-lengthed property _NET_WM_STRUT or _NET_WM_STRUT_PARTIAL: wanted 48 bytes, got 96: b'\x00\x00 ... ... ... ... 2020-10-21 16:53:01,190 Error parsing property '_NET_WM_STRUT_PARTIAL' (strut-partial) 2020-10-21 16:53:01,190 this may be a misbehaving application, or bug in Xpra 2020-10-21 16:53:01,190 data length=96 2020-10-21 16:53:01,191 data: "b'\\x00\\x00\\x00\ ... ... Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/xpra/x11/models/window.py", line 372, in do_xpra_property_notify_event super().do_xpra_property_notify_event(event) File "/usr/lib/python3.8/site-packages/xpra/x11/models/core.py", line 509, in do_xpra_property_notify_event self._handle_property_change(str(event.atom)) File "/usr/lib/python3.8/site-packages/xpra/x11/models/core.py", line 543, in _handle_property_change handler(self) File "/usr/lib/python3.8/site-packages/xpra/x11/models/base.py", line 346, in _handle_wm_strut_change strut = self.prop_get("_NET_WM_STRUT_PARTIAL", "strut-partial") File "/usr/lib/python3.8/site-packages/xpra/x11/models/core.py", line 503, in prop_get return prop_get(self.client_window, key, ptype, ignore_errors=bool(ignore_errors), raise_xerrors=raise_xerrors) File "/usr/lib/python3.8/site-packages/xpra/x11/gtk_x11/prop.py", line 169, in prop_get return prop_decode(target, etype, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 309, in prop_decode return _prop_decode_scalar(disp, etype, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 313, in _prop_decode_scalar value = deserialize(disp, data) File "/usr/lib/python3.8/site-packages/xpra/x11/prop_conv.py", line 68, in __init__ ) = struct.unpack(b"@" + b"L" * 12, data) struct.error: unpack requires a buffer of 96 bytes 2020-10-21 16:53:01,207 client 1 startup complete 2020-10-21 16:53:01,209 client 1 connection-established 2020-10-21 16:53:01,220 DPI set to 96 x 96
My guess is that proxy starts the server with different resolution and DPI setting. Is there a difference?
comment:4 Changed 4 months ago by
I was using Xfvb due to keyboard layout issues and changed to Xorg for testing.
Xpra logs show
DPI set to 4 x 15 (wanted 96 x 96)
and the screen is again shifted as before.
I noticed that if I try to start xpra as a user I cannot start it at all:
X11 connection rejected because of wrong authentication. Unable to init server: Could not connect: Connection refused
But this seems to be another problem.
I will try to enforce the DPI to see if it solves the desktop shifting problem.
comment:5 Changed 4 months ago by
The DPI problem was solved by installing the patched dummy driver (on Archlinux xf86-video-dummy-xpra-patch
).
But the actual problem remains. My workaround is currently to avoid the start-desktop command and start a terminal directly.
I also noticed that when I start xfce4-panel
using terminal, then my clicks on the panel are not registered. Probably the problem is associated with the proxy and to a desktop-specific program like xfce4-panel
.
comment:6 Changed 4 months ago by
Milestone: | → 4.2 |
---|---|
Owner: | changed from goekce to Antoine Martin |
Status: | new → assigned |
comment:7 Changed 5 weeks ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2909
Are you sure that connecting through the proxy makes any difference at all?
Please include the server log, which will show the client's resolution.
-d geometry,screen
may provide more details.