Subject: Bug#1595: Performance degradation with XFCE compositor

From: Richard Grosman <[email-masked]>
Date: Sat, 24 Dec 2022 18:42:39 +0100

Package: x2goclient-4.1.2.2-2020.02.13-setup.exe
Version: 4.1.2.2

Dear developers, bringing this to your attention, I experienced the
following myself:

*Title*: x2go "smearing" windows and extremely slow
*Link*: https://bbs.archlinux.org/viewtopic.php?id=268985

Client machine's OS name: Microsoft Windows 10 Pro
Client machine's OS version: 10.0.19045 N/A Build 19045
Client machine's version of X2GoClient: 4.1.2.2
Relevant settings: Session type XFCE (else using default connection,
input/output and media session preferences)
Server's OS: CentOS Stream release 8
Server's version of the x2goserver package: 4.1.0.3-17.el8.1 (@epel)
Server's version of the x2goserver-xsession package: 4.1.0.3-17.el8.1
(@epel)
Server's version of the nxagent package: 3.6.x
Server's version of any other relevant packages:
xfce-polkit.x86_64  0.3-3.el8
xfce4-appfinder.x86_64 4.16.1-3.el8

xfce4-panel.x86_64 4.16.3-1.el8
xfce4-power-manager.x86_64 4.16.0-1.el8

xfce4-pulseaudio-plugin.x86_64 0.4.3-3.el8

xfce4-screensaver.x86_64 4.16.0-3.el8

xfce4-session.x86_64 4.16.0-4.el8
xfce4-settings.x86_64 4.16.5-2.el8
xfce4-terminal.x86_64 0.8.10-2.el8
xfconf.x86_64 4.16.0-1.el8

Steps to reproduce:
1. Have an updated CentOS Stream release 8 server running (e.g. a KVM) with
the latest EPEL Repo, x2goserver-xsession packages and 'Xfce' as dnf
groupinstall'ed with -y flag.
2. Have an updated Windows 10 Pro client machine running with the latest
x2goclient version, configured to ssh on port 22 to 1. with a RSA/DSA key,
auto login via SSH Agent or default SSH key on and a shared folder without
filename encoding, but automount and 'use ssh to tunnel filesystem through
firewalls' checked.
3. Start a session and experience "smearing" windows, loading and rendering
extremely slow when moving them around
4. In the session go to Applications > Settings > Window Manager Tweaks >
Compositor
5. Turn off 'Enable display compositing' and close the window. Performance
and rendering rather match the preferences now.

Merry X-Mas and have a good day!

Best regards,

Robert

---

From: Randy Goldenberg <[email-masked]>
Date: Wed, 25 Jan 2023 06:44:22 -0800

See https://wiki.x2go.org/doku.php/doc:de-compat.

On Wed, Jan 25, 2023 at 1:47 AM Richard Grosman <[email-masked]> wrote:
> Dear developers, bringing this to your attention, I experienced the following myself:
>
> Title: x2go "smearing" windows and extremely slow
> Link: https://bbs.archlinux.org/viewtopic.php?id=268985
>
> Relevant settings: Session type XFCE (else using default connection, input/output and media session preferences)
> Server's version of the x2goserver-xsession package: 4.1.0.3-17.el8.1 (@epel)
> 1. Have an updated CentOS Stream release 8 server running (e.g. a KVM) with the latest EPEL Repo, x2goserver-xsession packages and 'Xfce' as dnf groupinstall'ed with -y flag.
> 2. Have an updated Windows 10 Pro client machine running with the latest x2goclient version, configured to ssh on port 22 to 1. with a RSA/DSA key, auto login via SSH Agent or default SSH key on and a shared folder without filename encoding, but automount and 'use ssh to tunnel filesystem through firewalls' checked.
> 3. Start a session and experience "smearing" windows, loading and rendering extremely slow when moving them around
> 4. In the session go to Applications > Settings > Window Manager Tweaks > Compositor
> 5. Turn off 'Enable display compositing' and close the window. Performance and rendering rather match the preferences now.
>
> _______________________________________________
> x2go-dev mailing list
> [email-masked]
> https://lists.x2go.org/listinfo/x2go-dev

---

From: Stefan Baur <[email-masked]>
Date: Tue, 30 Jan 2024 14:53:11 +0100

Control: reassign -1 x2goserver

After giving this more thought, while the issue manifests itself on the 
client side, it is caused on the server side, so it belongs to the 
x2goserver package.

We should investigate if the scripts under

/etc/x2go/Xsession.d/

could be made to automatically disable compositing for the desktop 
environments we support, and what possible negative side effects might 
be (E.g. do we have to run a background task that re-enables compositing 
once the session ends? What happens if the user wants to run a local 
session and an X2Go session in parallel?).

For XFCE4, the file to add

/usr/bin/xfconf-query -c xfwm4 -p /general/use_compositing -s false

to would probably be

/etc/x2go/Xsession.d/55xfce4-session

But there are now several DEs that employ compositing, so the question 
is if we should add it to the existing, per-DE files, or create a new 
one that just tries to catch all compositors we know about?

Kind Regards,
Stefan Baur

-- 
BAUR-ITCS UG (haftungsbeschränkt)
Geschäftsführer: Stefan Baur
Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364
Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243