Jetson TX1 Desktop Sharing Resolution Problem Without Real Monitor

When I remove below virtual screen section inside xorg.conf file:

Section "Screen"
   Identifier    "Default Screen"
   Monitor        "Configured Monitor"
   Device        "Default Device"
   SubSection "Display"
       Depth    24
       Virtual 1280 800
   EndSubSection
EndSection

and connect with a real HDMI screen. Then everything is fine. So the issue should caused by conflict between EDID reading and this Default Screen setting? I do not know why this Default Screen setting still take effect and mess things up when a real HDMI display connected.

Sorry, this is long. I can tell you how the process works, but I haven’t gone through all of the setup and so it just gives you a starting point. The bottom line is you probably need to run both a regular X server and a virtual X server (versus configuring it all in a single xorg.conf for a single server).

The config in “/etc/X11/” is for the default system startup server. When you try to put config of two different setups in one config it is expected for the system to become a bit confused. You should run two independent X servers rather than replacing the default server with the virtual server if you want both to work. One X server will be associated with one DISPLAY. The other X server will be associated with another DISPLAY. There may be some obscure way to use a single X config file for two independent servers, but I don’t know of such. In your case you replaced the xorg.conf content with either a case of supporting the virtual server or supporting the case of the real server (there probably is a way to make these live together, I don’t know what it is).

A quick note: When Linux starts it reaches a point where users can interact. The getty program (or some variant) spawns login management. Usually (this can be changed) there are 7 login locations for 7 independent logins (there would be 7 copies of login programs running…each is independent of the other). Or one could limit logins by running only three instances. Or you could have 12 instances if you ran 12 (“ALT-F1” through “ALT-F12”). If currently in text mode and you enter “ALT-F5”, then you go to the fifth…if you enter “ALT-F6”, then you go to the sixth. You might learn a bit if you look at files from:

sudo find /etc -name '*getty*'

(which in this case turns out to be controlled by systemd)

Whether that login manager is text only console, or instead GUI just depends which login manager type is run (X display manager is one possibility…and if set up as such, then all 7 could be X GUI…quite useful if your computer has 7 video cards…or 7 virtual equivalents to a video card…or even just the one video card if no two sessions will conflict). If the login manager is a GUI, then that runs. If you are on the GUI at “ALT-F1”, then you would have to add “CTRL” to get to “ALT-F5”…it would become “CTRL-ALT-F5”. Then, in the console at F5, you would use “ALT-F2” to get back to the second login (“ALT-F#” if already in a console, “CTRL-ALT-F#” is you are in a GUI).

Whenever X software runs it associates with the correct server via the DISPLAY environment variable. In the past “echo $DISPLAY” inside of a GUI session would by default be “:0”. I’ve noticed recently this has defaulted to “:1” (also, instead of the GUI being on CTRL-ALT-F1 it is on CTRL-ALT-F2, so perhaps it was called “:1” since it is accessed with “CTRL-ALT-F2” instead of “F1”…numbering order isn’t enforced, it is just tradition). So if I were to ssh in from the outside world without being associated with the GUI and try to run GUI software, then it would complain about not finding an X session or server. If I first “export DISPLAY=:1”, then the running X software would cause it to pop up in the “:1” GUI (this assume someone is logged in at “:1”…the DISPLAY doesn’t exist until there is a running session).

The DISPLAY number designation does not have any requirements of being in order. When you use software like “startx” you can specify a DISPLAY or allow it to set the DISPLAY itself (startx is a human readable bash shell script…starting X is complicated, and this script is a utility to make manual startup easier). Check “man startx”. “startx” will log in as whichever user ran the startx command. If for example you run startx as user ubuntu, tell it to use DISPLAY of “:10” (export the environment variable befor running any command), and name the virtual server and an alternate xorg.conf, then both servers would run at the same time…the default system server with a real monitor…and your virtual server. If user ubuntu then runs this command (just naming xterm as an example) from a non-gui location, then it will appear on the regular default desktop with a real monitor:

# example in a single line and specifying DISPLAY for a single use only:
DISPLAY=<b>:1</b> xterm
# example where all commands after this go to the ":1" server:
export DISPLAY=<b>:1</b>
xterm

Similar, these would be associated with and display to the virtual server running on “:10”:

# example in a single line and specifying DISPLAY for a single use only:
DISPLAY=<b>:10</b> xterm
# example where all commands after this go to the ":1" server:
export DISPLAY=<b>:10</b>
xterm

You could run the virtual setup as launched from “/etc/rc.local” or some other means (such as startx and naming this server as a different DISPLAY…you’d have this one as “DISPLAY=:1” and the default as “DISPLAY=:0” or something similar). I couldn’t tell you all of the alternate ways to start an X server or modify the existing systemd configuration, but what makes rc.local nice (provided you have a working “startx” command line) is that rc.local runs as root. Within rc.local you can use “sudo -u some_other_user startx …”, and because it is running as root it should not ask for a password to sudo to the other user’s ownership of the server run via startx.

Server, Virtual Server, and Virtual Desktop

There is a difference between the terms “server”, “virtual server”, and “virtual desktop”. A server is any X server. That server provides an environment capable of display. If the server is “ordinary”, then the display is real hardware, i.e., there is a physical monitor attached (and most likely a user interacts with this through a window manager). If the server is “virtual”, then the monitor is fake/synthetic and there is no physical monitor…but any software using the server won’t know the display is synthetic. A virtual desktop can be used with either a real physical display server or with a virtual server.

A virtual desktop is capable of describing a logged in desktop to a virtual desktop client. That client is how a remote system can see and manipulate a desktop. The virtual desktop client is more or less a distributed description for interaction with a desktop…but the client neither knows nor cares if the other end is monitoring a setup with a real monitor or a virtual monitor.

Note that if you only run CUDA, then you don’t need a desktop. You don’t need a window manager for CUDA, you don’t need a mouse or keyboard to interact. If you do not intend to display the work done by CUDA (e.g., output is to a file or network stream), then not only can the X server be virtual, the virtual server can also skip running any kind of desktop manager or windowing system.

Thanks for your explanations on xserver. It is very useful and supplement.

One more question, the ‘virtual x server’ you were talking about here should be still running on nvidia gpu driver? If the answer is yes. then how can we start 2 simultaneous x servers(one for regular and another for virtual) on an unique gpu driver?

Many servers can run at once. As an example, just find out where your current “real” server is. Probably keystroke “CTRL-ALT-F3” through “CTRL-ALT-F6” are text consoles (the “CTRL” is only if you start in a GUI…without the GUI it is just “ALT-F3” through “ALT-F6”). For a TX1 I’m going to guess your first GUI is CTRL-ALT-F1 and that the rest are text console. As another example consider that your GUI and CUDA run at the same time. The GPU has a lot of cores and can share them. If this were not possible, then you couldn’t run CUDA on the same GPU which provides the display. Having two GPUs is nice because then you get one GPU for whatever selfish application need there may be, but you won’t notice any problems with running multiple X servers.

My only concern is that if the virtual X server is not compatible with the NVIDIA driver, then it would revert to software rendering. In the case of software rendering there would be no possibility of running CUDA on that display. I doubt you will have that issue, but keep it in mind.

Now go to a console. It would be rare that F3 is not a text console, so I use that as an example (some distributions use F1 as GUI and others use F6 as GUI…recent TX2/Xavier/Nano releases use F1 for something related to GUI and F2 for the actual GUI). Log in as ubuntu (or your favorite account other than root) on the console. You might want to open a man page on startx in ALT-F4 (you can hop back and forth between the two consoles with ALT-F4 and ALT-F3). In the F3 console run “startx” with no arguments. You should see the desktop manager pop up without a login screen (the login was actually text based). Open a terminal and examine the output of “echo $DISPLAY”.

Now go to the regular GUI, CTRL-ALT-F1 or F2 (depending on what release you are using). You will need to log in as the same person. Examine the output of “echo $DISPLAY”. I’m going to assume one display is “:0” and the other is “:1”. Your startx command could have had an argument added to make it “:10” if you had wanted. I’ll assume the built in X session is “:0” and that the one you started is “:1”, but adjust for your situation.

In the “:0” GUI any example application you can start on a command line can be displayed in the other session. I’ll use “gnome-terminal”, but it could just as easily be something like “firefox”. From the “:0” run this to display in the “:1”:

DISPLAY=:1 gnome-terminal

If you look at “:0”, then nothing appears, but if you look at “:1”, then there is a new gnome-terminal.

The two sessions are independent, but because you are the same user you have permission to interact with either.

Now look at the man page for startx. You might want to intentionally set the DISPLAY upon start to “:10”. You will need to create an alternate to “/etc/X11/” which is configured to use the virtual server instead. A typical place to do so would be to create “/usr/local/etc/”, and then copy the whole “X11/” subdirectory to become “/usr/local/etc/X11/”. Then edit the content of the “local” version to call the virtual server instead of the default server.

In particular the “xinit/” content is a series of scripts for how X starts and stops. I have not had to customize that in a very long time so it is going to be an exploration, but you can keep things like font paths the same. The default xorg.conf will probably also be the same. You’ll find “xinit/xinitrc” is the base entry point to the session, and that you’ll see a need to customize xinitrc to point at the “/usr/local/” version of Xsession and the “X11/Xsession.d/” content. Eventually you might remove content from the session if the remote system doesn’t need a full environment.

It is unlikely any input device will need change, but it might (if a session is not actively displayed it might not react to keyboard or mouse…but imagine if the keyboard or mouse were going to both sessions…if the latter is the case then there would be a need for adjustment).

The really interesting part is “xinit/xserverrc”. This is what calls the actual X server binary. This line must be changed to instead point at the virtual X server:

exec /usr/bin/X -nolisten tcp "$@"

Notice that “$@”. This is how the X server accepts arguments from startx. If you change the DISPLAY to be fixed to “:10”, then this gets passed through that command line. startx is just a convenience to all of the arguments to X. If an option is confusing in the startx man page, then use the man page for the particular X server involved.

Note that “/usr/bin/X” is a symbolic link to “/usr/bin/Xorg”. Thus it is “man Xorg” to see the options to this X server. Your virtual server (if not also this Xorg) will need the man page of that other binary. Even if the two are different they will have most of their options in common, but it might be the virtual version has additional options. You can ignore those options unless you run into an issue.

Assuming you forced display to “:10” on the virtual server, then you could run all of your CUDA apps with “DISPLAY=:10”, and anything the virtual client at the other end would see is from the virtual server. You could then independently attach and detach a monitor to the local display. The local display would not see what is on “:10”, but you could also run the remote client desktop software from “:0” and treat “:10” as a remote system (it runs on the same hardware, but technically it is remote when relaying between “:0” and “:10”).

If you get a good startx command line, and if you want this to run as user ubuntu, then you can use “sudo -u ubuntu …” in the “/etc/rc.local” to run startx as user “ubuntu” (rc.local runs as root, and root is not required to enter a password when using sudo).

Thanks for the guidance. I will start my explore for this dedicate virtual x server on jetson nano.

Will feedback soon.

Today I spent some time on this dedicate x server setup.

After a while I realize that I need an additional desktop session setting, corresponding this dedicate x server. Or there are maybe interference between these 2 desktops(one for real x server, another for virtual x server).

So I give up and turn back to original purpose, to seek a solution for support of both virtual and real x server in one xorg.conf file. I google it and find some clues with this ‘Modes’ settings:

SubSection "Display"
		Depth 24
		Virtual 800 480
		Modes "640x480"
	EndSubSection

When this "Modes “640x480"” line added, the original issue is gone. The nano board boots up to a virtual x server with 800x480 resolution when no HDMI screen attached; and boot up to 720x400 resolution in case a physical HDMI screen attached.

I do not know where this strange resolution of “720x400” come from, but looks like it is a result of negotiation between nano board and my HDMI screen. I can attach a Xorg.o.log file here if you can have a look with it. A fallback to resolution of “640x480” is a reasonable result as per my understanding of this schema.

720x400 is a mode added in device tree (or somewhere hardcoded). It was a workaround to prevent some display crash issue when some unsupported monitor is connected.

TBD

If possible you might post the content of the following when your monitor is connected, along with its exact model or a URL to its specs:

sudo -s
cat `find /sys -name edid`
exit

This can be turned into human readable specs at:
http://www.edidreader.com

The model of screen is DELL 2007FP.https://www.dell.com/downloads/emea/products/snp/UltraSharp%202007FP_EN.pdf

here is EDID:

root@jetson-desktop:/sys# cat /sys/kernel/debug/tegradc.0/edid
 00 ff ff ff ff ff ff 00 10 ac 21 a0 4c 55 38 30
 1c 14 01 03 80 29 1f 78 ee ee 91 a3 54 4c 99 26
 0f 50 54 a5 4b 00 81 80 a9 40 71 4f 01 01 01 01
 01 01 01 01 01 01 48 3f 40 30 62 b0 32 40 40 c0
 13 00 6f 13 11 00 00 1e 00 00 00 ff 00 4e 34 46
 50 30 30 37 36 30 38 55 4c 0a 00 00 00 fc 00 44
 45 4c 4c 20 32 30 30 37 46 50 0a 20 00 00 00 fd
 00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 7d

Xorg.0.log:

root@jetson-desktop:/var/log# cat Xorg.0.log
[     9.799] (--) Log file renamed from "/var/log/Xorg.pid-5278.log" to "/var/log/Xorg.0.log"
[     9.801] 
X.Org X Server 1.19.6
Release Date: 2017-12-20
[     9.801] X Protocol Version 11, Revision 0
[     9.801] Build Operating System: Linux 4.4.0-138-generic aarch64 Ubuntu
[     9.801] Current Operating System: Linux jetson-desktop 4.9.140-tegra #1 SMP PREEMPT Wed Mar 13 00:32:22 PDT 2019 aarch64
[     9.801] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000 tegra_fbmem=0x140000@0x92cb6000 is_hdmi_initialised=1  root=/dev/mmcblk0p1 rw rootwait console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0    root=/dev/mmcblk0p1 rw rootwait console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 root=/dev/mmcblk0p1 rw rootwait
[     9.802] Build Date: 25 October 2018  04:10:37PM
[     9.802] xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support) 
[     9.802] Current version of pixman: 0.34.0
[     9.802] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[     9.802] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     9.802] (==) Log file: "/var/log/Xorg.0.log", Time: Fri May 10 20:43:45 2019
[     9.807] (==) Using config file: "/etc/X11/xorg.conf"
[     9.807] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[     9.810] (==) No Layout section.  Using the first Screen section.
[     9.810] (**) |-->Screen "Default Screen" (0)
[     9.810] (**) |   |-->Monitor "<default monitor>"
[     9.811] (==) No device specified for screen "Default Screen".
	Using the first device section listed.
