Missing window decorations in VNC

Bug #1860921 reported by Lucas Kafarski on 2020-01-26
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Xfwm4
Fix Released
Medium
xfwm4 (Ubuntu)
Undecided
Unassigned

Bug Description

Xfce4 is missing window decorations in Ubuntu 19.10 and 20.04 when desktop is accessed over VNC (tightvncserver). Basically all the title bars are missing.

When starting a session directly on a physical device or over spice - everything works fine.

I tried different options like cleaning the cache, changing xstartup, xfwm4 --replace, compiz --replace etc. with no result.

What worked was doing metacity --replace and kwin --replace. Just a temporary workaround though.

Not sure if it is a bug with Xfce or with the Ubuntu release.

I downgraded to version 4.12.5 on Ubuntu 20.04 and the decorations were still missing.

L

Xuanyi (flighter007) wrote :

Have the same problem too with Ubuntu 19.10 minimal setup with TigerVNC. All the title bars are missing.

Xuanyi (flighter007) wrote :

Weird thing is, running just "xfwm4" confirms that xfwm4 window manager is indeed running, and doesn't seem to have crashed.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xfce4 (Ubuntu):
status: New → Confirmed

I came here looking for a fix to this for my Mint 19.3 (Ubuntu 18.04) install. So the problem may be older than 19.10.

The closest thing I've found to an explanation is here: https://askubuntu.com/questions/339593/missing-icons-for-headless-xfce-session-via-vnc But none of those fixes work.

One of the comments on that askubuntu post suggests a problem with xfsettingsd. Running xfsettingsd manually gives a few errors:

xfsettingsd-CRITICAL **: 12:49:29.776: RANDR extension is too old, version 1.1. Display settings won't be applied.
Xlib: extension "XInputExtension" missing on display ":1.0".

(xfsettingsd:20627): xfsettingsd-CRITICAL **: 12:49:29.780: XI is not present.

(xfsettingsd:20627): xfsettingsd-CRITICAL **: 12:49:29.780: Failed to initialize the Xkb extension.

(xfsettingsd:20627): xfsettingsd-CRITICAL **: 12:49:29.780: Failed to initialize the Accessibility extension.

I can confirm that xfwm4 is running. Restarting it gives a few errors:

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.497: XSync extension too old (3.0).

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.497: The display does not support the XRender extension.

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.500: The display does not support the XComposite extension.

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.500: The display does not support the XDamage extension.

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.500: The display does not support the XFixes extension.

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.501: The display does not support the XPresent extension.

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.501: Compositing manager disabled.
Waiting for current window manager (Xfwm4) on screen :1.0 to exit: Done
xfwm4-Message: 12:55:18.822: Unsupported keyboard modifier '<Super>Tab'

(xfwm4:21159): xfwm4-WARNING **: 12:55:18.847: Cannot find visual format on screen 0

Created attachment 9744
screenshot of vnc session

When using Xfwm4 with VNC, the decorations are not drawn. Xfwm4 has seemingly not crashed, and the space for the window titlebar is reserved. A screenshot is attached.

Xfwm4 version 4.14.1, tightvncserver 1.3.10

~/.vnc/xstartup:
#!/bin/bash
xrdb $HOME/.Xresources
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

Xfwm log:
(xfwm4:31976): xfwm4-WARNING **: 10:16:58.767: XSync extension too old (3.0).

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.767: The display does not support the XRender extension.

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.767: The display does not support the XRandr extension.

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.769: The display does not support the XComposite extension.

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.769: The display does not support the XDamage extension.

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.769: The display does not support the XFixes extension.

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.769: The display does not support the XPresent extension.

(xfwm4:31976): xfwm4-WARNING **: 10:16:58.769: Compositing manager disabled.
Waiting for current window manager (Xfwm4) on screen :1.0 to exit: Done
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>d'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>Tab'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>Down'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>Left'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>Right'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>Up'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>KP_1'
xfwm4-Message: 10:16:59.004: Unsupported keyboard modifier '<Super>KP_3'
xfwm4-Message: 10:16:59.005: Unsupported keyboard modifier '<Super>KP_7'
xfwm4-Message: 10:16:59.005: Unsupported keyboard modifier '<Super>KP_9'

(xfwm4:31976): xfwm4-WARNING **: 10:16:59.018: Cannot find visual format on screen 0

Does `xfwm4 --replace --compositor=off` work?

FWIW it works just fine on tigervnc on Fedora 32.

It also doesn't work with the above command. I'll give Fedora 32 a go to see if that helps the situation for me.

tigervnc, rather.

FWIW, I tried with 24 and 16 bpp, with and without the composite extension enabled and it worked fine in all cases.

You may also check (or post) the output of `xdpyinfo` on that server.

Actually, the problem is the lack of XRender support in the tightvncserver Xserver.

xfwm4 is capable of running without XRender, but for some reason the mask of the pixmap end up being empty and therefore the pixmaps are all transparent.

Disabling XRender *and* XShape would work. But most gtk apps are not rendering well either in that setup so I am not sure that would take us very far.

I believe this is a bug in gdk_pixbuf_get_pixels() which does not work without Render.

Not a bug in xfwm4.

Oh, I think I know...

In , Gitbot (gitbot) wrote :

Olivier Fourdan referenced this bugreport in commit 7bd23e3f2a0b63f6501bf6867468a232577bd9ec

pixmap: Fix rendering without XRender

https://git.xfce.org/xfce/xfwm4/commit?id=7bd23e3f2a0b63f6501bf6867468a232577bd9ec

That looks like it's probably it. :-) I'll test it out today.

Sean Davis (bluesabre) wrote :

This has been fixed upstream. I'll be testing a patch for it today, and if it works, will prepare an SRU for 20.04 and 19.10.

https://git.xfce.org/xfce/xfwm4/commit?id=7bd23e3f2a0b63f6501bf6867468a232577bd9ec

affects: xfce4 → xfwm4
affects: xfce4 (Ubuntu) → xfwm4 (Ubuntu)
Changed in xfwm4:
importance: Unknown → Medium
status: Unknown → Confirmed

It fixes the issue with the lack of XRender in the server and '--compositor=off', but there's some more fixes needed with the compositor (or, rather, not using it).

In , Gitbot (gitbot) wrote :

Olivier Fourdan referenced this bugreport in commit 2c78273d35abc60af697b571713809b00b40ce38

main: Don't use the compositor if not available

https://git.xfce.org/xfce/xfwm4/commit?id=2c78273d35abc60af697b571713809b00b40ce38

In , Gitbot (gitbot) wrote :

Olivier Fourdan referenced this bugreport in commit f5bd7b83a41ca696a46eeba216063bce53411dca

pixmap: Fix rendering without XRender

https://gitlab.xfce.org/xfce/xfwm4/commit/f5bd7b83a41ca696a46eeba216063bce53411dca

In , Gitbot (gitbot) wrote :

Olivier Fourdan referenced this bugreport in commit 124744bc834b7188eca87a675a3e4227ebb5fa82

main: Don't use the compositor if not available

https://gitlab.xfce.org/xfce/xfwm4/commit/124744bc834b7188eca87a675a3e4227ebb5fa82

Changed in xfwm4:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.