How to run xorg in docker with custom edid?

48 Views Asked by At

Im truing to fully functional X11 server in headless mode in docker container without using xvfb and host X-socket.

But ny log looks like:

X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
[ 21240.680] Current Operating System: Linux 5f44429f13e9 6.7.0-arch3-1 #1 SMP PREEMPT_DYNAMIC Sat, 13 Jan 2024 14:37:14 +0000 x86_64
[ 21240.680] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=597d2a3d-af3c-43a3-b657-5e6afffc2f2f rw zswap.enabled=0 rootfstype=ext4 loglevel=1 quiet raid=noautodetect nowatchdog split_lock_detect=off amdgpu.ppfeaturemask=0xff>
[ 21240.680]
[ 21240.680] Current version of pixman: 0.43.0
[ 21240.680]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[ 21240.680] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 21240.680] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jan 19 14:06:46 2024
[ 21240.680] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 21240.680] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 21240.680] (==) No Layout section.  Using the first Screen section.
[ 21240.680] (**) |-->Screen "Screen0" (0)
[ 21240.680] (**) |   |-->Monitor "<default monitor>"
[ 21240.681] (==) No device specified for screen "Screen0".
        Using the first device section listed.
[ 21240.681] (**) |   |-->Device "AMD"
[ 21240.681] (==) No monitor specified for screen "Screen0".
        Using a default monitor configuration.
[ 21240.681] (==) Automatically adding devices
[ 21240.681] (==) Automatically enabling devices
[ 21240.681] (==) Automatically adding GPU devices
[ 21240.681] (==) Automatically binding GPU devices
[ 21240.681] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 21240.681] (==) FontPath set to:
        /usr/share/fonts/misc,
        /usr/share/fonts/TTF,
        /usr/share/fonts/OTF,
        /usr/share/fonts/Type1,
        /usr/share/fonts/100dpi,
        /usr/share/fonts/75dpi
[ 21240.681] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 21240.681] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 21240.681] (II) Module ABI versions:
[ 21240.681]    X.Org ANSI C Emulation: 0.4
[ 21240.681]    X.Org Video Driver: 25.2
[ 21240.681]    X.Org XInput driver : 24.4
[ 21240.681]    X.Org Server Extension : 10.0
[ 21240.681] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory)
[ 21240.681] (++) using VT number 1

[ 21240.681] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 21240.682] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 21240.682] (II) Platform probe for /sys/devices/pci0000:00/0000:00:03.1/0000:29:00.0/0000:2a:00.0/0000:2b:00.0/drm/card1
[ 21240.688] (--) PCI:*(43@0:0:0) 1002:747e:1da2:475a rev 200, Mem @ 0xd0000000/268435456, 0xe0000000/2097152, 0xfc800000/1048576, I/O @ 0x0000e000/256, BIOS @ 0x????????/131072
[ 21240.688] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 21240.688] (II) LoadModule: "glx"
[ 21240.688] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 21240.689] (II) Module glx: vendor="X.Org Foundation"
[ 21240.689]    compiled for 1.21.1.11, module version = 1.0.0
[ 21240.689]    ABI class: X.Org Server Extension, version 10.0
[ 21240.689] (II) LoadModule: "amdgpu"
[ 21240.689] (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[ 21240.690] (II) Module amdgpu: vendor="X.Org Foundation"
[ 21240.690]    compiled for 1.21.1.7, module version = 23.0.0
[ 21240.690]    Module class: X.Org Video Driver
[ 21240.690]    ABI class: X.Org Video Driver, version 25.2
[ 21240.690] (II) AMDGPU: Driver for AMD Radeon:
        All GPUs supported by the amdgpu kernel driver
[ 21240.690] (EE) AMDGPU(0): [drm] device is not DRM master.
[ 21240.690] (II) AMDGPU(1): [KMS] Kernel modesetting enabled.
[ 21240.691] (EE) AMDGPU(1): [drm] device is not DRM master.
[ 21240.691] (EE) AMDGPU(G0): [drm] device is not DRM master.
[ 21240.691] (EE) AMDGPU(G0): [drm] device is not DRM master.
[ 21240.691] (EE) Screen 0 deleted because of no matching config section.
[ 21240.691] (II) AMDGPU(0): AMDGPUFreeScreen
[ 21240.691] (II) UnloadModule: "amdgpu"
[ 21240.691] (EE) Screen 0 deleted because of no matching config section.
[ 21240.691] (II) AMDGPU(0): AMDGPUFreeScreen
[ 21240.691] (II) UnloadModule: "amdgpu"
[ 21240.691] (EE) Device(s) detected, but none match those in the config file.
[ 21240.691] (EE)
Fatal server error:
[ 21240.691] (EE) no screens found(EE)
[ 21240.691] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[ 21240.691] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 21240.691] (EE)
[ 21240.709] (EE) Server terminated with error (1). Closing log file.

Here is my /usr/share/X11/xorg.conf.d/01-xorg-virtual-screen.conf :

`Section "Screen"
    Identifier     "Screen0"
    #Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration" "True"
    Option         "UseDisplayDevice" "DP-0"
    Option         "CustomEDID" "DP-0:/root/custom.edid"
    Option         "ConnectedMonitor" "DP-0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection`

Section "Device"
    Identifier "AMD"
    Driver "amdgpu"
    Option "TearFree" "true"
    Screen 0
EndSection

I'm tried to use diferent edid files but nosing. I'm running docker with : docker run -v /dev/dri:/dev/dri -it --privileged -it arch:xorg The main goal to get xorgserver in container with support amd GPU, vulkan as a openGL and DRI3.`

0

There are 0 best solutions below