[     9.811] (**) |   |-->Device "Tegra0"
[     9.811] (==) No monitor specified for screen "Default Screen".
	Using a default monitor configuration.
[     9.811] (==) Automatically adding devices
[     9.811] (==) Automatically enabling devices
[     9.811] (==) Automatically adding GPU devices
[     9.811] (==) Automatically binding GPU devices
[     9.811] (==) Max clients allowed: 256, resource mask: 0x1fffff
[     9.821] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[     9.822] 	Entry deleted from font path.
[     9.822] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[     9.822] 	Entry deleted from font path.
[     9.822] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[     9.822] 	Entry deleted from font path.
[     9.827] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[     9.827] 	Entry deleted from font path.
[     9.827] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[     9.827] 	Entry deleted from font path.
[     9.827] (==) FontPath set to:
	/usr/share/fonts/X11/misc,
	/usr/share/fonts/X11/Type1,
	built-ins
[     9.827] (==) ModulePath set to "/usr/lib/xorg/modules"
[     9.827] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[     9.827] (II) Loader magic: 0x5569949010
[     9.827] (II) Module ABI versions:
[     9.827] 	X.Org ANSI C Emulation: 0.4
[     9.827] 	X.Org Video Driver: 23.0
[     9.827] 	X.Org XInput driver : 24.1
[     9.827] 	X.Org Server Extension : 10.0
[     9.828] (++) using VT number 1

