Sudo lshw -c display comes up empty on new jetson nano

According to a few sources online, the GPU is supposed to show up when you ask sudo lshw -c display, e.g. here https://www.howtogeek.com/508993/how-to-check-which-gpu-is-installed-on-linux/

I have the 4GB RAM jetson nano, i installed the correct OS image, and ran basic apt upgrades. This is in fact the second time I’ve had this problem-- I re-flashed starting over this morning.

Why would my jetson nano be unaware of its own gpu?

Does display work, or is it just a question of lshw?

FYI, I don’t know if this matters for this case or not, but unlike most computers a Jetson wires the GPU directly to the memory controller. Pretty much every other computer will use PCI to connect. There are a number of tools (such as nvidia-smi) for dealing with (including detecting) GPUs which rely on PCI functions. One possibility is that “lshw -c display” depends on PCI functions (I don’t know for sure, but that is my guess).

Note: If you have a display, and in that display when logged in to the GUI you verify it is display “:0” (via “echo $DISPLAY”…it might be “:1”), then run this to see if it shows NVIDIA:
grep -i 'nvidia'
(if it shows something like “nouveau”, then the wrong GPU driver is present, but showing NVIDIA loaded means the GPU is in fact present and the drivers know it)

I also see no output about display with R32.5.1 running on Xavier NX. I think @linuxdev is correct that only PCI gpu devices could be displayed from lshw.
If you want to check on Jetson which GPU is available, you may just issue:

# This tells GPU is gv11b for NX
sudo cat /sys/devices/gpu.0/modalias
of:Ngv11bT<NULL>Cnvidia,gv11b

You may also get further details about the GPU from application side with deviceQuery in cuda samples. See directory /usr/local/cuda/samples/1_Utilities/deviceQuery.

ah! cat /sys/devices/gpu.0/modalias returned of:NgpuT<NULL>Cnvidia,tegra210-gm20bCnvidia,gm20b. that’s encouraging.

a Jetson wires the GPU directly to the memory controller – didn’t know this— that explains why lshw wasn’t showing it. thanks!

i’m having trouble with nvidia-docker, I was hypothesizing that something was wrong with the gpu or config but i’m still looking elsewhere for the problem, Nvidia-docker not working in jetson nano

echo $DISPLAY is empty btw.

Sorry, I do not have experience with docker. However, if you run your test without docker, and the GPU is not listed, then I would not expect this to work within docker. The same thing still applies though: The GPU is not connected through PCI the way a desktop PC is, and thus if the method of GPU query requires PCI (such as with nvidia-smi), then non-PCI hardware cannot be found by that method.

Note: The “DISPLAY” is required for anything accessing through the X server. This does not necessarily mean only graphical applications…there are GPU applications which use the driver which is loaded into the X server. People often mistake X for a GUI, but it is not…X is an interface to a buffer which is compatible with video display, and mostly this is used with video, but X is not limited to the GUI. If your application does not use the GPU driver loaded into the X server, then you won’t need a “DISPLAY” variable to be set.