-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
xrdp version
0.9.23.1 (but checked also latest gith repo)
Detailed xrdp version, build options
irrelevant
Operating system & version
Gentoo (installation based on https://wiki.gentoo.org/wiki/Xrdp)
Installation method
Doesn't matter
Which backend do you use?
x11-base/xorg-server-21.1.18
What desktop environment do you use?
irrelevant
Environment xrdp running on
physical machine with NVidia graphics card
What's your client?
Microsoft client running on Macbook
Area(s) with issue?
Other
Steps to reproduce
System has physical NVidia and AST (IPMI) graphics card for which /etc/X11/xorg.conf.d/*.conf config files exist. Especially the nvidia config file confuses the xrdp started Xorg. It causes the NVidia driver to be loaded, which then makes Xorg fail:
.xorgxrdp.10.log:
[ 63748.250] (II) NVIDIA dlloader X Driver 580.82.09 Fri Aug 29 17:13:41 UTC 2025
[ 63748.250] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 63748.250] rdpIdentify:
[ 63748.250] (II) XRDPDEV: driver for xrdp: XRDPDEV
[ 63748.250] rdpDriverFunc: op 10
[ 63748.250] (EE)
Fatal server error:
[ 63748.250] (EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
[ 63748.250] (EE)
[ 63748.250] (EE)
Reproduce
Xorg is started as defined by default xrdp config files as follows from user home directory:
Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
Analysis
.xorgxrdp.10.log
[ 63748.243] (++) Using config file: "/etc/X11/xrdp/xorg.conf"
[ 63748.243] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 63748.243] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Xorg still opens xorg.conf.d and reads config files from it. Those make Xorg fail.
✔️ Expected Behavior
No response
❌ Actual Behavior
No response
Anything else?
Suggested Solution
diff sesman.ini.orig sesman.ini
118,119c118,120
< param=-config
< param=xrdp/xorg.conf
---
> param=-configdir
> param=xrdp
> #
Changing the Xorg parameter from "-config xrdp/corg.conf" to "-configdir xrdp" stops Xorg from reading config files from /etc/X11/xorg.conf.d and makes it read them only from /etc/X11/xorg.conf.d. It will hence read xorg.conf - as well as possibly other config files xrdp setup wants to create there.
[ 2432.983] (++) Using config directory: "/etc/X11/xrdp"
[ 2432.983] (==) Using system config directory "/usr/share/X11/xorg.conf.d"