[     9.833] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[     9.834] (II) no primary bus or device found
[     9.834] (WW) "dri" will not be loaded unless you've specified it to be loaded elsewhere.
[     9.834] (II) "glx" will be loaded by default.
[     9.834] (II) LoadModule: "extmod"
[     9.834] (II) Module "extmod" already built-in
[     9.835] (II) LoadModule: "glx"
[     9.838] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     9.872] (II) Module glx: vendor="X.Org Foundation"
[     9.872] 	compiled for 1.19.6, module version = 1.0.0
[     9.873] 	ABI class: X.Org Server Extension, version 10.0
[     9.873] (II) LoadModule: "nvidia"
[     9.873] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[     9.913] (II) Module nvidia: vendor="NVIDIA Corporation"
[     9.913] 	compiled for 4.0.2, module version = 1.0.0
[     9.913] 	Module class: X.Org Video Driver
[     9.920] (II) NVIDIA dlloader X Driver  32.1.0  Release Build  (integ_stage_rel)  (buildbrain@mobile-u64-3531)  Wed Mar 13 00:27:48 PDT 2019
[     9.920] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[     9.920] (WW) Falling back to old probe method for NVIDIA
[     9.921] (II) Loading sub module "fb"
[     9.921] (II) LoadModule: "fb"
[     9.921] (II) Loading /usr/lib/xorg/modules/libfb.so
[     9.924] (II) Module fb: vendor="X.Org Foundation"
[     9.924] 	compiled for 1.19.6, module version = 1.0.0
[     9.924] 	ABI class: X.Org ANSI C Emulation, version 0.4
[     9.924] (II) Loading sub module "wfb"
[     9.924] (II) LoadModule: "wfb"
[     9.925] (II) Loading /usr/lib/xorg/modules/libwfb.so
[     9.928] (II) Module wfb: vendor="X.Org Foundation"
[     9.928] 	compiled for 1.19.6, module version = 1.0.0
[     9.928] 	ABI class: X.Org ANSI C Emulation, version 0.4
[     9.929] (II) Loading sub module "ramdac"
[     9.929] (II) LoadModule: "ramdac"
[     9.929] (II) Module "ramdac" already built-in
[     9.931] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[     9.931] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[     9.931] (==) NVIDIA(0): RGB weight 888
[     9.931] (==) NVIDIA(0): Default visual is TrueColor
[     9.931] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[     9.931] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[     9.931] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration" "true"
[     9.931] (**) NVIDIA(0): Enabling 2D acceleration
[     9.932] (II) Loading sub module "glxserver_nvidia"
[     9.932] (II) LoadModule: "glxserver_nvidia"
[     9.932] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[    10.254] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[    10.254] 	compiled for 4.0.2, module version = 1.0.0
[    10.254] 	Module class: X.Org Server Extension
[    10.254] (II) NVIDIA GLX Module  32.1.0  Release Build  (integ_stage_rel)  (buildbrain@mobile-u64-3531)  Wed Mar 13 00:26:03 PDT 2019
[    10.300] (--) NVIDIA(0): Valid display device(s) on GPU-0 at SoC
[    10.300] (--) NVIDIA(0):     DFP-0
[    10.300] (--) NVIDIA(0):     DFP-1
[    10.300] (II) NVIDIA(0): NVIDIA GPU NVIDIA Tegra X1 (nvgpu) (GM20B) at SoC (GPU-0)
[    10.300] (--) NVIDIA(0): Memory: 4058432 kBytes
[    10.301] (--) NVIDIA(0): VideoBIOS: 
[    10.301] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): connected
[    10.301] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): External TMDS
[    10.301] (==) NVIDIA(0): 
[    10.301] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[    10.301] (==) NVIDIA(0):     will be used as the requested mode.
[    10.301] (==) NVIDIA(0): 
[    10.302] (II) NVIDIA(0): Validated MetaModes:
[    10.302] (II) NVIDIA(0):     "DFP-0:nvidia-auto-select"
[    10.302] (**) NVIDIA(0): Virtual screen size configured to be 800 x 480
[    10.302] (--) NVIDIA(0): DPI set to (44, 32); computed from "UseEdidDpi" X config
[    10.302] (--) NVIDIA(0):     option
[    10.302] (--) Depth 24 pixmap format is 32 bpp
[    10.302] (II) NVIDIA: Reserving 6144.00 MB of virtual memory for indirect memory
[    10.302] (II) NVIDIA:     access.
[    10.304] (EE) NVIDIA(0): Failed to allocate NVIDIA Error Handler
[    10.304] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[    10.304] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[    10.304] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[    10.305] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[    10.305] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[    10.305] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[    10.305] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[    10.306] (II) NVIDIA(0):     Config Options in the README.
[    10.362] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select"
[    10.462] (==) NVIDIA(0): Disabling shared memory pixmaps
[    10.462] (==) NVIDIA(0): Backing store enabled
[    10.462] (==) NVIDIA(0): Silken mouse enabled
[    10.468] (==) NVIDIA(0): DPMS enabled
[    10.468] (II) Loading sub module "dri2"
[    10.468] (II) LoadModule: "dri2"
[    10.468] (II) Module "dri2" already built-in
[    10.468] (II) NVIDIA(0): [DRI2] Setup complete
[    10.468] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[    10.485] (--) RandR disabled
[    10.493] (II) SELinux: Disabled on system
[    10.494] (II) Initializing extension GLX
[    10.494] (II) Indirect GLX disabled.
[    10.645] (II) config/udev: Adding input device tegra-hda HDMI/DP,pcm=3 (/dev/input/event0)
[    10.645] (II) No input driver specified, ignoring this device.
[    10.645] (II) This device may have been added with another device file.
[    10.648] (II) config/udev: Adding input device PixArt USB Optical Mouse (/dev/input/event2)
[    10.648] (**) PixArt USB Optical Mouse: Applying InputClass "libinput pointer catchall"
[    10.648] (II) LoadModule: "libinput"
[    10.651] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    10.667] (II) Module libinput: vendor="X.Org Foundation"
[    10.673] 	compiled for 1.19.6, module version = 0.27.1
[    10.673] 	Module class: X.Org XInput Driver
[    10.673] 	ABI class: X.Org XInput driver, version 24.1
[    10.673] (II) Using input driver 'libinput' for 'PixArt USB Optical Mouse'
[    10.675] (II) systemd-logind: got fd for /dev/input/event2 13:66 fd 33 paused 0
[    10.675] (**) PixArt USB Optical Mouse: always reports core events
[    10.675] (**) Option "Device" "/dev/input/event2"
[    10.675] (**) Option "_source" "server/udev"
[    10.677] (II) event2  - PixArt USB Optical Mouse: is tagged by udev as: Mouse
[    10.677] (II) event2  - PixArt USB Optical Mouse: device set to 1000 DPI
[    10.677] (II) event2  - PixArt USB Optical Mouse: device is a pointer
[    10.677] (II) event2  - PixArt USB Optical Mouse: device removed
[    10.678] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2/1-2.3/1-2.3:1.0/0003:093A:2510.0001/input/input2/event2"
[    10.678] (II) XINPUT: Adding extended input device "PixArt USB Optical Mouse" (type: MOUSE, id 6)
[    10.678] (**) Option "AccelerationScheme" "none"
[    10.678] (**) PixArt USB Optical Mouse: (accel) selected scheme none/0
[    10.678] (**) PixArt USB Optical Mouse: (accel) acceleration factor: 2.000
[    10.678] (**) PixArt USB Optical Mouse: (accel) acceleration threshold: 4
[    10.680] (II) event2  - PixArt USB Optical Mouse: is tagged by udev as: Mouse
[    10.680] (II) event2  - PixArt USB Optical Mouse: device set to 1000 DPI
[    10.680] (II) event2  - PixArt USB Optical Mouse: device is a pointer
[    10.681] (II) config/udev: Adding input device PixArt USB Optical Mouse (/dev/input/mouse0)
[    10.682] (II) No input driver specified, ignoring this device.
[    10.682] (II) This device may have been added with another device file.
[    10.683] (II) config/udev: Adding input device SIGMACHIP USB Keyboard (/dev/input/event3)
[    10.683] (**) SIGMACHIP USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    10.684] (II) Using input driver 'libinput' for 'SIGMACHIP USB Keyboard'
[    10.693] (II) systemd-logind: got fd for /dev/input/event3 13:67 fd 36 paused 0
[    10.693] (**) SIGMACHIP USB Keyboard: always reports core events
[    10.693] (**) Option "Device" "/dev/input/event3"
[    10.693] (**) Option "_source" "server/udev"
[    10.694] (II) event3  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboard
[    10.695] (II) event3  - SIGMACHIP USB Keyboard: device is a keyboard
[    10.695] (II) event3  - SIGMACHIP USB Keyboard: device removed
[    10.695] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2/1-2.4/1-2.4:1.0/0003:1C4F:0026.0002/input/input3/event3"
[    10.695] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard" (type: KEYBOARD, id 7)
[    10.695] (**) Option "xkb_model" "pc105"
[    10.695] (**) Option "xkb_layout" "us"
[    10.697] (II) event3  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboard
[    10.697] (II) event3  - SIGMACHIP USB Keyboard: device is a keyboard
[    10.699] (II) config/udev: Adding input device SIGMACHIP USB Keyboard (/dev/input/event4)
[    10.699] (**) SIGMACHIP USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    10.699] (II) Using input driver 'libinput' for 'SIGMACHIP USB Keyboard'
[    10.703] (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 37 paused 0
[    10.704] (**) SIGMACHIP USB Keyboard: always reports core events
[    10.704] (**) Option "Device" "/dev/input/event4"
[    10.704] (**) Option "_source" "server/udev"
[    10.705] (II) event4  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboard
[    10.705] (II) event4  - SIGMACHIP USB Keyboard: device is a keyboard
[    10.705] (II) event4  - SIGMACHIP USB Keyboard: device removed
[    10.705] (II) libinput: SIGMACHIP USB Keyboard: needs a virtual subdevice
[    10.705] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2/1-2.4/1-2.4:1.1/0003:1C4F:0026.0003/input/input4/event4"
[    10.705] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard" (type: MOUSE, id 8)
[    10.706] (**) Option "AccelerationScheme" "none"
[    10.706] (**) SIGMACHIP USB Keyboard: (accel) selected scheme none/0
[    10.706] (**) SIGMACHIP USB Keyboard: (accel) acceleration factor: 2.000
[    10.706] (**) SIGMACHIP USB Keyboard: (accel) acceleration threshold: 4
[    10.707] (II) event4  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboard
[    10.707] (II) event4  - SIGMACHIP USB Keyboard: device is a keyboard
[    10.708] (II) config/udev: Adding input device gpio-keys (/dev/input/event1)
[    10.708] (**) gpio-keys: Applying InputClass "libinput keyboard catchall"
[    10.708] (II) Using input driver 'libinput' for 'gpio-keys'
[    10.711] (II) systemd-logind: got fd for /dev/input/event1 13:65 fd 38 paused 0
[    10.711] (**) gpio-keys: always reports core events
[    10.711] (**) Option "Device" "/dev/input/event1"
[    10.711] (**) Option "_source" "server/udev"
[    10.712] (II) event1  - gpio-keys: is tagged by udev as: Keyboard
[    10.712] (II) event1  - gpio-keys: device is a keyboard
[    10.712] (II) event1  - gpio-keys: device removed
[    10.712] (**) Option "config_info" "udev:/sys/devices/gpio-keys/input/input1/event1"
[    10.712] (II) XINPUT: Adding extended input device "gpio-keys" (type: KEYBOARD, id 9)
[    10.712] (**) Option "xkb_model" "pc105"
[    10.712] (**) Option "xkb_layout" "us"
[    10.714] (II) event1  - gpio-keys: is tagged by udev as: Keyboard
[    10.714] (II) event1  - gpio-keys: device is a keyboard
[    10.731] (**) SIGMACHIP USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    10.731] (II) Using input driver 'libinput' for 'SIGMACHIP USB Keyboard'
[    10.731] (II) systemd-logind: returning pre-existing fd for /dev/input/event4 13:68
[    10.731] (**) SIGMACHIP USB Keyboard: always reports core events
[    10.731] (**) Option "Device" "/dev/input/event4"
[    10.731] (**) Option "_source" "_driver/libinput"
[    10.731] (II) libinput: SIGMACHIP USB Keyboard: is a virtual subdevice
[    10.731] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2/1-2.4/1-2.4:1.1/0003:1C4F:0026.0003/input/input4/event4"
[    10.731] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard" (type: KEYBOARD, id 10)
[    10.731] (**) Option "xkb_model" "pc105"
[    10.731] (**) Option "xkb_layout" "us"
[    14.326] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): connected
[    14.326] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): External TMDS
[    14.646] (II) NVIDIA(0): Setting mode "NULL"
[    14.739] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @720x400 +0+0 {ViewPortIn=720x400, ViewPortOut=720x400+0+0}"
[    15.242] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): connected
[    15.242] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): External TMDS
[    16.046] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): connected
[    16.046] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): External TMDS
[    46.396] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): connected
[    46.396] (--) NVIDIA(GPU-0): DELL 2007FP (DFP-0): External TMDS

