X11 in container

Hi,

I’m trying to get X11 to work in a generic container, without nvidia runtime. From the X logs it appears like the monitor is not detected. I ran nvidia-xconfg in the privileged container and installed all nvidia x11 related packages from the nvidia repository. Still, I’m getting this log and I believe it’s a problem of packages/configuration inside the container:

root@30d13df:/var/log# cat Xorg.0.log
[  6721.605] 
X.Org X Server 1.19.6
Release Date: 2017-12-20
[  6721.605] X Protocol Version 11, Revision 0
[  6721.605] Build Operating System: Linux 5.4.0-121-generic aarch64 Ubuntu
[  6721.605] Current Operating System: Linux 30d13df 5.10.104-l4t-r35.1 #1 SMP PREEMPT Sun Oct 2 11:31:33 UTC 2022 aarch64
[  6721.605] Kernel command line: firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0  console=null quiet splash vt.global_cursor_default=0 consoleblank=0 l4tver=35.1.0  sdhci_tegra.en_boot_part_access=1 rootwait root=LABEL=resin-rootA 
[  6721.605] Build Date: 07 July 2022  05:16:29PM
[  6721.605] xorg-server 2:1.19.6-1ubuntu4.11 (For technical support please see http://www.ubuntu.com/support) 
[  6721.605] Current version of pixman: 0.34.0
[  6721.605]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[  6721.605] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  6721.605] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Oct 26 11:15:26 2022
[  6721.606] (==) Using config file: "/etc/X11/xorg.conf"
[  6721.606] (==) Using config directory: "/etc/X11/xorg.conf.d"
[  6721.606] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[  6721.606] (==) ServerLayout "Default Layout"
[  6721.606] (**) |-->Screen "Default Screen" (0)
[  6721.606] (**) |   |-->Monitor "Monitor0"
[  6721.606] (**) |   |-->Device "Tegra0"
[  6721.606] (**) |-->Input Device "Keyboard0"
[  6721.606] (**) |-->Input Device "Mouse0"
[  6721.606] (==) Automatically adding devices
[  6721.606] (==) Automatically enabling devices
[  6721.606] (==) Automatically adding GPU devices
[  6721.606] (==) Automatically binding GPU devices
[  6721.606] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  6721.606] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[  6721.606]    Entry deleted from font path.
[  6721.606] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[  6721.606]    Entry deleted from font path.
[  6721.606] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[  6721.606]    Entry deleted from font path.
[  6721.606] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[  6721.606]    Entry deleted from font path.
[  6721.606] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[  6721.606]    Entry deleted from font path.
[  6721.606] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/Type1,
        built-ins
[  6721.606] (==) ModulePath set to "/usr/lib/xorg/modules"
[  6721.606] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[  6721.606] (WW) Disabling Keyboard0
[  6721.606] (WW) Disabling Mouse0
[  6721.606] (II) Loader magic: 0xaaaac4471010
[  6721.606] (II) Module ABI versions:
[  6721.606]    X.Org ANSI C Emulation: 0.4
[  6721.606]    X.Org Video Driver: 23.0
[  6721.606]    X.Org XInput driver : 24.1
[  6721.606]    X.Org Server Extension : 10.0
[  6721.608] (--) using VT number 3

