Xpra: Ticket #1722: window is blank black square

The summary for this ticket was chosen arbitrarily. I'm not sure what the description should be, and there seem to be a few issues at play, some of which may not be critical, but do raise warnings.

First, the version information is unclear. Debian tells me that the installed version is 2.3-20171213r17616-1, but xpra itself says xpra X11 version 2.3-r17613 64-bit.

Now to the ticket itself:

I opened a virtual console on tty6 (C-M-F6), ran startx to start the i3 window manager, opened a console window, started tmux, and from there ...

$xpra start --bind=auto --auth=pam --start=xfce4-terminal
Warning: invalid option: 'shadow-fullscreen'
Warning: cannot use the system proxy for 'start' subcommand,
 failed to connect to '/run/xpra/system':
 [Errno 2] No such file or directory
Warning: invalid option: 'shadow-fullscreen'
2017-12-13 08:55:44,051 Warning: failed to write script file in '/run/user/1007/xpra':
2017-12-13 08:55:44,052  [Errno 2] No such file or directory: '/run/user/1007/xpra'
2017-12-13 08:55:44,052  ($XDG_RUNTIME_DIR has not been created?)
Entering daemon mode; any further errors will be reported to:
/home/me/.xpra/S30645.log
Actual display used: :3
Actual log file name is now: /home/me/.xpra/:3.log

1] Option shadow-fullscreen is listed at /etc/xpra/xpra.conf, but seems to be invalid.

2] The commentary in file /etc/xpra/xpra.conf says that user-local version should be at ~/xpra/xpra.conf, but I gathered from elsewhere that it should be ~/.xpra/... (also,I have a pet peeve about cluttering ~/ ,and the xfreedesktop standard wants ~/.config/.. for user-local configurations.

3] How do I get rid of the message /run/xpra/system ?

Now, continuing to the central problem of this ticket:

$xpra attach :3
Warning: invalid option: 'shadow-fullscreen'
2017-12-13 08:56:11,311 Xpra gtk2 client version 2.3-r17613 64-bit
2017-12-13 08:56:11,311  running on Linux Devuan 1.0 jessie
Warning: invalid option: 'shadow-fullscreen'
2017-12-13 08:56:17,149 GStreamer version 1.10.4 for Python 2.7.13 64-bit
2017-12-13 08:56:18,430 No OpenGL_accelerate module loaded: No module named OpenGL_accelerate
2017-12-13 08:56:18,970 Warning: vendor 'Intel Open Source Technology Center' is greylisted,
2017-12-13 08:56:18,970  you may want to turn off OpenGL if you encounter bugs
2017-12-13 08:56:19,053 OpenGL enabled with Mesa DRI Intel(R) Bay Trail
2017-12-13 08:56:19,188 Error: mmap setup failed:
2017-12-13 08:56:19,188  [Errno 2] No such file or directory: '/run/user/1007/xpra'
2017-12-13 08:56:19,201  keyboard settings: rules=evdev, model=pc105, layout=us,il
2017-12-13 08:56:19,205  desktop size is 1366x768 with 1 screen:
2017-12-13 08:56:19,206   :0.0 (361x203 mm - DPI: 96x96)
2017-12-13 08:56:19,206     eDP1 (340x190 mm - DPI: 102x102)
2017-12-13 08:56:19,419 keyboard layouts: us,il,us,il
Please enter the password for unix-domain server /home/me/.xpra/E15-2016-3 :
2017-12-13 08:56:28,585  keyboard settings: rules=evdev, model=pc105, layout=us,il
2017-12-13 08:56:28,602  desktop size is 1366x768 with 1 screen:
2017-12-13 08:56:28,603   :0.0 (361x203 mm - DPI: 96x96)
2017-12-13 08:56:28,603     eDP1 (340x190 mm - DPI: 102x102)
2017-12-13 08:56:29,163 Xpra X11 server version 2.3-r17613 64-bit
2017-12-13 08:56:29,164  running on Linux Devuan 1.0 jessie
2017-12-13 08:56:29,165 enabled remote logging
2017-12-13 08:56:29,168 Attached to :3
2017-12-13 08:56:29,168  (press Control-C to detach)
2017-12-13 08:56:29,172 server does not support xi input devices
2017-12-13 08:56:29,174  server uses: xtest