did you try with different monitors? does the issue occur?
you appear to be discussing nano board rather than tx1 board, as it seems to me

I have to wonder the same thing as what @Andrey1984 asks. Here is why…

If you copy and paste the EDID data into this URL you will see the modes the monitor advertises in the “standard display modes”. Then compare to this in the log:

Virtual screen size configured to be 800 x 480

The monitor does not work because the resolution defaulted to something the monitor doesn’t work with. The monitor itself seems to have very few modes, so I am thinking it is somewhat of a specialty monitor and not a consumer desktop monitor, or perhaps is very old and more common modes from today did not exist when it was manufactured.

Unlike a desktop PC the embedded driver only works with a preexisting table (pool) of video modes, and you cannot force the driver to a mode not in its mode pool. The final mode pool is the list of possible modes (the driver mode pool) intersecting what the monitor is capable of (the EDID could be considered a mode pool plus some other data). A different monitor capable of other modes might show the system works, although it would also show this current monitor is not able to be used on this hardware.

Today I tried with a BenQ FP73G S model. Same result:

jetson@jetson-desktop:~$ sudo cat /sys/kernel/debug/tegradc.0/edid
[sudo] password for jetson:
 00 ff ff ff ff ff ff 00 09 d1 09 77 67 1c 00 00
 0b 11 01 03 80 21 1b 78 ea ae a5 a6 54 4c 99 26
 14 50 54 bd ef 80 71 4f 81 90 81 80 81 8c 45 4f
 61 40 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70
 13 00 52 0e 11 00 00 1e d5 09 80 a0 20 5e 63 10
 10 60 52 08 52 0e 11 00 00 1a 00 00 00 fd 00 38
 4c 1e 52 0e 00 0a 20 20 20 20 20 20 00 00 00 fc
 00 42 65 6e 51 20 46 50 37 33 47 53 0a 0a 00 6b