[  6721.608] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[  6721.609] (II) no primary bus or device found
[  6721.609] (WW) "dri" will not be loaded unless you've specified it to be loaded elsewhere.
[  6721.609] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[  6721.609] (II) LoadModule: "extmod"
[  6721.609] (II) Module "extmod" already built-in
[  6721.609] (II) LoadModule: "glx"
[  6721.610] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[  6721.611] (II) Module glx: vendor="X.Org Foundation"
[  6721.611]    compiled for 1.19.6, module version = 1.0.0
[  6721.612]    ABI class: X.Org Server Extension, version 10.0
[  6721.612] (II) LoadModule: "nvidia"
[  6721.612] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[  6721.618] (II) Module nvidia: vendor="NVIDIA Corporation"
[  6721.618]    compiled for 1.6.99.901, module version = 1.0.0
[  6721.618]    Module class: X.Org Video Driver
[  6721.618] (II) NVIDIA dlloader X Driver  35.1.0  Release Build  (bugfix_main)  (buildbrain@mobile-u64-5273-d7000)  Wed Aug 10 20:25:34 PDT 2022
[  6721.618] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[  6721.619] (WW) Falling back to old probe method for NVIDIA
[  6721.619] (II) Loading sub module "fb"
[  6721.619] (II) LoadModule: "fb"
[  6721.619] (II) Loading /usr/lib/xorg/modules/libfb.so
[  6721.619] (II) Module fb: vendor="X.Org Foundation"
[  6721.619]    compiled for 1.19.6, module version = 1.0.0
[  6721.619]    ABI class: X.Org ANSI C Emulation, version 0.4
[  6721.619] (II) Loading sub module "wfb"
[  6721.619] (II) LoadModule: "wfb"
[  6721.619] (II) Loading /usr/lib/xorg/modules/libwfb.so
[  6721.619] (II) Module wfb: vendor="X.Org Foundation"
[  6721.619]    compiled for 1.19.6, module version = 1.0.0
[  6721.619]    ABI class: X.Org ANSI C Emulation, version 0.4
[  6721.619] (II) Loading sub module "ramdac"
[  6721.619] (II) LoadModule: "ramdac"
[  6721.619] (II) Module "ramdac" already built-in
[  6721.713] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  6721.713] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[  6721.713] (==) NVIDIA(0): RGB weight 888
[  6721.713] (==) NVIDIA(0): Default visual is TrueColor
[  6721.713] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[  6721.713] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[  6721.713] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration" "true"
[  6721.713] (**) NVIDIA(0): Enabling 2D acceleration
[  6721.713] (II) Loading sub module "glxserver_nvidia"
[  6721.713] (II) LoadModule: "glxserver_nvidia"
[  6721.714] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[  6721.720] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[  6721.720]    compiled for 1.6.99.901, module version = 1.0.0
[  6721.720]    Module class: X.Org Server Extension
[  6721.720] (II) NVIDIA GLX Module  35.1.0  Release Build  (bugfix_main)  (buildbrain@mobile-u64-5273-d7000)  Wed Aug 10 20:24:22 PDT 2022
[  6721.720] (II) NVIDIA: The X server does not support PRIME Render Offload.
[  6721.728] (WW) NVIDIA: No DRM device: No direct render devices found.
[  6721.731] (II) NVIDIA(0): NVIDIA GPU Orin (nvgpu) (GA10B) at SoC (GPU-0)
[  6721.731] (--) NVIDIA(0): Memory: 31269224 kBytes
[  6721.731] (--) NVIDIA(0): VideoBIOS: 
[  6721.731] (II) NVIDIA(0): Validated MetaModes:
[  6721.731] (II) NVIDIA(0):     "NULL"
[  6721.731] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[  6721.731] (WW) NVIDIA(0): Unable to get display device for DPI computation.
[  6721.731] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[  6721.731] (--) Depth 24 pixmap format is 32 bpp
[  6721.732] (II) NVIDIA: Reserving 24576.00 MB of virtual memory for indirect memory
[  6721.732] (II) NVIDIA:     access.
[  6721.734] (EE) NVIDIA(0): Failed to allocate NVIDIA Error Handler
[  6721.734] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[  6721.734] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[  6721.734] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[  6721.734] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[  6721.734] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[  6721.734] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[  6721.734] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[  6721.734] (II) NVIDIA(0):     Config Options in the README.
[  6721.765] (II) NVIDIA(0): Setting mode "NULL"
[  6721.771] (==) NVIDIA(0): Disabling shared memory pixmaps
[  6721.771] (==) NVIDIA(0): Backing store enabled
[  6721.771] (==) NVIDIA(0): Silken mouse enabled
[  6721.771] (**) NVIDIA(0): DPMS enabled
[  6721.771] (II) Loading sub module "dri2"
[  6721.771] (II) LoadModule: "dri2"
[  6721.771] (II) Module "dri2" already built-in
[  6721.771] (II) NVIDIA(0): [DRI2] Setup complete
[  6721.771] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[  6721.772] (--) RandR disabled
[  6721.774] (II) SELinux: Disabled on system
[  6721.775] (II) Initializing extension GLX
[  6721.775] (II) Indirect GLX disabled.
[  6721.830] (II) config/udev: Adding input device NVIDIA Jetson AGX Orin HDA HDMI/DP,pcm=3 (/dev/input/event1)
[  6721.830] (II) No input driver specified, ignoring this device.
[  6721.830] (II) This device may have been added with another device file.
[  6721.830] (II) config/udev: Adding input device NVIDIA Jetson AGX Orin HDA HDMI/DP,pcm=7 (/dev/input/event2)
[  6721.830] (II) No input driver specified, ignoring this device.
[  6721.830] (II) This device may have been added with another device file.
[  6721.831] (II) config/udev: Adding input device NVIDIA Jetson AGX Orin HDA HDMI/DP,pcm=8 (/dev/input/event3)
[  6721.831] (II) No input driver specified, ignoring this device.
[  6721.831] (II) This device may have been added with another device file.
[  6721.831] (II) config/udev: Adding input device NVIDIA Jetson AGX Orin HDA HDMI/DP,pcm=9 (/dev/input/event4)
[  6721.831] (II) No input driver specified, ignoring this device.
[  6721.831] (II) This device may have been added with another device file.
[  6721.832] (II) config/udev: Adding input device gpio-keys (/dev/input/event0)
[  6721.832] (**) gpio-keys: Applying InputClass "libinput keyboard catchall"
[  6721.832] (II) LoadModule: "libinput"
[  6721.832] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[  6721.834] (II) Module libinput: vendor="X.Org Foundation"
[  6721.834]    compiled for 1.19.6, module version = 0.27.1
[  6721.834]    Module class: X.Org XInput Driver
[  6721.834]    ABI class: X.Org XInput driver, version 24.1
[  6721.834] (II) Using input driver 'libinput' for 'gpio-keys'
[  6721.834] (**) gpio-keys: always reports core events
[  6721.834] (**) Option "Device" "/dev/input/event0"
[  6721.834] (**) Option "_source" "server/udev"
[  6721.834] (II) event0  - gpio-keys: is tagged by udev as: Keyboard
[  6721.834] (II) event0  - gpio-keys: device is a keyboard
[  6721.834] (II) event0  - gpio-keys: device removed
[  6721.884] (**) Option "config_info" "udev:/sys/devices/platform/gpio-keys/input/input0/event0"
[  6721.884] (II) XINPUT: Adding extended input device "gpio-keys" (type: KEYBOARD, id 6)
[  6721.885] (II) event0  - gpio-keys: is tagged by udev as: Keyboard
[  6721.885] (II) event0  - gpio-keys: device is a keyboard
[  6722.291] (II) event0  - gpio-keys: device removed
[  6722.333] (II) UnloadModule: "libinput"
[  6722.343] (II) NVIDIA(GPU-0): Deleting GPU-0
[  6722.344] (II) Server terminated successfully (0). Closing log file.

The DP monitor works fine during boot, I can see the UEFI interface.

Any suggestions?

Hi,

Is any concern to launch the container with nvidia runtime?
Several BSP-related libraries will be mounted if running the container with nvidia runtime.
Please find the details below:

/etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv

More, could you try the following command before launching the container to see if it helps:

$ xhost +

Thanks.

@AastaLLL thank you for your response,

So far it wasn’t necessary with any previous L4Ts to run X on the host, it ran in container without any problems. L4T 35.1 is the first where we encounter this problem and I believe the issue here actually is that the Display is not detected, for example see in the logs above. Is it possible that maybe I’m missing a library, or some kernel module is not loaded?

Thank you

The display is not detected if the Nvidia Linux Open GPU Kernel Modules aren’t loaded, that is nvidia.ko, nvidia-modeset.ko, etc. This was the problem here, X can be run from any container as long as these are loaded properly.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.