Skip to content

Instantly share code, notes, and snippets.

@Nodraak
Created January 22, 2021 12:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Nodraak/80544e6f8ab047817768b5eb449069d0 to your computer and use it in GitHub Desktop.
Save Nodraak/80544e6f8ab047817768b5eb449069d0 to your computer and use it in GitHub Desktop.
Nvidia TX2 Ubuntu upgrade from 16.04 to 18.04

Nvidia TX2 Ubuntu upgrade from 16.04 to 18.04

0. Symptoms

Error x11 display manager lightdm vs gdm3

1. Lightdm fails to start

When running manually sudo /usr/sbin/lightdm -d (debug flag):

[+0.08s] DEBUG: Launching process 2956: /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[+0.08s] DEBUG: XServer 0: Waiting for ready signal from X server :0
[+0.08s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
[+0.08s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+0.09s] DEBUG: Process 2956 exited with return value 127

2. X fails to start

When running sudo /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch manually:

/usr/lib/xorg/Xorg: symbol lookup error: /usr/lib/xorg/Xorg: undefined symbol: drmGetEntry

3. Undefined symbol

ls -l /usr/lib/aarch64-linux-gnu/libdrm.*
lrwxrwxrwx 1 root root    11 May 11  2020 /usr/lib/aarch64-linux-gnu/libdrm.so -> libdrm.so.2
lrwxrwxrwx 1 root root    14 Jan 22 12:40 /usr/lib/aarch64-linux-gnu/libdrm.so.2 -> libdrm_nvdc.so
-rw-r--r-- 1 root root 63880 May 11  2020 /usr/lib/aarch64-linux-gnu/libdrm.so.2.4.0

grep drmGetEntry /usr/lib/aarch64-linux-gnu/libdrm.*
Binary file /usr/lib/aarch64-linux-gnu/libdrm.so.2.4.0 matches

Conclusion: X looks into libdrm.so or libdrm.so.2 but the symbol is in libdrm.so.2.4.0.

4. Solution

Fix:

sudo rm /usr/lib/aarch64-linux-gnu/libdrm.so.2 ; sudo cp /usr/lib/aarch64-linux-gnu/libdrm.so.2.4.0 /usr/lib/aarch64-linux-gnu/libdrm.so.2

Restart:

sudo service lightdm restart OR sudo reboot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment