-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
xrdp version
0.10.1-3.1
Detailed xrdp version, build options
root@gmgmt:~# xrdp --version
xrdp 0.10.1
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:
--enable-ipv6
--enable-jpeg
--enable-fuse
--enable-rfxcodec
--enable-opus
--enable-painter
--enable-pam
--enable-pam-config=debian
--enable-vsock
--build=x86_64-linux-gnu
--prefix=/usr
--includedir=${prefix}/include
--mandir=${prefix}/share/man
--infodir=${prefix}/share/info
--sysconfdir=/etc
--localstatedir=/var
--disable-silent-rules
--libdir=${prefix}/lib/x86_64-linux-gnu
--libexecdir=${prefix}/lib/x86_64-linux-gnu
--disable-maintainer-mode
--disable-dependency-tracking
--with-socketdir=/run/xrdp/sockdir
build_alias=x86_64-linux-gnu
CFLAGS=-g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/build/xrdp-Ol8grW/xrdp-0.10.1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/build/xrdp-Ol8grW/xrdp-0.10.1=/usr/src/xrdp-0.10.1-3.1
LDFLAGS=-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,--as-needed
CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=3
CXXFLAGS=-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/build/xrdp-Ol8grW/xrdp-0.10.1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/build/xrdp-Ol8grW/xrdp-0.10.1=/usr/src/xrdp-0.10.1-3.1
PKG_CONFIG_PATH=/build/xrdp-Ol8grW/xrdp-0.10.1/pkgconfig
Compiled with OpenSSL 3.0.13 30 Jan 2024
Operating system & version
Ubuntu 24.04
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
xorgxrdp
What desktop environment do you use?
xterm
Environment xrdp running on
Physical, amdgpu
What's your client?
Ubuntu xfreerdp
Area(s) with issue?
Graphic glitches
Steps to reproduce
To reproduce a "wrong resolution or workarea" issue with xrdp 0.10.1-3.1:
- I've installed xrdp from Ubuntu 25.10 on my remote Ubuntu MATE 24.04; one should be able to reproduce it with the Ubuntu MATE 25.10 live CD
- I've set xterm as my session manager: sudo ln -sf /usr/bin/xterm /etc/alternatives/x-session-manager
- I've launched xfreerdp from a local Ubuntu with: xfreerdp /dynamic-resolution /workarea /u:alkisg /v:server
- On xterm inside the xfreerdp session, I've ran
xrandr
✔️ Expected Behavior
On my setup, the reported xrandr resolution should be 1920x1008 for a maximized xfreerdp window.
❌ Actual Behavior
- The xrandr output was wrong: 1920x1036
- The xfreerdp window content area was correct: 1920x1008
- There were no scrollbars in the xfreerdp window, so when I'm using a MATE session instead of xterm, the bottom panel is hidden below the visible area, and I can't scroll down to see it
Un-maximizing xfreerdp and then maximizing it again made xfreerdp do a "screen resize" event, which then gave the correct 1920x1008 resolution. So it's like it didn't correctly detect my local workarea initially.
Anything else?
I've tested on a single remote server, but from many local workstations, e.g. Kubuntu 24.04 with freerdp2, Ubuntu GNOME 25.04 with freerdp3. The local freerdp version or Ubuntu OS or resolution doesn't seem to matter.
The 1036-1008=28 pixels difference appears to be a miscalculation involving the xfreerdp window title bar size.
- If I omit
/workarea
from xfreerdp to make it default to 1024x768, or if I use any /size: parameter up to 1920x1007, I get a "not maximized" xfreerdp window and I don't see the issue. - If I replace
/workarea
with/size:1920x1008
, I get a maximized xfreerdp window and I don't see the issue. This is the best workaround I've found so far for my use case. - If I replace
/workarea
with any /size: parameter greater than 1008, I get a maximized xfreerdp window and I do see the issue.
So it might be possible that xfreerdp is mis-reporting something, and the old XRDP somehow worked around this.