JETSON TK1 GUI doesn't start properly

hi,

I installed nvidia drivers to run GUI. But I can’t login. Entering right password gets me flashing display and I’m back to login again.

When installing i got this msg:

mw:cannot stat ‘/etc/init/lightdm.override’’:no such file or directory
Error: desktop UI may not display!

Any ideas how to fix this?

Jetson already comes with correct files. There are some issues with documentation though which might be confusing. What was the exact installation procedure you used?

Also, if you can log in via ssh or serial console, what is the output of:

sha1sum -c /etc/nv_tegra_release

I used this installation procedure.


<ol>ls
cd NVIDIA-INSTALLER
sudo ./installer.sh
</ol>

And output of

is list of items all marked as OK.

Versions after the one you have don’t actually have the NVIDIA-INSTALLER subdirectory…they do have something which applies this on the host sample rootfs. In this case it seems libglx.so won’t be the issue. I’m trying to remember the solution to older issues, it reminds me of when people got around this via adding a new user account with admin access like ubuntu, and then switching to the new account.

But just to debug, can your user “ubuntu” (without sudo) succeed at:

cd /etc/init

?

It looks like the system thinks lightdm was disabled (or needs to check for disable). Try this, create your own version via:

sudo echo "manual" > /etc/init/lightdm.override

Boot up again, expect to go to text prompt, and type:

sudo start lightdm

If this works, remove the file and try again:

sudo rm /etc/init/lightdm.override

Yes,I can.

Overriding lightdm didn’t help.
When I try to start lightdm it returns as lightdm is already running.
Problem stays as previously posted.

I wish I knew more about apt. It sounds like only lightdm is failed and a package reinstall might solve the problem (before you reinstall lightdm make sure your libglx.so is backed up).

You might also be able to find the issue if you post the contents of the failed login from file /var/log/Xorg.0.log.

Honestly though, it is probably easier (though time consuming) to do a full upgrade. R19.2 is what you have now, R19.3 solves most of these issues. If you need CUDA 6.5 you must upgrade to R21.1 anyway (R19.x is CUDA 6.0). And whatever you do, back up that libglx.so first. So the question is whether you need this particular install fixed, or if upgrade would be ok…and if upgrade, which version?

Can you please walk me through backup creation?
I’m a new user and I’m clueless what to do.

To which version would you advice to upgrade?

Full backup is a big topic. Backing up libglx.so is just a matter of having a copy of the file where you can copy it back without a GUI. The location where the file is normally at:

/usr/lib/xorg/modules/extensions/libglx.so

If your system were working, you would simply copy FROM here while it works (or placing a known working version here after it fails).

The original version comes in an archive file containing a group of files. I do not have a copy of the older R19.2 “NVIDIA-INSTALLER” subdirectory, but I think the R19.2 version was here (as part of an archive file).

The downloadable L4T R19.3 is here:
https://developer.nvidia.com/linux-tegra-rel-19
…and R21.1 is here:
https://developer.nvidia.com/linux-tegra-rel-21

As for which libglx.so to use, it must be the one the graphics/X11 was compiled against. Thus using the R19.3 on R19.2 will fail (it is looking like this might be the reason of failure for this particular case). In all cases there is an archive file with the version you want, but on R19.2 it is probably in one of the NVIDIA-INSTALLER files and I no longer have this, nor do I see a link to this (having it on your Jetson means you have this…you might describe what files are there and it is possible you could extract libglx.so from this). In the case of R19.3 and R21.1 the L4T downloads contain subdirectory “nv_tegra”, and within this is a file “nvidia_drivers.tbz2”…this file allows complete or partial extraction of all nVidia-specific support files. I’m guessing the NVIDIA-INSTALLER directory has this exact setup or a variant on the setup.

As an example, if you downloaded L4T R19.3 or R21.1 and cd into the nv_tegra subdirectory where nvidia_drivers.tbz2 sits, you can view the files stored via:

bunzip2 < nvidia_drivers.tbz2 | tar --list

If you want to extract the files to browse make sure you are in a temp directory (e.g., create one named “tmp” and cd to it first) and run:

bunzip2 < nvidia_drivers.tbz2 | tar xv

…then just cd in to lib/xorg/modules/extensions/ and libglx.so will be there. Incidentally, the etc subdirectory contains the nv_tegra_release with lists of checksums…this is why full extraction will always result in “OK”…but unpacking R19.3 into R19.2 will fail.

As to the version you want, as long as you are upgrading FULL flash, probably R21.1. Keep in mind though that R19.3 is far more desirable than R19.2, and that the R19.x versions are used with CUDA 6.0. R21.1 is the first version where CUDA 6.5 is available. If CUDA matters to you, this is how you pick either R19.3 or R21.1.

I managed to download R19.3.0 and unzipped it. Problem now is very simple, I’m unable to copy new libglx.so over existing libglx.so

When i try to copy I get

cp: cannot stat ‘Linux_for_Tegra/nv_tegra/nvidia_drivers/usr/lib/xorg/modules/extensions/libglx.so’ : No such file or directory.

What could be the problem?
Copying works - {source file} to {destination}, right?

Thank you for all the help!

Thank you for solutions. Now only new problem arises. After login only desktop background remains on screen. No icons, no task bars etc… Maybe i should install latest update 21.1 instead of 19.3?

Some of the answers are probably just a matter of knowing exactly what commands are used (exact info, such as sudo and local versus remote access), but this is hard to do without a log of all things done. Upgrade does remove a lot of those questions.

FYI, using R19.3 files on R19.2 won’t work, you’d have to completely upgrade from R19.2 to R19.3. Going straight to R21.1 is not a bad idea, and it is mandatory if you want to use CUDA version 6.5. If for some reason you didn’t like R21.1 you could always re-load R19.3.

FYI, I’m running 21.1 and had been working with the TK1 entirely through its serial port up until this morning.

I couldn’t get past the Ubuntu Desktop login without a black screen, X restarting and returning to the login dialog.

I tracked it down to my .profile’s “provide ssh password on first login” script.

Was too busy to fix both so I commented out the ssh scripts and, voila, I could login and see a desktop at 3840x2160 @ 30Hz.

I’m curious if you had any kind of customization which created or modified the .profile? If this is created automatically or by default it could be corrected in the install.

The .profile was only edited by me and otherwise looks boilerplate. If I figure out what it was I’ll update the thread. :)

I had the same problem and entering sudo restart lightdm fixed the issue

Problem remains…

Have you tried yet to upgrade to R19.3 or R21.1?

If not it would be useful to see some log files for the X server, especially whatever generates while attempting login. Log files are in /var/log/Xorg.0.log. There may be additional info available in other /var/log/ files. From ssh or serial console can you run “tail -f /var/log/Xorg.0.log” while attempting login on GUI and see what shows up?

Sorry,I was too buys. Will try to upgrade to R21.1.

Something weird happened on boot today. If i’m correct then it was file “NVIDIA first time boot script” which failed to load. Maybe my problem is only with this nvidia script that doesn’t load properly?

Is there a way to view startup log? And how to fix this? i’m really hoping to dodge upgrade.

I’d have to see the actual first time boot script message to know for sure, but there has been at least one such message I know of which is harmless.

As for startup and logging, you could just use a serial console…it shows everything, right from the boot loader on. The serial console programs offer to log a session.

Other methods depend on logging configuration. The “dmesg” command has a lot, some of the files in /var/log/ are useful, e.g., boot.log, but some might be empty if not configured. Serial console is by far the most certain way to log everything…the kernel isn’t even loaded when it starts.

Hi I was trying to Install Android As mentioned in the Below Link Mentioned.

Finally board is not Booting. either I am unable to Establish Serial Communications.

Can any one Please Help me how to bring this Board Back.