L4T 21R4 No Xserver, No nvidia driver, No Display:0


I recently flashed my 1 year old Tegra TK1 with L4T 21R4.
Everything went ok, and for a couple of days I’ve been using it via SSH only.
I did setup a VNC (tightvnc) but it won’t support xlib, and since I want to use it for ROS/OpenCV/OpenNI development, I tried connecting it to my monitor via HDMI, but have run into numerous issues.

The first and foremost, is that lightdm won’t start:

[+0.13s] DEBUG: Process 2096 terminated with signal 6
[+0.13s] DEBUG: DisplayServer x-0: X server stopped
[+0.13s] DEBUG: Releasing VT 7
[+0.13s] DEBUG: DisplayServer x-0: Removing X server authority /var/run/lightdm/root/:0
[+0.13s] DEBUG: Seat: Display server stopped
[+0.13s] DEBUG: Seat: Stopping; greeter display server failed to start

There exists no display at all:

ubuntu@tegra-ubuntu:~$ xrandr --query
Can't open display

When I try to use the HDMI (PC monitor) I am stuck at a screen where I input the username and password, and it keeps telling me they are incorrect (no GUI/X11, just the framebuffer).

Furthermore, there appears to be no video driver loaded:

ubuntu@tegra-ubuntu:~$ lsmod
Module                  Size  Used by
dm_crypt               13259  0 
dm_mod                 73887  1 dm_crypt
bnep                   10469  2 
rfcomm                 38359  0 
bluetooth             307068  10 bnep,rfcomm
rfkill                 10365  2 bluetooth
nvhost_vi               3064  0

I did try to install the dkms nvidia driver using apt-get, but it failed, complaining about some chroot environment parameter.
I also tried nouveau, but it also didn’t work.

I’ve tried the checksums for the drivers:

sha1sum -c /etc/nv_tegra_release

and they all passed.

CUDA samples (device query) produce errors too:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 63
-> OS call failed or operation not supported on this OS
Result = FAIL
./deviceQueryDrv Starting...

CUDA Device Query (Driver API) statically linked version 
cuInit(0) returned 304
Result = FAIL

What am I missing, what is broken?
Don’t I need the nvidia driver loaded?
Trying to compile the official NVIDIA linux ARM driver told me that my GPU is not supported.
I would really like to avoid re-flasing, as I have done quite a bit of work already.

Many thanks!

It sounds like things should work, but there are things that can go wrong (e.g., files can be correct but permissions cause failure). So the first basic question, are you sure the cable being used works? And is there any kind of adapter used on the cable, e.g., DVI-to-HDMI?

Was L4T downloaded and installed as an individual package, or was JetPack used? Was everything done on the flash host as root or sudo?

Have you tried re-flashing?

Hi linuxdev,

  1. Yes the HDMI Works, I actually see the boot process and there is no adaptor
  2. I donwloaded the Jetpack, but I extracted and applied the binaries using Debian, as Jetpack refused to work unless it was an Ubuntu system. The flashing worked without any issues
  3. I haven't tried re-flashing, I would like to avoid doing so, because it would mean I have to redo 3 days worth of work.
  4. Everything was done using sudo

I have another question: Shouldn’t there be an nvidia driver loaded?
I will most likely end up re-flashing today, but I want to make sure I won’t end up with the same problem again.

There is how to updating system without Jetpack on my site.
It worked on my Gentoo host PC, but it is not tested on Ubuntu host PC.
I think it works on most of Linux host PC with x86 CPU.
And some instructions are not tested with latest Linux For Tegra.

VirtualGL and TurboVNC worked in my Jetson TK1.

CUDA samples are working in my Jetson TK1, but it seems lsmod doesn’t list nvidia drivers for CUDA or OpenGL.
I don’t know how CUDA and OpenGL drivers are working, but I think they are not kernel drivers and lsmod can not be used to check whether nvidia drivers are correctly installed.

Thanks for all the help everyone!

I ended up re-flashing, as I probably broke the system by trying to install nvidia-346 (which kept failing) as dkms module, and then by trying to install nouveau.

The newly flashed system works fine atm (X11/Gnome, CUDA) and I’m now installing opencv, openni2 and ros.

Regarding the guide, I downloaded JetPack on an Ubuntu VM where I extracted the files, and then copied them to my Debian host, where I followed this guide here: https://cyclicredundancy.wordpress.com/2014/05/10/flashing-the-rootfs-on-a-nvidia-jetson-tk1/

FYI, the “apply_binaries.sh” script is where proprietary hardware-accelerated libraries are installed. The command “sha1sum -c /etc/nv_tegra_release” will show any errors in that part of the installation. The one nVidia kernel module which is loaded by default from this R21.4 is nvhost_vi. Other drivers, such as nvidia-346, are usually x86 and will interfere with the ARMv7 Jetson architecture.