jetson@jetson-desktop:~$ cat /var/log/Xorg.0.log
[    11.056] (--) Log file renamed from "/var/log/Xorg.pid-5302.log" to "/var/lo                                                                             g/Xorg.0.log"
[    11.060]
X.Org X Server 1.19.6
Release Date: 2017-12-20
[    11.061] X Protocol Version 11, Revision 0
[    11.061] Build Operating System: Linux 4.4.0-138-generic aarch64 Ubuntu
[    11.061] Current Operating System: Linux jetson-desktop 4.9.140-tegra #1 SMP                                                                              PREEMPT Wed Mar 13 00:32:22 PDT 2019 aarch64
[    11.061] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section                                                                             =512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=                                                                             0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_                                                                             uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_sc                                                                             heme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000 tegra_f                                                                             bmem=0x140000@0x92cb6000 is_hdmi_initialised=1  root=/dev/mmcblk0p1 rw rootwait                                                                              console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0    root=/dev/mmcbl                                                                             k0p1 rw rootwait console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 r                                                                             ootfstype=ext4 root=/dev/mmcblk0p1 rw rootwait
[    11.061] Build Date: 25 October 2018  04:10:37PM
[    11.061] xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see h                                                                             ttp://www.ubuntu.com/support)
[    11.061] Current version of pixman: 0.34.0
[    11.061]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    11.061] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    11.061] (==) Log file: "/var/log/Xorg.0.log", Time: Sun May 12 12:08:44 201                                                                             9
[    11.066] (==) Using config file: "/etc/X11/xorg.conf"
[    11.066] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    11.069] (==) No Layout section.  Using the first Screen section.
[    11.069] (**) |-->Screen "Default Screen" (0)
[    11.069] (**) |   |-->Monitor "<default monitor>"
[    11.070] (==) No device specified for screen "Default Screen".
        Using the first device section listed.
[    11.070] (**) |   |-->Device "Tegra0"
[    11.070] (==) No monitor specified for screen "Default Screen".
        Using a default monitor configuration.
[    11.070] (==) Automatically adding devices
[    11.070] (==) Automatically enabling devices
[    11.070] (==) Automatically adding GPU devices
[    11.070] (==) Automatically binding GPU devices
[    11.070] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    11.080] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    11.080]    Entry deleted from font path.
[    11.080] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    11.080]    Entry deleted from font path.
[    11.081] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    11.081]    Entry deleted from font path.
[    11.086] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    11.086]    Entry deleted from font path.
[    11.086] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    11.086]    Entry deleted from font path.
[    11.086] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/Type1,
        built-ins
[    11.086] (==) ModulePath set to "/usr/lib/xorg/modules"
[    11.086] (II) The server relies on udev to provide the list of input devices                                                                             .
        If no devices become available, reconfigure udev or disable AutoAddDevic                                                                             es.
[    11.086] (II) Loader magic: 0x5590f44010
[    11.086] (II) Module ABI versions:
[    11.086]    X.Org ANSI C Emulation: 0.4
[    11.086]    X.Org Video Driver: 23.0
[    11.086]    X.Org XInput driver : 24.1
[    11.086]    X.Org Server Extension : 10.0
[    11.087] (++) using VT number 1

