HDMI output signal unvailable if the screen is powered on after the launching of the X server

Hi everyone,

I have a little issue about the HDMI output and the X server. (HW : Jetson Xavier AGX 32 GB - Rogue Motherboard).

After the boot, the X server starts. If the screen is already powered on : the X server recognizes the connected screen and the hdmi signal is generated and everything works fine. If the screen is powered on, only a little while after the booting phase, no way to get anything because the xserver has been already launched without recognizing anything. How to launch the xserver without any screen plugged, and force the hdmi signal with one defined resolution and frequency (1920x1080 60 hz)?
the xrandr does not succeed (because after the missed x launch), Do you have a sample of xorg.conf for this ?

Thank you for your help

Xorg server is still running even when monitor is not connected.

This setting is by default enabled in our xorg.conf.

Section "Device"
    Identifier  "Tegra0"
    Driver      "nvidia"
# Allow X server to be started even if no display devices are connected.
    Option      "AllowEmptyInitialConfiguration" "true"
#    Option     "ForceFullCompositionPipeline" "on"
EndSection

Hi Wayne,
Thank you for your answer.
I have understood what happens exactly in my user case : the screen connected to the nvidia AGX jetson Xavier by the Rogue motherboard seems not give its EDID (it is a aeronautical screen which uses a hdmi converter - everything but standard :-) ). So the X server launchs its default “AllowInitialConfiguration”, but we dont have any signal on the hdmi output. That is not what we expect : we would like to have the same behavior with the X server, as if one standard screen (with a given EDID) were connected on the first video output HDMI-0. We get the same EDID binary file of the final screen, and we know the right LineMode to set (a standard 1080p 60 hz). But that does not work.

How to force the presency of this screen into the xorg.conf, even if nothing seems to be connected on the hdmi port ?

Here is my Xorg.0.log - end part :
.

[ 33.223] () NVIDIA(0): Option “DPI” “96 x 96”
[ 33.223] (
) NVIDIA(0): Option “ModeValidation” “NoXServerModes”
[ 33.223] () NVIDIA(0): Option “AllowEmptyInitialConfiguration” “false”
[ 33.223] (
) NVIDIA(0): Option “ForceFullCompositionPipeline” “on”
[ 33.223] () NVIDIA(0): Option “UseEDID” “true”
[ 33.223] (
) NVIDIA(0): Option “ConnectedMonitor” “DFP-0”
[ 33.223] () NVIDIA(0): Option “CustomEDID” “DFP-0:/etc/X11/MyEdid.bin”
[ 33.224] (
) NVIDIA(0): Enabling 2D acceleration
[ 33.224] (**) NVIDIA(0): ConnectedMonitor string: “DFP-0”
[ 33.224] (II) Loading sub module “glxserver_nvidia”
[ 33.224] (II) LoadModule: “glxserver_nvidia”
[ 33.224] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[ 33.233] (II) Module glxserver_nvidia: vendor=“NVIDIA Corporation”
[ 33.233] compiled for 4.0.2, module version = 1.0.0
[ 33.233] Module class: X.Org Server Extension
[ 33.233] (II) NVIDIA GLX Module 32.4.3 Release Build (integ_stage_rel) (buildbrain@mobile-u64-3357) Thu Jun 25 21:22:13 PDT 2020
[ 33.264] (–) NVIDIA(0): Valid display device(s) on GPU-0 at SoC
[ 33.264] (–) NVIDIA(0): DFP-0
[ 33.264] (–) NVIDIA(0): DFP-1
[ 33.265] (II) NVIDIA(0): NVIDIA GPU Xavier (nvgpu) (GV11B) at SoC (GPU-0)
[ 33.265] (–) NVIDIA(0): Memory: 32693372 kBytes
[ 33.265] (–) NVIDIA(0): VideoBIOS:
[ 33.265] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0.
[ 33.265] (EE) NVIDIA(0): Set AllowEmptyInitialConfiguration if you want the server
[ 33.265] (EE) NVIDIA(0): to start anyway
[ 33.265] (EE) NVIDIA(0): Failing initialization of X screen 0
[ 33.265] (II) UnloadModule: “nvidia”
[ 33.265] (II) UnloadSubModule: “glxserver_nvidia”
[ 33.266] (II) Unloading glxserver_nvidia
[ 33.266] (II) UnloadSubModule: “wfb”
[ 33.266] (II) UnloadSubModule: “fb”
[ 33.266] (EE) Screen(s) found, but none have a usable configuration.
[ 33.266] (EE)
Fatal server error:
[ 33.266] (EE) no screens found(EE)
[ 33.266] (EE)

Note that these following options :

Option “ConnectedMonitor” “DFP-0”
Option “CustomEDID” “DFP-0:/etc/X11/MyEdid.bin”

seems to be totally ignored by the driver, because if the file MyEdid.bin is not existing : we have no warning nor error into the xorg log.

Is it implemented on the jetson xavier GPU driver ?

Here is our xorg.conf :


Section “ServerFlags”
Option “DontVTSwitch” “true”
Option “BlankTime” “0”
Option “StandbyTime” “0”
Option “SuspendTime” “0”
Option “OffTime” “0”
EndSection

Section “Module”
Disable “dri”
SubSection “extmod”
Option “omit xfree86-dga”
EndSubSection
Load “glx”
EndSection

Section “Device”
Identifier “Tegra0”
Driver “nvidia”
Option “AllowEmptyInitialConfiguration” “false”
Option “ModeValidation” “NoXServerModes”
Option “ConnectedMonitor” “DFP-0”
Option “CustomEDID” “DFP-0:/etc/X11/MyEdid.bin”
Option “UseEDID” “true”
Option “Monitor-DFP-0” “Monitor0”
EndSection

Section “Monitor”
Identifier “Monitor0”
HorizSync 29.0-71.0
VertRefresh 29.0-90.0
Option “DPMS” “false”
Option “DPI” “96 x 96”
ModeLine “1920x1080” 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection

Section “Screen”
Identifier “ScreenDisplay”
Device “Tegra0”
Monitor “Monitor0”
DefaultColorDepth 24
SubSection “Display”
Depth 24
Modes “1920x1080”
EndSubSection
EndSection

Section “ServerLayout”
Identifier “PhotonavLayout”
Screen 0 “ScreenDisplay” 0 0
EndSection


Thank you a lot for your help.

Custom edid in tegra xorg driver is not supported. Only adding edid in kernel driver or dts is supported.

Check the forcing edid in below link.

https://elinux.org/Jetson_TX2/r28_Display_debug

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