Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xrdp 0.10 performance issues with xvnc #3114

Closed
fc-michael5527 opened this issue Jun 13, 2024 · 2 comments
Closed

xrdp 0.10 performance issues with xvnc #3114

fc-michael5527 opened this issue Jun 13, 2024 · 2 comments
Labels

Comments

@fc-michael5527
Copy link

fc-michael5527 commented Jun 13, 2024

xrdp version

xrdp 0.10.0

Detailed xrdp version, build options

xrdp 0.10.0
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2024 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --build=x86_64-redhat-linux-gnu
      --host=x86_64-redhat-linux-gnu
      --program-prefix=
      --disable-dependency-tracking
      --prefix=/usr
      --exec-prefix=/usr
      --bindir=/usr/bin
      --sbindir=/usr/sbin
      --sysconfdir=/etc
      --datadir=/usr/share
      --includedir=/usr/include
      --libdir=/usr/lib64
      --libexecdir=/usr/libexec
      --localstatedir=/var
      --sharedstatedir=/var/lib
      --mandir=/usr/share/man
      --infodir=/usr/share/info
      --enable-fuse
      --enable-pixman
      --enable-painter
      --enable-vsock
      --enable-ipv6
      --with-socketdir=/run/xrdp
      --with-imlib2
      build_alias=x86_64-redhat-linux-gnu
      host_alias=x86_64-redhat-linux-gnu
      CC=gcc
      CFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection 
      LDFLAGS=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 
      CXX=g++
      CXXFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
      LT_SYS_LIBRARY_PATH=/usr/lib64:
      PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig

  Compiled with OpenSSL 3.0.7 1 Nov 2022

Operating system & version

Rocky Linux 9.4

Installation method

dnf / apt / zypper / pkg / etc

Which backend do you use?

xorgxrdp

What desktop environment do you use?

GNOME3

Environment xrdp running on

AWS EC2 instance

What's your client?

Microsoft Remote Desktop application (Windows 10 & 11)

Area(s) with issue?

Performance

Steps to reproduce

Upgrade from 0.9.25 to 0.10.0 results in significant performance degradation when using the default configuration of xrdp (laggy experience). Updating the /etc/xrdp/xrdp.ini to use xorg (commenting out xvnc section) restores the performance to an acceptable level, however my users still report a loss in performance vs 0.9.25

✔️ Expected Behavior

The same performance as 0.9.25

❌ Actual Behavior

Loss of performance when using default configuration of xrdp with Microsoft RDP

Anything else?

Packages Altered:
Upgrade xorgxrdp-0.10.1-1.el9.x86_64 @epel
Upgraded xorgxrdp-0.9.20-1.el9.x86_64 @@System
Upgrade xrdp-1:0.10.0-4.el9.x86_64 @epel
Upgraded xrdp-1:0.9.25-2.el9.x86_64 @@System
Upgrade xrdp-selinux-1:0.10.0-4.el9.x86_64 @epel
Upgraded xrdp-selinux-1:0.9.25-2.el9.x86_64 @@System

@matt335672
Copy link
Member

@fc-michael5527 - thanks for raising this.

The changes to the VNC codepaths are not that significant. If you're using GFX, there's a new compression algorithm which was initially quite CPU intensive (see neutrinolabs/xorgxrdp#301) but you should have that fix if you're running xorgxrdp v0.10.1

  • Try setting the client to 24-bit colour. This will disable the GFX compression algorithm, and on the limited information we have so far, that might restore performance.
  • Failing that, can you post an xrdp.log for one of your users for both v0.9.25 and v0.10.0? That should let us see what is being negotiated between client and server for each configuration.

@matt335672
Copy link
Member

@fc-michael5527 - have you got any more feedback on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants