NVIDIA Tegra Tegra Linux Driver Package
Development Guide
21.2 Release | December 09, 2014

 
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 2.0 for the second build.
<release_type> is armel (for softfp ABI) or armhf (for hard-float ABI).
The following table lists the top level directories and files that are created when you expand the tar file.
Filename
Description
<platform>.conf
Configuration file(s) for flash.sh specific to the <platform> board.
./rootfs
Directory used as a staging directory for the root filesystem.
./rootfs/README.txt
This file explains the need to copy the sample file system here.
./kernel
Directory containing the kernel images and kernel modules.
./kernel/dtb
Directory containing the kernel DTB files for the particular SoC.
./bootloader
Directory containing the boot loader and related components.
./bootloader/<board>
Directory containing platform-specific files.
./bootloader/<board>/BCT
Directory containing the platform-specific BCT files.
./bootloader/<board>/cfg
Directory containing the appropriate cfg files.
./nv_tegra
Directory containing the NVIDIA drivers and sample applications.
./nv_tegra/nv_sample_apps
Directory containing the NVIDIA sample applications.
./source_sync.sh
A script that downloads kernel and uboot source.
./apply_binaries.sh
A script to apply nv_tegra components.
./flash.sh
A script that flashes the boot loader and kernel from the package.
./zImage_to_uimg.sh
A script that creates 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.
Kernel
This section describes the major components included in the ./kernel directory.
Filename
Description
./dtb
Directory containing SoC-specific kernel DTB files.
./dtb/tegra124-*.dtb
The DTB files specific to various board types.
./dtc
The device-tree-compiler binary.
./zImage
A kernel binary image.
./LICENSE
A license file for “GNU GENERAL PUBLIC LICENSE”.
./LICENSE.dtc
A license file for “GNU GENERAL PUBLIC LICENSE” for the ‘device-tree-compiler’ binary.
./kernel_headers.tbz2
Contains the kernel header files needed for compiling kernel modules. These same headers and sources can be downloaded from the nv_tegra git server.
./kernel_supplements.tbz2
Loadable kernel modules specific to the included kernel zImage built with the defconfig enabled for the device.
./vmlinux.uimg
A u-boot kernel binary image.
Boot Loader
This section describes the files provided in the ./bootloader directory.
Filename
Description
./ardbeg
< board> specifies the development system, ardbeg for Tegra K1 32 Bit (T12x) devices.
./ardbeg/<platform >_extlinux.conf.emmc
The config file for U-Boot for booting off the internal EMMC.
./ardbeg/<platform>_extlinux.conf.nfs
The config file for U-Boot for booting off the nfs root.
./ardbeg/<platform>_extlinux.conf.sdcard
The config file for U-Boot for booting off the SD card.
./ardbeg/<platform>_extlinux.conf.usb
The config file for U-Boot for booting off USB flash storage device.
./ardbeg/BCT
Platform-specific BCT directory.
./ardbeg/BCT/E1780_Hynix_2GB_H5TC4G63AFR_RDA_408Mhz.cfg
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 CFG directory.
./ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg
Platform-specific CFG file.
./ardbeg/fastboot.bin
The Fastboot-versioned boot loader binary file.
./ardbeg/u-boot.bin
The u-boot binary image.
./LICENSE
Tegra software license.
./LICENSE.mkbootimg_and_mkubootscript
A license file for the mkbootimg and mkbootscript tools.
./LICENSE.mkgpt
A license file for the mkgpt tool.
./LICENSE.mksparse
A license file for the mksparse tool.
./mkbootimg
A tool used for img creation.
./mkgpt
A tool which encodes both primary and secondary GPT into flashable binary image files.
./mkimage
A u-boot tool for vmlinux.uimg creation.
./mksparse
Sparse image flashing with the bootloader
./mkubootscript
A tool for flashing u-boot.
./nvflash
The NVIDIA flashing tool.
NV Tegra
This section describes the major components included in the ./nv_tegra directory.
Filename
Description
./config.tbz2
Configuration files specific to the sample filesystem.
./LICENSE
Tegra software license.
./nvidia_drivers.tbz2
NVIDIA driver components.
./nv_sample_apps
Directory containing NVIDIA sample applications.
./nv_sample_apps/LICENSE.gstegl
MIT license for libgstnveglglessink.so included in nvgstapps.tbz2
./nv_sample_apps/LICENSE.gst-openmax
License file for libgstomx.so, libgstnvegl-1.0.so.0, and libnvgstjpeg.so included in nvgstapps.tbz2.
./nv_sample_apps/nvgstapps.tbz2
NVIDIA gstreamer components and applications.
./nv_sample_apps/nvgstcapture-<version>_README.txt
Instructions on how to run the nvgstcapture application.
./nv_sample_apps/nvgstplayer-<version>_README.txt
Instructions on how to run the nvgstplayer application.
./nv_tools.tbz2
Contains the “tegrastats” application. Refer to the developer guide for usage.
Nvgstapps TBZ2
This section describes the files included in the following file:
./nv_tegra/nv_sample_apps/nvgstapps.tbz2
Filename
Description
./usr
-
./usr/bin
-
./usr/bin/nvgstcapture-<version>
The multimedia capture camera application.
./usr/bin/nvgstplayer-<version>
The multimedia video player application.
./usr/lib
-
./usr/lib/arm-linux-gnueabi[hf]
-
./usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>
-
./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.
Config TBZ2
This section describes the files included in the following file:
./nv_tegra/config.tbz2
 
Filename
Description
./etc
-
./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
-
./etc/init/nv.conf
An 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
An initialization script for getty on ttyS0.
./etc/modules
Lists “bluedroid” as a supporting module for Bluetooth.
./etc/nv
-
./etc/nv/nvfirstboot
Control file used for for first boot.
./etc/pulse
-
./etc/pulse/daemon.conf
File for the PulseAudio daemon.
./etc/pulse/default.pa.hdmi
PulseAudio configuration file.
./etc/pulse/default.pa.orig
PulseAudio configuration file.
./etc/sysctl.d
-
./etc/sysctl.d/90-tegra-settings.conf
Control file for sysrq.
./etc/udev
-
./etc/udev/rules.d
-
./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” file selection.
./etc/udev/rules.d/99-nv-wifibt.rules
Rules configuration for Wi-Fi and Bluetooth.
./etc/udev/rules.d/99-tegra-devices.rules
Sets permissions for Tegra devices.
./etc/wpa_supplicant.conf
Sample WPA supplicant.
./etc/X11
-
./etc/X11/xorg.conf.jetson-tk1
The xorg configuration file.
NVIDIA Drivers TBZ2
This section describes the files included in the following file:
./nv_tegra/nvidia_drivers.tbz2
 
Filename
Description
./etc
-
./etc/ld.so.conf.d
-
./etc/ld.so.conf.d/nvidia-tegra.conf
Ldconf file for tegra directories.
./etc/nv_tegra_release
The tegra driver versioning file.
./lib
-
./lib/firmware
-
./lib/firmware/nvavp_os_*.bin
NVIDIA AVP Kernel firmware.
./lib/firmware/nvavp_vid_ucode_alt.bin
NVIDIA video decoders.
./lib/firmware/tegra12x
Directory included only on 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
nvhost firmware file 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
-
./usr/bin
-
./usr/bin/nvidia-bug-report-tegra.sh
NVIDIA bug reporting script (run for usage).
./usr/lib
-
./usr/lib/arm-linux-gnueabi[hf]
-
./usr/lib/arm-linux-gnueabi[hf]/tegra
-
usr/lib/arm-linux-gnueabi[hf]/tegra-egl
-
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
A GLX extension module for X. This 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/libnvfusebypass.so
NVIDIA fuse bypass.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-eglcore.so.21.2
EGL core library.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-glcore.so. 21.2
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.2
OpenGL System Interaction library.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-rmapi-tegra.so. 21.2
A utility library that implements common code to use the kernel-level graphics drivers on Tegra.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-tls.so. 21.2
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 shared object.
./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
-
./usr/lib/xorg/modules
-
./usr/lib/xorg/modules/drivers
-
./usr/lib/xorg/modules/drivers/nvidia_drv.so
Tegra X driver.
./usr/lib/xorg/modules/extensions
-
./usr/lib/xorg/modules/extensions/libglx.so
A symbolic link pointing to /usr/lib/arm-linux-gnueabi[hf]/tegra/libglx.so in the rootfs.