[    11.092] (II) systemd-logind: took control of session /org/freedesktop/login                                                                             1/session/_31
[    11.093] (II) no primary bus or device found
[    11.093] (WW) "dri" will not be loaded unless you've specified it to be load                                                                             ed elsewhere.
[    11.094] (II) "glx" will be loaded by default.
[    11.094] (II) LoadModule: "extmod"
[    11.094] (II) Module "extmod" already built-in
[    11.094] (II) LoadModule: "glx"
[    11.098] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    11.133] (II) Module glx: vendor="X.Org Foundation"
[    11.133]    compiled for 1.19.6, module version = 1.0.0
[    11.133]    ABI class: X.Org Server Extension, version 10.0
[    11.133] (II) LoadModule: "nvidia"
[    11.133] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[    11.172] (II) Module nvidia: vendor="NVIDIA Corporation"
[    11.172]    compiled for 4.0.2, module version = 1.0.0
[    11.172]    Module class: X.Org Video Driver
[    11.181] (II) NVIDIA dlloader X Driver  32.1.0  Release Build  (integ_stage_                                                                             rel)  (buildbrain@mobile-u64-3531)  Wed Mar 13 00:27:48 PDT 2019
[    11.181] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    11.181] (WW) Falling back to old probe method for NVIDIA
[    11.181] (II) Loading sub module "fb"
[    11.181] (II) LoadModule: "fb"
[    11.181] (II) Loading /usr/lib/xorg/modules/libfb.so
[    11.184] (II) Module fb: vendor="X.Org Foundation"
[    11.184]    compiled for 1.19.6, module version = 1.0.0
[    11.184]    ABI class: X.Org ANSI C Emulation, version 0.4
[    11.184] (II) Loading sub module "wfb"
[    11.184] (II) LoadModule: "wfb"
[    11.184] (II) Loading /usr/lib/xorg/modules/libwfb.so
[    11.187] (II) Module wfb: vendor="X.Org Foundation"
[    11.187]    compiled for 1.19.6, module version = 1.0.0
[    11.187]    ABI class: X.Org ANSI C Emulation, version 0.4
[    11.187] (II) Loading sub module "ramdac"
[    11.188] (II) LoadModule: "ramdac"
[    11.188] (II) Module "ramdac" already built-in
[    11.189] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    11.189] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[    11.189] (==) NVIDIA(0): RGB weight 888
[    11.189] (==) NVIDIA(0): Default visual is TrueColor
[    11.189] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    11.189] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    11.189] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration" "true"
[    11.189] (**) NVIDIA(0): Enabling 2D acceleration
[    11.189] (II) Loading sub module "glxserver_nvidia"
[    11.189] (II) LoadModule: "glxserver_nvidia"
[    11.190] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.s                                                                             o
[    11.436] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[    11.436]    compiled for 4.0.2, module version = 1.0.0
[    11.436]    Module class: X.Org Server Extension
[    11.436] (II) NVIDIA GLX Module  32.1.0  Release Build  (integ_stage_rel)  (                                                                             buildbrain@mobile-u64-3531)  Wed Mar 13 00:26:03 PDT 2019
[    11.471] (--) NVIDIA(0): Valid display device(s) on GPU-0 at SoC
[    11.471] (--) NVIDIA(0):     DFP-0
[    11.471] (--) NVIDIA(0):     DFP-1
[    11.471] (II) NVIDIA(0): NVIDIA GPU NVIDIA Tegra X1 (nvgpu) (GM20B) at SoC (                                                                             GPU-0)
[    11.471] (--) NVIDIA(0): Memory: 4058432 kBytes
[    11.471] (--) NVIDIA(0): VideoBIOS:
[    11.471] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): connected
[    11.471] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): External TMDS
[    11.472] (==) NVIDIA(0):
[    11.472] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-a                                                                             uto-select"
[    11.472] (==) NVIDIA(0):     will be used as the requested mode.
[    11.472] (==) NVIDIA(0):
[    11.472] (II) NVIDIA(0): Validated MetaModes:
[    11.472] (II) NVIDIA(0):     "DFP-0:nvidia-auto-select"
[    11.472] (**) NVIDIA(0): Virtual screen size configured to be 800 x 480
[    11.473] (--) NVIDIA(0): DPI set to (55, 37); computed from "UseEdidDpi" X c                                                                             onfig
[    11.473] (--) NVIDIA(0):     option
[    11.473] (--) Depth 24 pixmap format is 32 bpp
[    11.473] (II) NVIDIA: Reserving 6144.00 MB of virtual memory for indirect me                                                                             mory
[    11.473] (II) NVIDIA:     access.
[    11.475] (EE) NVIDIA(0): Failed to allocate NVIDIA Error Handler
[    11.475] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; t                                                                             he daemon
[    11.475] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[    11.475] (II) NVIDIA(0):     configuration option may not be set correctly.                                                                               When the
[    11.475] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X dr                                                                             iver will
[    11.475] (II) NVIDIA(0):     try to use it to receive ACPI event notificatio                                                                             ns.  For
[    11.475] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[    11.475] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Ap                                                                             pendix B: X
[    11.475] (II) NVIDIA(0):     Config Options in the README.
[    11.531] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select"
[    11.625] (==) NVIDIA(0): Disabling shared memory pixmaps
[    11.625] (==) NVIDIA(0): Backing store enabled
[    11.625] (==) NVIDIA(0): Silken mouse enabled
[    11.630] (==) NVIDIA(0): DPMS enabled
[    11.630] (II) Loading sub module "dri2"
[    11.630] (II) LoadModule: "dri2"
[    11.630] (II) Module "dri2" already built-in
[    11.630] (II) NVIDIA(0): [DRI2] Setup complete
[    11.630] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[    11.647] (--) RandR disabled
[    11.655] (II) SELinux: Disabled on system
[    11.656] (II) Initializing extension GLX
[    11.656] (II) Indirect GLX disabled.
[    11.810] (II) config/udev: Adding input device tegra-hda HDMI/DP,pcm=3 (/dev                                                                             /input/event0)
[    11.810] (II) No input driver specified, ignoring this device.
[    11.810] (II) This device may have been added with another device file.
[    11.812] (II) config/udev: Adding input device SIGMACHIP USB Keyboard (/dev/                                                                             input/event2)
[    11.813] (**) SIGMACHIP USB Keyboard: Applying InputClass "libinput keyboard                                                                              catchall"
[    11.813] (II) LoadModule: "libinput"
[    11.816] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    11.830] (II) Module libinput: vendor="X.Org Foundation"
[    11.830]    compiled for 1.19.6, module version = 0.27.1
[    11.830]    Module class: X.Org XInput Driver
[    11.830]    ABI class: X.Org XInput driver, version 24.1
[    11.830] (II) Using input driver 'libinput' for 'SIGMACHIP USB Keyboard'
[    11.832] (II) systemd-logind: got fd for /dev/input/event2 13:66 fd 33 pause                                                                             d 0
[    11.832] (**) SIGMACHIP USB Keyboard: always reports core events
[    11.832] (**) Option "Device" "/dev/input/event2"
[    11.832] (**) Option "_source" "server/udev"
[    11.834] (II) event2  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboa                                                                             rd
[    11.834] (II) event2  - SIGMACHIP USB Keyboard: device is a keyboard
[    11.834] (II) event2  - SIGMACHIP USB Keyboard: device removed
[    11.834] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2                                                                             /1-2.3/1-2.3:1.0/0003:1C4F:0026.0001/input/input2/event2"
[    11.834] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard"                                                                              (type: KEYBOARD, id 6)
[    11.834] (**) Option "xkb_model" "pc105"
[    11.834] (**) Option "xkb_layout" "us"
[    11.836] (II) event2  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboa                                                                             rd
[    11.836] (II) event2  - SIGMACHIP USB Keyboard: device is a keyboard
[    11.838] (II) config/udev: Adding input device SIGMACHIP USB Keyboard (/dev/                                                                             input/event3)
[    11.838] (**) SIGMACHIP USB Keyboard: Applying InputClass "libinput keyboard                                                                              catchall"
[    11.838] (II) Using input driver 'libinput' for 'SIGMACHIP USB Keyboard'
[    11.840] (II) systemd-logind: got fd for /dev/input/event3 13:67 fd 36 pause                                                                             d 0
[    11.840] (**) SIGMACHIP USB Keyboard: always reports core events
[    11.840] (**) Option "Device" "/dev/input/event3"
[    11.840] (**) Option "_source" "server/udev"
[    11.841] (II) event3  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboa                                                                             rd
[    11.841] (II) event3  - SIGMACHIP USB Keyboard: device is a keyboard
[    11.842] (II) event3  - SIGMACHIP USB Keyboard: device removed
[    11.842] (II) libinput: SIGMACHIP USB Keyboard: needs a virtual subdevice
[    11.842] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2                                                                             /1-2.3/1-2.3:1.1/0003:1C4F:0026.0002/input/input3/event3"
[    11.842] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard"                                                                              (type: MOUSE, id 7)
[    11.842] (**) Option "AccelerationScheme" "none"
[    11.842] (**) SIGMACHIP USB Keyboard: (accel) selected scheme none/0
[    11.842] (**) SIGMACHIP USB Keyboard: (accel) acceleration factor: 2.000
[    11.842] (**) SIGMACHIP USB Keyboard: (accel) acceleration threshold: 4
[    11.843] (II) event3  - SIGMACHIP USB Keyboard: is tagged by udev as: Keyboa                                                                             rd
[    11.843] (II) event3  - SIGMACHIP USB Keyboard: device is a keyboard
[    11.844] (II) config/udev: Adding input device gpio-keys (/dev/input/event1)
[    11.844] (**) gpio-keys: Applying InputClass "libinput keyboard catchall"
[    11.845] (II) Using input driver 'libinput' for 'gpio-keys'
[    11.847] (II) systemd-logind: got fd for /dev/input/event1 13:65 fd 37 pause                                                                             d 0
[    11.847] (**) gpio-keys: always reports core events
[    11.847] (**) Option "Device" "/dev/input/event1"
[    11.847] (**) Option "_source" "server/udev"
[    11.848] (II) event1  - gpio-keys: is tagged by udev as: Keyboard
[    11.848] (II) event1  - gpio-keys: device is a keyboard
[    11.848] (II) event1  - gpio-keys: device removed
[    11.848] (**) Option "config_info" "udev:/sys/devices/gpio-keys/input/input1                                                                             /event1"
[    11.849] (II) XINPUT: Adding extended input device "gpio-keys" (type: KEYBOA                                                                             RD, id 8)
[    11.849] (**) Option "xkb_model" "pc105"
[    11.849] (**) Option "xkb_layout" "us"
[    11.850] (II) event1  - gpio-keys: is tagged by udev as: Keyboard
[    11.850] (II) event1  - gpio-keys: device is a keyboard
[    11.869] (**) SIGMACHIP USB Keyboard: Applying InputClass "libinput keyboard                                                                              catchall"
[    11.869] (II) Using input driver 'libinput' for 'SIGMACHIP USB Keyboard'
[    11.869] (II) systemd-logind: returning pre-existing fd for /dev/input/event                                                                             3 13:67
[    11.870] (**) SIGMACHIP USB Keyboard: always reports core events
[    11.870] (**) Option "Device" "/dev/input/event3"
[    11.870] (**) Option "_source" "_driver/libinput"
[    11.870] (II) libinput: SIGMACHIP USB Keyboard: is a virtual subdevice
[    11.870] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2                                                                             /1-2.3/1-2.3:1.1/0003:1C4F:0026.0002/input/input3/event3"
[    11.870] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard"                                                                              (type: KEYBOARD, id 9)
[    11.870] (**) Option "xkb_model" "pc105"
[    11.870] (**) Option "xkb_layout" "us"
[    16.184] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): connected
[    16.184] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): External TMDS
[    16.541] (II) NVIDIA(0): Setting mode "NULL"
[    16.642] (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @720x400 +                                                                             0+0 {ViewPortIn=720x400, ViewPortOut=720x400+0+0}"
[    16.985] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): connected
[    16.985] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): External TMDS
[    18.085] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): connected
[    18.085] (--) NVIDIA(GPU-0): BenQ FP73GS (DFP-0): External TMDS
[    92.207] (II) config/udev: Adding input device PixArt USB Optical Mouse (/de                                                                             v/input/mouse0)
[    92.208] (II) No input driver specified, ignoring this device.
[    92.208] (II) This device may have been added with another device file.
[    92.262] (II) config/udev: Adding input device PixArt USB Optical Mouse (/de                                                                             v/input/event4)
[    92.262] (**) PixArt USB Optical Mouse: Applying InputClass "libinput pointe                                                                             r catchall"
[    92.262] (II) Using input driver 'libinput' for 'PixArt USB Optical Mouse'
[    92.265] (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 54 pause                                                                             d 0
[    92.266] (**) PixArt USB Optical Mouse: always reports core events
[    92.266] (**) Option "Device" "/dev/input/event4"
[    92.266] (**) Option "_source" "server/udev"
[    92.267] (II) event4  - PixArt USB Optical Mouse: is tagged by udev as: Mous                                                                             e
[    92.267] (II) event4  - PixArt USB Optical Mouse: device set to 1000 DPI
[    92.267] (II) event4  - PixArt USB Optical Mouse: device is a pointer
[    92.267] (II) event4  - PixArt USB Optical Mouse: device removed
[    92.267] (**) Option "config_info" "udev:/sys/devices/70090000.xusb/usb1/1-2                                                                             /1-2.1/1-2.1:1.0/0003:093A:2510.0003/input/input4/event4"
[    92.267] (II) XINPUT: Adding extended input device "PixArt USB Optical Mouse                                                                             " (type: MOUSE, id 10)
[    92.269] (**) Option "AccelerationScheme" "none"
[    92.270] (**) PixArt USB Optical Mouse: (accel) selected scheme none/0
[    92.270] (**) PixArt USB Optical Mouse: (accel) acceleration factor: 2.000
[    92.270] (**) PixArt USB Optical Mouse: (accel) acceleration threshold: 4
[    92.271] (II) event4  - PixArt USB Optical Mouse: is tagged by udev as: Mous                                                                             e
[    92.271] (II) event4  - PixArt USB Optical Mouse: device set to 1000 DPI
[    92.271] (II) event4  - PixArt USB Optical Mouse: device is a pointer
jetson@jetson-desktop:~$

@mayday: It is jetson nano device, isn’t it? Did you try re-flashing the device? Does the issue persist after the re-flash? Is the issue the same as was stated in the very beginning of the thread and expressed in remote X access resolution or now you are working out another issue concerned in resolution modes of a connected directly monitor?
Could you restate the issue you are dealing with and how to reproduce it?

It is jetson nano device, isn’t it?
///////////
yes
///////////

Did you try re-flashing the device? Does the issue persist after the re-flash?
////////////
No. Actually I did nothing but configurations for vino server and xorg.conf, from a fresh ubuntu 18.04lts installation.
////////////

Is the issue the same as was stated in the very beginning of the thread and expressed in remote X access resolution or now you are working out another issue concerned in resolution modes of a connected directly monitor?
////////////
Yes. same issue… I just setup this vino server. When I remote connect with it headlessly, it is in 800x480 resolution which really I was expecting. But when I connect a HDMI monitor with it and power it up. then it is in 720x400 resolution, which was not what I was expecting – I was expecting a resolution of 800x480 or a smaller 640x480 resolution.
////////////

Could you restate the issue you are dealing with and how to reproduce it?
////////////
it is just same as in my OP.
///////////

I understand that the default nano installation has no issues with direct display connection at all.
The issue with the direct display connection seems to arise when you attempt customizing configuration files. I wouldn’t use vino, as it seems kind of slow to me. Moreover, if you will not be using vino, but some alternative of it, and neither you will be customizing configuration files the issue probably will not exist, in my opinion

I have a nano [ in jetbot mode] and I do not have any monitor connected to it [ though I could test with vga displays]
However what I can confirm is that it works with the flowing approach:
On Jetbot:

sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession
sudo apt install xfce4 -y

On another device:

sudo apt install x2goclient

No monitor, no issues, decent speed.
When I connect with vga monitor it will still work, in my opinion, without any issues and reduce of the resolution.

External Media
SOLVED

yes. the issue arised when I tried to modify xorg.conf file. In particular, adding of:

SubSection "Display"
		Depth 24
		Virtual 800 480
		Modes "640x480"
	EndSubSection

I tried this but get an error. Unable to execute startkde on Windows client.

@vkapoor
what are the exact steps to reproduce the error?