xorgxrdp icon indicating copy to clipboard operation
xorgxrdp copied to clipboard

Question about how to disable/avoid DRI

Open sakaia opened this issue 4 years ago • 6 comments

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

sakaia avatar Dec 22 '20 04:12 sakaia

DRI is not active in your case, what's the problem?

metalefty avatar Dec 22 '20 04:12 metalefty

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)

metalefty avatar Dec 22 '20 04:12 metalefty

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"

metalefty avatar Dec 22 '20 04:12 metalefty

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.

sakaia avatar Dec 22 '20 05:12 sakaia

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

sakaia avatar Dec 22 '20 07:12 sakaia

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

sakaia avatar Dec 22 '20 07:12 sakaia