xorgxrdp
xorgxrdp copied to clipboard
Question about how to disable/avoid DRI
I have a question about XorgXrdp to avoid DRI problem. Is there any method to solve this problem? This error occured on my local machine.
When I am logging to I met following error, Is there any method to disable/avoid DRI.
I am adding Option "NoDRI" on /etc/X11/xrdp/xorg.conf
but it is still DRI works.
And I saw the log following error appeared on ~/.xorgxrdp.1.log
[ 3090.284] rdpkeybDeviceOn:
[ 3090.298] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[ 3090.298] (II) AutoAddDevices is off - not adding device.
[ 3090.298] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 3090.298] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 3090.299] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[ 3090.299] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
DRI is not active in your case, what's the problem?
If DRI is not available due to permission issue of /dev/dri/renderD128
, it should without DRI automatically.
[ 51610.736] rdpProbe:
[ 51610.736] (II) Loading sub module "fb"
[ 51610.736] (II) LoadModule: "fb"
[ 51610.736] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[ 51610.736] (II) Module fb: vendor="X.Org Foundation"
[ 51610.736] compiled for 1.20.9, module version = 1.0.0
[ 51610.736] ABI class: X.Org ANSI C Emulation, version 0.4
[ 51610.736] rdpProbe: found DRMDevice xorg.conf value [/dev/dri/renderD128]
[ 51610.736] rdpProbe: found DRI3 xorg.conf value [1]
[ 51610.736] (II) XRDPDEV(0): using default device
[ 51610.736] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 51610.736] rdpPreInit:
[ 51610.736] rdpPreInit: /dev/dri/renderD128 open failed
[ 51610.736] (**) XRDPDEV(0): Depth 24, (--) framebuffer bpp 32
[ 51610.736] (==) XRDPDEV(0): RGB weight 888
[ 51610.736] (==) XRDPDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 51610.736] (==) XRDPDEV(0): Default visual is TrueColor
[ 51610.736] (==) XRDPDEV(0): DPI set to (96, 96)
[ 51610.736] (II) XRDPDEV(0): mode "640x480" ok
[ 51610.736] (II) XRDPDEV(0): mode "800x600" ok
[ 51610.737] (II) XRDPDEV(0): Virtual size is 800x600 (pitch 800)
[ 51610.737] (**) XRDPDEV(0): Default mode "800x600": 36.0 MHz (scaled from 0.0 MHz), 35.2 kHz, 56.2 Hz
[ 51610.737] (II) XRDPDEV(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz d)
Maybe this should work if you want to disable DRI explicitly.
diff --git a/xrdpdev/xorg.conf b/xrdpdev/xorg.conf
index 8079ea8..6d48946 100644
--- a/xrdpdev/xorg.conf
+++ b/xrdpdev/xorg.conf
@@ -48,7 +48,7 @@ Section "Device"
Identifier "Video Card (xrdpdev)"
Driver "xrdpdev"
Option "DRMDevice" "/dev/dri/renderD128"
- Option "DRI3" "1"
+ Option "DRI3" "0"
EndSection
Section "Screen"
Thanks for your help, but nothing changed
[ 305.662]
X.Org X Server 1.19.6
Release Date: 2017-12-20
[ 305.662] X Protocol Version 11, Revision 0
[ 305.662] Build Operating System: Linux 4.15.0-124-generic x86_64 Ubuntu
[ 305.662] Current Operating System: Linux zdlsserver 4.15.0-128-generic #131-Ubuntu SMP Wed Dec 9 06:57:35 UTC 2020 x86_64
[ 305.662] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-128-generic root=UUID=080e7738-5e37-4c95-a095-08a81026e43c ro
[ 305.662] Build Date: 30 November 2020 08:01:56PM
[ 305.662] xorg-server 2:1.19.6-1ubuntu4.8 (For technical support please see http://www.ubuntu.com/support)
[ 305.662] Current version of pixman: 0.34.0
[ 305.662] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 305.662] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 305.662] (++) Log file: ".xorgxrdp.1.log", Time: Tue Dec 22 05:04:46 2020
[ 305.662] (++) Using config file: "/etc/X11/xrdp/xorg.conf"
[ 305.662] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 305.663] (==) ServerLayout "X11 Server"
[ 305.663] (**) |-->Screen "Screen (xrdpdev)" (0)
[ 305.663] (**) | |-->Monitor "Monitor"
[ 305.663] (**) | |-->Device "Video Card (xrdpdev)"
[ 305.663] (**) |-->Input Device "xrdpMouse"
[ 305.663] (**) |-->Input Device "xrdpKeyboard"
[ 305.663] (**) Option "DontVTSwitch" "on"
[ 305.663] (**) Option "AutoAddDevices" "off"
[ 305.663] (**) Not automatically adding devices
[ 305.663] (==) Automatically enabling devices
[ 305.663] (==) Automatically adding GPU devices
[ 305.663] (==) Automatically binding GPU devices
[ 305.663] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 305.664] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 305.664] Entry deleted from font path.
[ 305.664] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 305.664] Entry deleted from font path.
[ 305.664] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 305.664] Entry deleted from font path.
[ 305.664] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 305.664] Entry deleted from font path.
[ 305.664] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 305.664] Entry deleted from font path.
[ 305.664] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/Type1,
built-ins
[ 305.664] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 305.664] (II) Loader magic: 0x55ac8104b020
[ 305.664] (II) Module ABI versions:
[ 305.664] X.Org ANSI C Emulation: 0.4
[ 305.664] X.Org Video Driver: 23.0
[ 305.664] X.Org XInput driver : 24.1
[ 305.664] X.Org Server Extension : 10.0
[ 305.667] (II) systemd-logind: took control of session /org/freedesktop/login1/session/c4
[ 305.668] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 305.668] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[ 305.668] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[ 305.701] (--) PCI:*(0:4:0:0) 1a03:2000:1a03:2000 rev 65, Mem @ 0x9c000000/16777216, 0x9d000000/131072, I/O @ 0x00002000/128, BIOS @ 0x????????/131072
[ 305.701] (--) PCI: (0:26:0:0) 10de:1df6:10de:13d6 rev 161, Mem @ 0xa9000000/16777216, 0x37000000000/34359738368, 0x37800000000/33554432
[ 305.701] (--) PCI: (0:178:0:0) 10de:1df6:10de:13d6 rev 161, Mem @ 0xed000000/16777216, 0x4b000000000/34359738368, 0x4b800000000/33554432
[ 305.701] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[ 305.701] (II) LoadModule: "dbe"
[ 305.701] (II) Module "dbe" already built-in
[ 305.701] (II) LoadModule: "ddc"
[ 305.701] (II) Module "ddc" already built-in
[ 305.701] (II) LoadModule: "extmod"
[ 305.701] (II) Module "extmod" already built-in
[ 305.701] (II) LoadModule: "glx"
[ 305.701] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 305.702] (II) Module glx: vendor="X.Org Foundation"
[ 305.702] compiled for 1.19.6, module version = 1.0.0
[ 305.702] ABI class: X.Org Server Extension, version 10.0
[ 305.702] (II) LoadModule: "int10"
[ 305.702] (II) Loading /usr/lib/xorg/modules/libint10.so
[ 305.702] (II) Module int10: vendor="X.Org Foundation"
[ 305.702] compiled for 1.19.6, module version = 1.0.0
[ 305.702] ABI class: X.Org Video Driver, version 23.0
[ 305.702] (II) LoadModule: "record"
[ 305.702] (II) Module "record" already built-in
[ 305.702] (II) LoadModule: "vbe"
[ 305.702] (II) Loading /usr/lib/xorg/modules/libvbe.so
[ 305.702] (II) Module vbe: vendor="X.Org Foundation"
[ 305.702] compiled for 1.19.6, module version = 1.1.0
[ 305.702] ABI class: X.Org Video Driver, version 23.0
[ 305.702] (II) LoadModule: "xorgxrdp"
[ 305.702] (II) Loading /usr/lib/xorg/modules/libxorgxrdp.so
[ 305.702] (II) Module XORGXRDP: vendor="X.Org Foundation"
[ 305.702] compiled for 1.19.6, module version = 1.0.0
[ 305.702] ABI class: X.Org Video Driver, version 23.0
[ 305.702] xorgxrdpSetup:
[ 305.702] (II) LoadModule: "fb"
[ 305.702] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 305.702] (II) Module fb: vendor="X.Org Foundation"
[ 305.702] compiled for 1.19.6, module version = 1.0.0
[ 305.702] ABI class: X.Org ANSI C Emulation, version 0.4
[ 305.702] (II) LoadModule: "xrdpdev"
[ 305.702] (II) Loading /usr/lib/xorg/modules/drivers/xrdpdev_drv.so
[ 305.703] (II) Module XRDPDEV: vendor="X.Org Foundation"
[ 305.703] compiled for 1.19.6, module version = 1.0.0
[ 305.703] ABI class: X.Org Video Driver, version 23.0
[ 305.703] xrdpdevSetup:
[ 305.703] (II) LoadModule: "xrdpmouse"
[ 305.703] (II) Loading /usr/lib/xorg/modules/input/xrdpmouse_drv.so
[ 305.703] (II) Module XRDPMOUSE: vendor="X.Org Foundation"
[ 305.703] compiled for 1.19.6, module version = 1.0.0
[ 305.703] Module class: X.Org XInput Driver
[ 305.703] ABI class: X.Org XInput driver, version 24.1
[ 305.703] rdpmousePlug:
[ 305.703] (II) LoadModule: "xrdpkeyb"
[ 305.703] (II) Loading /usr/lib/xorg/modules/input/xrdpkeyb_drv.so
[ 305.703] (II) Module XRDPKEYB: vendor="X.Org Foundation"
[ 305.703] compiled for 1.19.6, module version = 1.0.0
[ 305.703] Module class: X.Org XInput Driver
[ 305.703] ABI class: X.Org XInput driver, version 24.1
[ 305.703] rdpkeybPlug:
[ 305.703] rdpIdentify:
[ 305.703] (II) XRDPDEV: driver for xrdp: XRDPDEV
[ 305.703] rdpDriverFunc: op 10
[ 305.703] (WW) Falling back to old probe method for XRDPDEV
[ 305.703] rdpProbe:
[ 305.703] (II) Loading sub module "fb"
[ 305.703] (II) LoadModule: "fb"
[ 305.703] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 305.703] (II) Module fb: vendor="X.Org Foundation"
[ 305.703] compiled for 1.19.6, module version = 1.0.0
[ 305.703] ABI class: X.Org ANSI C Emulation, version 0.4
[ 305.703] (II) XRDPDEV(0): using default device
[ 305.703] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 305.703] rdpPreInit:
[ 305.703] (**) XRDPDEV(0): Depth 24, (--) framebuffer bpp 32
[ 305.703] (==) XRDPDEV(0): RGB weight 888
[ 305.703] (==) XRDPDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 305.703] (==) XRDPDEV(0): Default visual is TrueColor
[ 305.703] (==) XRDPDEV(0): DPI set to (96, 96)
[ 305.703] (II) XRDPDEV(0): mode "640x480" ok
[ 305.703] (II) XRDPDEV(0): mode "800x600" ok
[ 305.703] (--) XRDPDEV(0): Virtual size is 800x600 (pitch 800)
[ 305.703] (**) XRDPDEV(0): Default mode "800x600": 36.0 MHz (scaled from 0.0 MHz), 35.2 kHz, 56.2 Hz
[ 305.703] (II) XRDPDEV(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz d)
[ 305.703] (==) Depth 24 pixmap format is 32 bpp
[ 305.703] rdpScreenInit: virtualX 800 virtualY 600 rgbBits 8 depth 24
[ 305.703] rdpScreenInit: pfbMemory bytes 1920000
[ 305.703] rdpScreenInit: pfbMemory 0x7fa05c9b6010
[ 305.703] rdpSimdInit: assigning yuv functions
[ 305.703] rdpSimdInit: cpuid ax 1 cx 0 return ax 0x00050657 bx 0x06400800 cx 0x7ffefbff dx 0xbfebfbff
[ 305.703] rdpSimdInit: sse2 amd64 yuv functions assigned
[ 305.703] rdpXvInit: depth 24
[ 305.703] (==) XRDPDEV(0): Backing store enabled
[ 305.703] rdpClientConInit: kill disconnected [0] timeout [0] sec
[ 305.703]
[ 305.703] rdpScreenInit: out
[ 305.703] (==) RandR enabled
[ 305.705] (II) SELinux: Disabled on system
[ 305.705] (II) AIGLX: Screen 0 is not DRI2 capable
[ 305.705] (EE) AIGLX: reverting to software rendering
[ 305.730] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[ 305.731] (II) IGLX: Loaded and initialized swrast
[ 305.731] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 305.766] (II) Using input driver 'XRDPMOUSE' for 'xrdpMouse'
[ 305.766] (**) Option "CorePointer"
[ 305.766] (**) xrdpMouse: always reports core events
[ 305.766] rdpmousePreInit: drv 0x55ac8127f990 info 0x55ac8142c3c0, flags 0x0
[ 305.766] (II) XINPUT: Adding extended input device "xrdpMouse" (type: Mouse, id 6)
[ 305.766] rdpmouseControl: what 0
[ 305.766] rdpmouseDeviceInit:
[ 305.766] rdpmouseCtrl:
[ 305.766] rdpRegisterInputCallback: type 1 proc 0x7fa05cd8fc60
[ 305.766] (**) xrdpMouse: (accel) keeping acceleration scheme 1
[ 305.766] (**) xrdpMouse: (accel) acceleration profile 0
[ 305.766] (**) xrdpMouse: (accel) acceleration factor: 2.000
[ 305.767] (**) xrdpMouse: (accel) acceleration threshold: 4
[ 305.767] rdpmouseControl: what 1
[ 305.767] rdpmouseDeviceOn:
[ 305.767] (II) Using input driver 'XRDPKEYB' for 'xrdpKeyboard'
[ 305.767] (**) Option "CoreKeyboard"
[ 305.767] (**) xrdpKeyboard: always reports core events
[ 305.767] rdpkeybPreInit: drv 0x55ac8127f900 info 0x55ac8159cfe0, flags 0x0
[ 305.767] (II) XINPUT: Adding extended input device "xrdpKeyboard" (type: Keyboard, id 7)
[ 305.767] rdpkeybControl: what 0
[ 305.767] rdpkeybDeviceInit:
[ 305.793] rdpkeybChangeKeyboardControl:
[ 305.793] rdpkeybChangeKeyboardControl: autoRepeat on
[ 305.793] rdpRegisterInputCallback: type 0 proc 0x7fa05cb8c530
[ 305.793] rdpkeybControl: what 1
[ 305.793] rdpkeybDeviceOn:
[ 305.806] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[ 305.806] (II) AutoAddDevices is off - not adding device.
[ 305.806] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 305.806] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 305.807] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[ 305.807] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[ 305.817] rdpSaveScreen:
[ 305.817] rdpDeferredRandR:
[ 305.817] rdpResizeSession: width 1024 height 768
[ 305.817] calling RRScreenSizeSet
[ 305.817] rdpRRScreenSetSize: width 1024 height 768 mmWidth 271 mmHeight 203
[ 305.817] rdpRRGetInfo:
[ 305.817] screen resized to 1024x768
[ 305.821] RRScreenSizeSet ok 1
[ 305.821] rdpResizeSession: width 1920 height 1080
[ 305.821] calling RRScreenSizeSet
[ 305.821] rdpRRScreenSetSize: width 1920 height 1080 mmWidth 508 mmHeight 286
[ 305.821] rdpRRGetInfo:
[ 305.821] screen resized to 1920x1080
[ 305.827] RRScreenSizeSet ok 1
[ 305.893] rdpInDeferredUpdateCallback:
[ 305.893] rdpkeybChangeKeyboardControl:
[ 305.893] rdpkeybChangeKeyboardControl: autoRepeat off
[ 305.925] rdpmouseControl: what 2
[ 305.925] rdpmouseDeviceOff:
[ 305.925] rdpkeybControl: what 2
[ 305.925] rdpkeybDeviceOff:
[ 305.927] rdpkeybControl: what 3
[ 305.927] rdpkeybUnInit: drv 0x55ac8127f900 info 0x55ac8159cfe0, flags 0x0
[ 305.927] rdpUnregisterInputCallback: proc 0x7fa05cb8c530
[ 305.927] rdpmouseControl: what 3
[ 305.927] rdpmouseUnInit: drv 0x55ac8127f990 info 0x55ac8142c3c0, flags 0x0
[ 305.927] rdpUnregisterInputCallback: proc 0x7fa05cd8fc60
[ 305.930] rdpCloseScreen:
[ 305.930] xorgxrdpDownDown:
[ 305.930] xorgxrdpDownDown: 1
[ 305.930] rdpClientConDeinit:
[ 305.930] rdpClientConDeinit: deleting file /var/run/xrdp/sockdir/xrdp_display_1
[ 305.930] rdpClientConDeinit: deleting file /var/run/xrdp/sockdir/xrdp_disconnect_display_1
[ 305.932] (II) Server terminated successfully (0). Closing log file.
It seems dri client is running.
sudo cat /sys/kernel/debug/dri/0/clients
command pid dev master a uid magic
systemd-logind 2249 0 y y 0 0
The error message comes from xorg-server.
https://github.com/freedesktop/xorg-xserver/blob/xorg-server-1.20.10/hw/xfree86/os-support/linux/systemd-logind.c#L132-L138