NVIDIA Tegra Tegra Linux Driver Package
Development Guide
October 20, 2016 | 21.5 Release

 
Package Manifest
 
Kernel
Boot Loader
NV Tegra
Nvgstapps TBZ2
Config TBZ2
NVIDIA Drivers TBZ2
The NVIDIA® Tegra® Linux Driver Package is provided in the following tar file:
Tegra<SOC>_Linux_<release_num>.<version_num>_<release_type>.tbz2
Where:
<release_num> is the branch number of the release, such as R21.
<version num> is the version number of the build, such as 3.0 for the third build.
<release_type> is armel (for softfp ABI) or armhf (for hard-float ABI).
The following table lists the top level directories (denoted by a trailing slash /) and files that are created when you expand the tar file.
Directory or Filename
Description
<platform>.conf
Configuration file(s) for flash.sh specific to the development platform represented by <platform>.
rootfs/
Staging directory for the root filesystem.
rootfs/README.txt
Read Me instructing you to copy the sample file system here.
kernel/
Kernel images and kernel modules.
kernel/dtb/
Kernel Device Tree Binary (DTB) files for the particular SoC.
bootloader/
Boot loader and related components.
bootloader/<board>/
Platform-specific files.
bootloader/<board>/BCT/
Platform-specific Boot Configuraiton Table (BCT) files.
bootloader/<board>/cfg/
Configuration files for specific <board>
nv_tegra/
NVIDIA drivers and sample applications.
nv_tegra/nv_sample_apps/
NVIDIA sample applications.
source_sync.sh
Script to download kernel and U-Boot source.
apply_binaries.sh
Script to apply nv_tegra components.
flash.sh
Script to flash the boot loader and kernel from the package.
zImage_to_uimg.sh
Script to create the vmlinux.uimg with mkimage for use as the kernel image for U-Boot.
Note: The <platform> variable specifies the development system, such as jetson-tk1.
Documentation
Tegra Linux Driver Package (L4T) also includes the following documentation:
Tegra_Linux_Driver_Package_Release_Notes_<ver>.pdf
Tegra_Linux_Driver_Package_Documents_<ver>.tar
Where <ver> is the version of the release, such as R21.3.
Kernel
The kernel directory contains the following directories (denoted by a trailing slash /) and files.
Directory or Filename
Description
dtb/
SoC-specific kernel Device Tree Binary (DTB) files.
dtb/tegra124-*.dtb
DTB files specific to various board types.
dtc
Device-tree-compiler binary.
zImage
Kernel binary image.
LICENSE
GNU General Public License (GPL).
LICENSE.dtc
GNU General Public License (GPL) for the device-tree-compiler binary.
kernel_headers.tbz2
Kernel header files needed for compiling kernel modules. You can download these headers and sources from the nv_tegra git server.
kernel_supplements.tbz2
Loadable kernel modules specific to the included kernel zImage that was built with the defconfig enabled for the device.
Boot Loader
The bootloader directory contains the following directories (denoted by a trailing slash /) and files.
Directory or Filename
Description
ardbeg/
Configuration files for ardbeg, the development board for Tegra K1 32 Bit (T12x) devices.
ardbeg/<platform >_extlinux.conf.emmc
U-Boot config file for booting off the internal EMMC.
ardbeg/<platform>_extlinux.conf.nfs
U-Boot config file for booting off the nfs root.
ardbeg/<platform>_extlinux.conf.sdcard
U-Boot config file for booting off the SD card.
ardbeg/<platform>_extlinux.conf.usb
U-Boot config file for booting off USB flash storage device.
ardbeg/BCT
Platform-specific BCT directory.
ardbeg/BCT/E1780_Hynix_2GB_H5TC4G63AFR_RDA_408Mhz.cfg
Boot Configuration Table (BCT) for Jetson TK1.
ardbeg/BCT/E1780_Hynix_2GB_H5TC4G63AFR_RDA_792Mhz.cfg
BCT for Jetson TK1.
ardbeg/BCT/E1780_Hynix_2GB_H5TC4G63AFR_RDA_924Mhz.cfg
BCT for Jetson TK1.
ardbeg/BCT/E1780_Hynix_4GB_H5TC8G63AMR_PBA_792Mhz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM358_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM358_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM359_Hynix_2GB_H5TC4G63AFR_RDA_102MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM359_Hynix_2GB_H5TC4G63AFR_RDA_732MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM359_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM374_Hynix_2GB_H5TC4G63AFR_RDA_102MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM374_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM374_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM375_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM375_Hynix_4GB_H5TC8G63AMR_PBA_792Mhz.cfg
BCT for Jetson TK1.
ardbeg/BCT/PM377_Hynix_4GB_H5TC4G83MFR_RDA_792MHz.cfg
BCT for Jetson TK1.
ardbeg/cfg/
Platform-specific configuration files.
ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg
Platform-specific configuration file.
ardbeg/fastboot.bin
Fastboot-versioned boot loader binary.
ardbeg/u-boot.bin
U-Boot binary image.
LICENSE
Tegra software license.
LICENSE.mkbootimg_and_mkubootscript
License for the mkbootimg and mkbootscript tools.
LICENSE.mkgpt
License file for the mkgpt tool.
LICENSE.mksparse
License file for the mksparse tool.
LICENSE.u-boot_and_mkimage
License for u-boot and mkimage.
mkbootimg
Tool for img creation.
mkgpt
Tool that encodes both primary and secondary GPT into flashable binary image files.
mkimage
U-Boot tool for vmlinux.uimg creation.
mksparse
Sparse image flashing with the bootloader.
mkubootscript
Tool for flashing U-Boot.
nvflash
NVIDIA flashing tool.
NV Tegra
The nv_tegra directory contains the following directories (denoted by a trailing slash /) and files.
Direcotry or Filename
Description
config.tbz2
Configuration files specific to the sample filesystem.
LICENSE
Tegra software license.
nvidia_drivers.tbz2
NVIDIA driver components.
nv_sample_apps/
NVIDIA sample applications.
nv_sample_apps/LICENSE.gstegl
MIT license for libgstnveglglessink.so included in nvgstapps.tbz2.
nv_sample_apps/LICENSE.gst-openmax
License for the libgstomx.so, libgstnvegl-1.0.so.0, and libnvgstjpeg.so libraries included in nvgstapps.tbz2.
nv_sample_apps/nvgstapps.tbz2
NVIDIA gstreamer components and applications.
nv_sample_apps/nvgstcapture-<version>_README.txt
Read Me for Nvidia Gstreamer-based camera capture application (nvgstcapture).
nv_sample_apps/nvgstplayer-<version>_README.txt
Read Me for Nvidia Gstreamer-based multimedia player (nvgstplayer).
nv_tools.tbz2
The tegrastats application. Refer to the Development Guide for usage.
Nvgstapps TBZ2
The following table lists the directories (denoted by a trailing slash /) and files available upon decompressing the nvgstapps.tbz2 archive, located at:
nv_tegra/nv_sample_apps/nvgstapps.tbz2
Filename
Description
usr/bin/nvgstcapture-<version>
Multimedia capture camera application.
usr/bin/nvgstplayer-<version>
Multimedia video player application.
usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>/
Plug-ins and drivers for gstreamer.
usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>/libgstnvvidconv.so
NVIDIA proprietary GStreamer conversion plug-in library.
usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>/libgstomx.so
OpenMax driver.
usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>/libnvgstjpeg.so
Accelerated libjpeg based jpeg decoding and encoding library.
usr/lib/arm-linux-gnueabi[hf]/gstreamer-1.0/libgstnveglglessink.so
Accelerated Egl based renderer element.
usr/lib/arm-linux-gnueabihf/libgstnvegl-1.0.so.0
Modified gst-egl library.
usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstnvcamera.so
Camera driver.
Config TBZ2
The following table lists the contents available upon decompressing the config.tbz2 archive, located at:
nv_tegra/config.tbz2
Filename
Description
etc/asound.conf.tegramax98090
ALSA library configuration file for MAX98090.
etc/asound.conf.tegrart5639
ALSA library configuration file for RT5639.
etc/enctune.conf
Default multimedia encoding parameters for NVIDIA reference platforms.
etc/init/nv.conf
NVIDIA-specific initialization script.
etc/init/nvfb.conf
NVIDIA specific first-boot script.
etc/init/nvwifibt.conf
NVIDIA bluetooth/wifi init script.
etc/init/ttyS0.conf
Initialization script for getty on ttyS0.
etc/modules
Lists bluedroid as a supporting module for Bluetooth.
etc/nv/nvfirstboot
Control file used for for first boot.
etc/pulse/daemon.conf
Configuration file for the PulseAudio daemon.
etc/pulse/default.pa.hdmi
PulseAudio configuration file.
etc/pulse/default.pa.orig
PulseAudio configuration file.
etc/sysctl.d/90-tegra-settings.conf
Control file for sysrq.
etc/udev/rules.d/90-alsa-asound-tegra.rules
Rules configuration for proper asound.conf selection.
etc/udev/rules.d/91-xorg-conf-tegra.rules
Rules configuration for proper xorg.conf selection.
etc/udev/rules.d/92-hdmi-audio-tegra.rules
Rules configuration for proper /etc/pulse/default.pa selection.
etc/udev/rules.d/99-nv-wifibt.rules
Rules configuration for Wi-Fi and Bluetooth.
etc/udev/rules.d/99-tegra-devices.rules
Permission setting for Tegra devices.
etc/udev/rules.d/99-tegra-mmc-ra.rules
SD card read_ahead_kb configuration.
etc/wpa_supplicant.conf
Sample WPA supplicant.
etc/X11/xorg.conf
Configuration file for xorg.
etc/X11/xorg.conf.jetson-tk1
Configuration file for Jetson TK 1 specific xorg.
NVIDIA Drivers TBZ2
The following table lists the contents available upon decompressing the nvidia_drivers.tbz2 archive, located at:
nv_tegra/nvidia_drivers.tbz2
Filename
Description
etc/ld.so.conf.d/nvidia-tegra.conf
Ldconf file for tegra directories.
etc/nv_tegra_release
Tegra driver versioning file.
lib/firmware/nvavp_os_*.bin
NVIDIA AVP Kernel firmware.
lib/firmware/nvavp_vid_ucode_alt.bin
NVIDIA video decoders.
lib/firmware/tegra12x/
Firmware files for jetson-tk1 and other Tegra K1 32 bit (T12x) devices.
lib/firmware/tegra12x/fecs.bin
GPU FECS firmware.
lib/firmware/tegra12x/gpccs.bin
GPU GPCCS firmware.
lib/firmware/tegra12x/gpmu_ucode.bin
GPU PMU ucode firmware
lib/firmware/tegra12x/NETB_img.bin
GPU device hardware description.
lib/firmware/tegra12x/nvhost_msenc031.fw
Tegra K1-specific nvhost firwmware file for msenc.
lib/firmware/tegra12x/nvhost_tsec.fw
Firmware file nvhost for tsec.
lib/firmware/tegra12x/vic03_ucode.bin
VIC ucode binary (VIC for pre or post processing.)
lib/firmware/tegra_xusb_firmware
Firmware file for XUSB.
usr/bin/nvidia-bug-report-tegra.sh
NVIDIA bug reporting script. Run for usage tips.
usr/lib/arm-linux-gnueabi[hf]/tegra-egl/ld.so.conf
Ldconf file for tegra-egl directories.
usr/lib/arm-linux-gnueabi[hf]/tegra-egl/libEGL.so.1
OpenGL ES driver file.
usr/lib/arm-linux-gnueabi[hf]/tegra-egl/libGLESv1_CM.so.1
OpenGL ES driver file.
usr/lib/arm-linux-gnueabi[hf]/tegra-egl/libGLESv2.so.2
OpenGL ES driver file.
usr/lib/arm-linux-gnueabi[hf]/tegra/libcuda.so.1.1
CUDA library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libGL.so.1
GL graphics support library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libglx.so
GLX extension module for X. Module is used by the X server to provide server-side GLX support.
usr/lib/arm-linux-gnueabi[hf]/tegra/libjpeg.so
Accelerated libjepeg library for Tegra.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvapputil.so
Host (x86) shared object for application utilities.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvavp.so
User-space interface to the AVP for audio/video acceleration via the nvavp kernel driver.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvdc.so
DC driver file.
usr/lib/arm-linux-gnueabihf/tegra/libnvddk_2d_v2.so
DDK 2D.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvddk_vic.so
DDK VIC.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-eglcore.so.21.4
EGL core library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-glcore.so. 21.4
OpenGL core library. This library is implicitly used by libGL and by libglx, and contains the core accelerated 3D functionality.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-glsi.so. 21.4
OpenGL System Interaction library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-rmapi-tegra.so. 21.4
Utility library that implements common code for using kernel-level graphics drivers on Tegra.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-tls.so. 21.4
NVIDIA tls libraries.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_camera_v3.so
Core camera v3 framework library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_contentpipe.so
Content pipe implementation (file source abstraction).
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_audio.so
NVIDIA Multimedia audio driver.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_image.so
NVIDIA Multimedia image driver.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite.so
NVIDIA Multimedia driver.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_utils.so
NVIDIA Multimedia utilities.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_video.so
NVIDIA Multimedia video driver.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_parser.so
Parser.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm.so
NVIDIA Multimedia Framework.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_utils.so
Multimedia Framework utilities.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvodm_imager.so
Tegra development platform ODM adaptation for imager.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvodm_query.so
ODM Query interface.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvomxilclient.so
OpenMAX IL client.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvomx.so
OpenMAX IL implementation.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvos.so
NVIDIA OS abstraction library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvparser.so
Parser used for NVIDIA NvMMlite.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvrm_graphics.so
Resource Manager (NvRM) graphics host, AVP communication library, and graphics drivers.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvrm.so
Resource Manager kernel interface.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvsm.so
NVIDIA shader manager library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvtestio.so
Target (ARM) shared object for test I/O utilities.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvtestresults.so
Test results library.
usr/lib/arm-linux-gnueabi[hf]/tegra/tegra/libnvtnr.so
Temporal Noise Reduction (TNR) interface.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvtvmr.so
Multimedia Tegra video mixer/renderer.
usr/lib/arm-linux-gnueabi[hf]/tegra/libnvwinsys.so
Winsys library.
usr/lib/arm-linux-gnueabi[hf]/tegra/libtegrav4l2.so
V4L2 driver for Tegra.
usr/lib/xorg/
X Windows System libraries and drivers
usr/lib/xorg/modules/drivers/nvidia_drv.so
Tegra X driver.
usr/lib/xorg/modules/extensions/libglx.so
Symbolic link pointing to /usr/lib/arm-linux-gnueabi[hf]/tegra/libglx.so in the rootfs.