At this point, a client window does appear on my screen, but as a totally blank black square. The enveloping window is maneuverable by the i3 window manager, but the interior window process itself does not respond to mouse or cursor commands.

xpra stop :3
Warning: invalid option: 'shadow-fullscreen'
Please enter the password for unix-domain server /home/me/.xpra/E15-2016-3 :
server requested disconnect:
 server shutdown
xpra at :3 has exited.

However, the window remains drawn in place! And ...

pgrep -a xpra
20110 /usr/bin/python /usr/bin/xpra start --bind=auto --auth=pam --start=xfce4-terminal --start-via-proxy=no
30981 /usr/bin/python /usr/bin/xpra attach :3
31331 /usr/bin/python /usr/bin/xpra_signal_listener

But ...

$xpra list
Warning: invalid option: 'shadow-fullscreen'
No xpra sessions found

A few attempts to politely pkill -15 xpra didn't work, so I needed to pkill -9 xpra to clean up.

Here's the server log:

2017-12-13 08:55:44,059 cannot access python uinput module:
2017-12-13 08:55:44,059  No module named uinput
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
Failed to rename log file "/home/me/.xpra/Xorg.S30645.log" to "/home/me/.xpra/Xorg.S30645.log": No such file or directory
X.Org X Server 1.19.2
Release Date: 2017-03-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-4-amd64 x86_64 Debian
Current Operating System: Linux E15-2016 4.14.0-1-amd64 #1 SMP Debian 4.14.2-1 (2017-11-30) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.14.0-1-amd64 root=UUID= ro quiet bluetooth.blacklist=yes cgroup_enable=memory swapaccount=1
Build Date: 16 October 2017  08:19:45AM
xorg-server 2:1.19.2-1+deb9u2 (https://www.debian.org/support)
Current version of pixman: 0.34.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: "/home/me/.xpra/Xorg.S30645.log", Time: Wed Dec 13 08:55:44 2017
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
3
2017-12-13 08:55:50,292 created unix domain socket: /home/me/.xpra/E15-2016-3
2017-12-13 08:55:50,810 pointer device emulation using XTest
2017-12-13 08:55:58,504 serving html content from: /usr/share/xpra/www
2017-12-13 08:56:00,568 Warning: webcam forwarding is disabled
2017-12-13 08:56:00,569  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2017-12-13 08:56:00,569  make sure that the 'v4l2loopback' kernel module is installed and loaded
2017-12-13 08:56:00,569 found 0 virtual video devices for webcam forwarding
2017-12-13 08:56:00,581 pulseaudio not started: 'pulseaudio' command not found
Warning: invalid option: 'shadow-fullscreen'
2017-12-13 08:56:06,063 GStreamer version 1.10.4 for Python 2.7.13 64-bit
2017-12-13 08:56:06,071 D-Bus notification forwarding is available
/bin/sh: 1: /etc/X11/Xsession: not found
2017-12-13 08:56:06,097 xpra X11 version 2.3-r17613 64-bit
2017-12-13 08:56:06,099  uid=1007 (me), gid=1007 (me)
2017-12-13 08:56:06,099  running with pid 30742 on Linux Devuan 1.0 jessie
2017-12-13 08:56:06,100  connected to X11 display :3 with 24 bit colors
2017-12-13 08:56:06,417 xpra is ready.
2017-12-13 08:56:06,452 Warning: lpinfo command failed and returned 1
2017-12-13 08:56:06,453  command used: '/usr/sbin/lpinfo --make-and-model Generic PDF Printer -m'
2017-12-13 08:56:06,470 Warning: lpinfo command produced some warnings:
2017-12-13 08:56:06,471  'lpinfo: Bad file descriptor\n'
2017-12-13 08:56:06,472 printer forwarding enabled using pdf
2017-12-13 08:56:06,472 Warning: printing conflicts with socket authentication module 'pam'
2017-12-13 08:56:06,473 3.8GB of system memory
<Boruch snipped here ~500 lines of GTK theme parsing error for xfce4-terminal>
Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined
2017-12-13 08:56:19,802 New unix-domain connection received on /home/me/.xpra/E15-2016-3
2017-12-13 08:56:19,811 Authentication required by PAM authenticator module
2017-12-13 08:56:19,811  sending challenge for username 'me' using xor digest
2017-12-13 08:56:20,192 New unix-domain connection received on /home/me/.xpra/E15-2016-3
2017-12-13 08:56:28,704 Handshake complete; enabling connection
2017-12-13 08:56:28,741 Python/Gtk2 Linux Devuan 1.0 jessie client version 2.3-r17613 64-bit
2017-12-13 08:56:28,742  connected from 'E15-2016' as 'me'
2017-12-13 08:56:28,743  automatic picture encoding enabled, also available:
2017-12-13 08:56:28,743   h264, vp9, vp8, png, webp, rgb24, jpeg, rgb32
2017-12-13 08:56:28,751  client root window size is 1366x768 with 1 display:
2017-12-13 08:56:28,752   :0.0 (361x203 mm - DPI: 96x96)
2017-12-13 08:56:28,752     eDP1 (340x190 mm - DPI: 102x102)
2017-12-13 08:56:28,866 server virtual display now set to 1366x768
2017-12-13 08:56:28,892 setting key repeat rate from client: 660ms delay / 40ms interval
2017-12-13 08:56:28,901 setting keymap: rules=evdev, model=pc105, layout=us,il
2017-12-13 08:56:28,996 setting keyboard layout to 'us,il'
2017-12-13 08:56:29,083 Warning: keymapping changed:
2017-12-13 08:56:29,084  keycode 108 points to 2 modifiers: mod1, mod5
2017-12-13 08:56:29,084  from definition: Meta_R, Alt_R, ISO_Level3_Shift
2017-12-13 08:56:29,084  mod1: Alt_R
2017-12-13 08:56:29,084  mod5: ISO_Level3_Shift
2017-12-13 08:56:29,084  keeping: Alt_R for mod1
2017-12-13 08:56:29,183 DPI set to 16 x 18 (wanted 96 x 96)
2017-12-13 08:56:29,183  you may experience scaling problems, such as huge or small fonts, etc
2017-12-13 08:56:29,183  to fix this issue, try the dpi switch, or use a patched Xorg dummy driver
2017-12-13 08:56:29,210 client 1: Attached to :3
2017-12-13 08:56:29,212 client 1:  (press Control-C to detach)
2017-12-13 08:56:29,214 client 1: server does not support xi input devices
2017-12-13 08:56:29,215 client 1:  server uses: xtest
2017-12-13 08:57:25,850 Warning: delayed region timeout
2017-12-13 08:57:25,851  region is 15 seconds old, will retry - bad connection?
2017-12-13 08:57:25,852  13 late responses:
2017-12-13 08:57:25,852       1 webp :  56s
2017-12-13 08:57:25,853       2 rgb32:  56s
2017-12-13 08:57:25,854       3 png  :  56s
2017-12-13 08:57:25,855       4 webp :  32s
2017-12-13 08:57:25,855       5 png  :  32s
2017-12-13 08:57:25,856       6 webp :  19s
2017-12-13 08:57:25,857       7 png  :  19s
2017-12-13 08:57:25,857       8 webp :  19s
2017-12-13 08:57:25,858       9 png  :  19s
2017-12-13 08:57:25,859      10 webp :  19s
2017-12-13 08:57:25,860      11 png  :  18s
2017-12-13 08:57:25,860      12 webp :  15s
2017-12-13 08:57:25,861      13 png  :  14s
2017-12-13 08:57:29,740 Disconnecting client /home/me/.xpra/E15-2016-3:
2017-12-13 08:57:29,740  client ping timeout (waited 60 seconds without a response)
2017-12-13 08:57:29,746 xpra client 1 disconnected.
2017-12-13 08:57:49,511 New unix-domain connection received on /home/me/.xpra/E15-2016-3
2017-12-13 08:57:49,565 New unix-domain connection received on /home/me/.xpra/E15-2016-3
2017-12-13 08:57:50,038 Authentication required by PAM authenticator module
2017-12-13 08:57:50,038  sending challenge for username 'me' using xor digest
2017-12-13 08:57:56,172 Handshake complete; enabling connection
2017-12-13 08:57:56,176 Python2/GObject client version 2.3-r17613 64-bit
2017-12-13 08:57:56,177  connected from 'E15-2016' as 'me'
2017-12-13 08:57:56,180 Shutting down in response to client request
2017-12-13 08:57:56,180 Disconnecting client /home/me/.xpra/E15-2016-3:
2017-12-13 08:57:56,181  server shutdown
2017-12-13 08:57:56,183 xpra client 2 disconnected.
2017-12-13 08:57:57,212 killing xvfb with pid 30744
2017-12-13 08:57:57,214 removing socket /home/me/.xpra/E15-2016-3
Gdk-Message: xfce4-terminal: Fatal IO error 11 (Resource temporarily unavailable) on X server :3.
(II) Server terminated successfully (0). Closing log file.

The Xorg log has 3479 lines, so here is an excerpt:

$grep -e EE -e WW Xorg.S30645.log.old
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 10965.759] (EE) Unable to locate/open config directory: "/home/me/.xpra/xorg.conf.d"
[ 10965.780] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 10965.780] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 10965.787] (EE) systemd-logind: failed to get session: The name org.freedesktop.login1 was not provided by any .service files
[ 10965.788] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[ 10965.794] (WW) Warning, couldn't open module kbd
[ 10965.794] (EE) Failed to load module "kbd" (module does not exist, 0)
[ 10965.794] (WW) Falling back to old probe method for dummy
[ 10965.794] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 10971.238] (WW) DUMMY(0): Option "ConstantDPI" is not used
[ 10971.245] (EE) AIGLX: reverting to software rendering
[ 10971.436] (WW) <default pointer>: No Device specified, looking for one...
[ 10971.777] (WW) Warning, couldn't open module kbd
[ 10971.778] (EE) Failed to load module "kbd" (module does not exist, 0)
[ 10971.778] (EE) No input driver matching `kbd'
[ 10971.789] (EE) PreInit returned 2 for "<default keyboard>"
[ 10971.805] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied

In ticket #1709, I mentioned in passing that I had a critical failure with my X-server. Part of its final resolution may have been to change my xorg input driver 'kbd' to 'evdev'. Would this be relevant for the 'xorg-dummy' package that xpra seems to use?



Wed, 13 Dec 2017 15:45:41 GMT - Boruch:

I continued testing, and now do have xpra working, but you may want to keep the ticket open for a more general solution.

I inserted the following into /etc/xorg-uinput.conf:

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "evdev"
EndSection
Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "evdev"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Wed, 13 Dec 2017 17:00:37 GMT - Antoine Martin: owner, summary changed

The summary for this ticket was chosen arbitrarily.

I've updated it to something that sounds like a real problem, rather than the harmless warning message server does not support xi input devices.

Debian tells me that the installed version is 2.3-20171213r17616-1, but xpra itself says xpra X11 version 2.3-r17613 64-bit.

I wouldn't worry about that, the difference between those two revisions is minimal. They are generated at different times during the build and the source may have been updated in between those two events.

xpra start --bind=auto --auth=pam --start=xfce4-terminal

Warning: cannot use the system proxy for 'start' subcommand failed to connect to '/run/xpra/system': [Errno 2] No such file or directory

This is on Devuan, so the system wide proxy service will not be started automatically using its systemd socket and unit files. (#1521) So you either have to start the system wide proxy server yourself, or use start-via-proxy=no to avoid the warning.

Starting sessions via the proxy allows you to use features such as xi input devices (#173), and multiseat (#1105), but it isn't essential otherwise.

Warning: invalid option: 'shadow-fullscreen'

You must have an old config file laying around. We do not ship config files that emit any warnings.

Warning: failed to write script file in '/run/user/1007/xpra': [Errno 2] No such file or directory: '/run/user/1007/xpra' ($XDG_RUNTIME_DIR has not been created?)

The XDG_RUNTIME_DIR is meant to be created by pam when you open the session. If this directory is missing, things may break though we try to continue as best we can (see #1129, #1537)

The commentary in file /etc/xpra/xpra.conf says that user-local version..

Thanks, fixed in r17618.

I have a pet peeve about cluttering ~/ ,and the xfreedesktop standard wants ~/.config/.. for user-local configurations

Ticket created: #1723 FWIW: the xpra codebase pre-dates this specification, which was not usable in any distributions until much later.

At this point, a client window does appear on my screen, but as a totally blank black square. The enveloping window is maneuverable by the i3 window manager, but the interior window process itself does not respond to mouse or cursor commands.

Please try the usual workarounds: disable opengl, disable the system tray, clipboard, etc.. until you find the one that is causing the problem. (and report it here so we can fix it) My prime suspect is opengl... (we have whitelisted more intel chipsets, which may have been a mistake)

xpra stop :3 However, the window remains drawn in place! And ...

Looks like something is seriously messed up.

Here's the server log: (..) Warning: delayed region timeout

That's usually the sign of a serious client problem. It is unable to process the screen updates or to reply to the server.

Shutting down in response to client request Disconnecting client /home/me/.xpra/E15-2016-3: server shutdown xpra client 2 disconnected. killing xvfb with pid 30744 removing socket /home/me/.xpra/E15-2016-3

This looks like a clean shutdown. If the server process does not exit, add "-d all" to your server command line to see where it gets stuck. You can also send it SIGUSR1 / SIGUSR2 to make it dump all remaining active threads.

The Xorg log has 3479 lines, so here is an excerpt: [ 10971.238] (WW) DUMMY(0): Option "ConstantDPI" is not used

FYI: you may or may not want to use the patched dummy driver: see wiki/Xdummy.

In ticket #1709, I mentioned in passing that I had a critical failure with my X-server. Part of its final resolution may have been to change my xorg input driver 'kbd' to 'evdev'. Would this be relevant for the 'xorg-dummy' package that xpra seems to use?

If you are not using "xi input devices", xpra will not use any input driver at all: the keyboard and mouse are emulated using xtest. So this is unlikely to be a problem here.

I continued testing, and now do have xpra working, ...

How did you fix things?

I inserted the following into /etc/xorg-uinput.conf: ...

Why, and how is this relevant to xpra?


Wed, 13 Dec 2017 17:26:46 GMT - Boruch:

How did you fix things?

I inserted the following into /etc/xorg-uinput.conf: ...

Why, and how is this relevant to xpra?

My bad. The correct path is: /etc/xpra/xorg-uinput.conf. The file was installed by xpra. The snippet was copied from the version of my /etc/X11/xorg/xorg.conf that restored my X11 server after some still-unidentified failure (possibly devuan/systemd -related).

The relevance to xpra is that whatever procedure is used to create file /etc/xpra/xorg-uinput.conf wasn't picking up important elements of the host system's xorg configuration, in this case /etc/X11/xorg.conf, but possibly also from any of the files in the conf.d sub-directory.

The fix isn't complete. Something is wrong with my keyboard definition in client window. I need to paste certain symbols that aren't typing correctly, eg. period(ie full-stop), open curly-brace, semi-colon, less-than sign.


Wed, 13 Dec 2017 17:31:33 GMT - Antoine Martin:

The snippet was copied from the version of my /etc/X11/xorg/xorg.conf that restored my X11 server after some still-unidentified failure

Don't do that. That snippet adds real local devices to xpra's virtual framebuffer. You don't want that.

I am puzzled as to how that ends up making any difference whatsoever since you should not be using uinput:

The fix isn't complete.

This is not a fix.


Wed, 13 Dec 2017 18:32:44 GMT - Boruch:

This is not a fix.

I re-tested, without the snippet, and now everything seems to work fine. I don't remember doing anything else. The only difference was that at the failure point, I had no other xpra servers or clients running, and now, at the point I can't reproduce the failure, I do have a second xpra server / client running (the firefox instance from which I've been communicating with you). If you ask me shut this firefox down for the purpose of trying to re-create the failure, I will, but it's a minor pain if you're certain the issue is irrelevant/


Thu, 14 Dec 2017 06:33:06 GMT - Antoine Martin:

I had no other xpra servers or clients running, and now, at the point I can't reproduce the failure...

Servers should be completely independent from each other, and even more so when using multiseat (#1105) where they end up "containerized". The uinput config would have been used, even when uinput could not load, that has now been fixed: ticket:1611#comment:21.

What I am saying is that the change you made would add local non-virtual devices to your xpra server. If this "fixes" things, then you end up not using xpra for your input devices and it may then be impossible to use the keyboard or mouse when connecting remotely. This is not how xpra is meant to run.


Mon, 22 Jan 2018 05:49:43 GMT - Antoine Martin: component changed; milestone set

Can I close this? Is there still a problem?


Mon, 22 Jan 2018 07:37:20 GMT - Boruch: status changed; resolution set

Yes. I haven't been able to reproduce it since.


Sat, 23 Jan 2021 05:32:02 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1722