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.