Skip to content

Xorg fails when non-xrdp xorg.conf files are present #3629

@te36de

Description

@te36de

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"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions