JetPack versions and L4T compatibility matrix visualization — matching BSP versions for NVIDIA Jetson
jetpackl4tjetsoncudatensorrtversion compatibility

JetPack versions and L4T compatibility: complete reference table

Aaron Angulo ·

Matching your JetPack version to the right L4T BSP, kernel, and CUDA toolkit is the first thing to get right — and the compatibility matrix is not always obvious from the NVIDIA documentation. A JetPack mismatch or L4T version conflict is a common cause of driver failures and flash issues that look like hardware problems.

Key Insights

  • L4T is the BSP inside JetPack — the r-number (e.g., r36.3.x) uniquely identifies the BSP version; the JetPack number is the bundled SDK on top
  • Jetson Nano (2019) only goes up to JetPack 4.6.4 — JetPack 5 and 6 don’t support it; the newer Orin Nano does support JetPack 6
  • There is no in-place upgrade between major JetPack versions — going from JP5 to JP6 requires a full reflash via SDK Manager
  • JetPack 6 dropped Xavier support — if you’re on AGX Xavier or Xavier NX, JP5.1.x is your latest option
  • JetPack 6 uses Wayland by default, which breaks some tools that expect Xorg — the remote desktop setup guide covers the fix

How to check your JetPack and L4T version

The fastest way is to read the L4T release file directly:

cat /etc/nv_tegra_release

Output looks like:

# R36 (release), REVISION: 3.0, GCID: 36382493, BOARD: generic, EABI: aarch64,
# DATE: Wed Oct 23 22:17:48 UTC 2024

R36 with revision 3.0 means L4T r36.3.0, which corresponds to JetPack 6.1. Cross-reference with the table below.

To check if the full JetPack SDK was installed:

dpkg -l | grep nvidia-jetpack
# or
pip3 show jetpack 2>/dev/null | grep Version

To get the CUDA version specifically:

nvcc --version
# or
cat /usr/local/cuda/version.txt

Complete JetPack version reference table

JetPackL4TCUDATensorRTcuDNNPythonSupported modules
6.2r36.4.x12.610.39.x3.10AGX Orin, Orin NX, Orin Nano
6.1r36.3.x12.410.39.x3.10AGX Orin, Orin NX, Orin Nano
6.0r36.2.x12.210.x8.93.10AGX Orin, Orin NX, Orin Nano
5.1.4r35.6.x11.48.68.63.8AGX Orin, Orin NX, AGX Xavier, Xavier NX
5.1.3r35.5.x11.48.68.63.8AGX Orin, Orin NX, AGX Xavier, Xavier NX
5.1.2r35.4.x11.48.68.63.8AGX Orin, Orin NX, AGX Xavier, Xavier NX
5.1.1r35.3.x11.48.68.63.8AGX Orin, Orin NX, AGX Xavier, Xavier NX
5.1r35.2.x11.48.58.63.8AGX Orin, AGX Xavier, Xavier NX
5.0.2r35.1.x11.48.48.43.8AGX Orin, AGX Xavier, Xavier NX
4.6.4r32.7.410.28.x8.x3.6Nano (4GB/2GB), AGX Xavier, Xavier NX, TX2
4.6.3r32.7.310.28.x8.x3.6Nano (4GB/2GB), AGX Xavier, Xavier NX, TX2
4.6.2r32.7.210.28.x8.x3.6Nano (4GB/2GB), AGX Xavier, Xavier NX, TX2
4.6.1r32.7.110.28.x8.x3.6Nano (4GB/2GB), AGX Xavier, Xavier NX, TX2
4.6r32.6.110.28.x8.x3.6Nano (4GB/2GB), AGX Xavier, Xavier NX, TX2

For exact minor version numbers and the full SDK component list, NVIDIA’s JetPack archive is the authoritative source.

What the L4T version number actually means

The format is Rxx.y.z:

  • R36 is the major kernel revision
  • 3 is the minor release
  • .x is the patch level

JetPack maps to L4T like this: JetPack 6.1 = L4T r36.3.x, JetPack 5.1.4 = L4T r35.6.x. NVIDIA increments the L4T minor version for each JetPack point release within a major series.

The L4T number is what matters for driver and BSP compatibility. If you’re looking for a kernel module, bootloader, or board-level package, you need the L4T r-number — not the JetPack version.

Key differences across major versions

JetPack 4.x → 5.x

  • CUDA jumped from 10.2 to 11.4 — some older CUDA code needs recompilation
  • Python moved from 3.6 to 3.8 — pip packages from JP4 venvs may not work
  • Dropped support for Jetson Nano and TX1
  • Added support for Jetson Orin

JetPack 5.x → 6.x

  • CUDA jumped from 11.4 to 12.x — check your inference libraries’ CUDA requirements
  • TensorRT moved from 8.6 to 10.x — the API changed significantly between TRT 8 and 10; model conversion scripts may need updates
  • Python moved from 3.8 to 3.10
  • Default display server changed from Xorg to Wayland — affects remote desktop and any app that uses DISPLAY environment variable
  • Dropped support for Xavier series
  • L4T security model changed — some bootloader and secure boot workflows are different

The Nano confusion NVIDIA named two very different products “Jetson Nano”:

  • Jetson Nano (2019) — ARM Cortex-A57, Maxwell GPU. Max JetPack: 4.6.4.
  • Jetson Orin Nano (2023) — ARM Cortex-A78AE, Ampere GPU. Supports JetPack 6.x.

If you’re looking at a forum thread about “Jetson Nano” and JetPack 5 or 6, they’re talking about the Orin Nano — or the thread is mistaken.

Flashing a specific JetPack version

Use SDK Manager on a Ubuntu 20.04 or 22.04 host machine. It handles the full flash sequence including bootloader, kernel, and rootfs. For headless systems or CI pipelines, the command-line flash tools under Linux_for_Tegra/ work without a GUI:

cd Linux_for_Tegra
sudo ./flash.sh jetson-orin-nano-devkit internal

The target board name (jetson-orin-nano-devkit) must match your hardware exactly. Wrong board name → wrong devicetree → usually a boot failure. If you’re hitting that, our carrier board not booting guide covers the devicetree mismatch case.

NVIDIA Jetson Expert Support

Stuck on a Jetson bring-up?

We've debugged this failure mode before. BSP, device tree, camera pipelines, OTA — most blockers clear in the first session. No long retainers. No guessing.

Frequently Asked Questions

How do I check which JetPack version is installed?

Run 'cat /etc/nv_tegra_release' to get the L4T version, then cross-reference with the table below to find the JetPack version. Alternatively, run 'dpkg -l | grep nvidia-jetpack' if the full SDK was installed via SDK Manager. On JetPack 5 and 6, 'pip3 show jetpack' also works if the Python package was installed.

What is the difference between JetPack and L4T?

L4T (Linux for Tegra) is the BSP — the base operating system, kernel, and drivers. JetPack is NVIDIA's full SDK bundle that includes L4T plus CUDA, cuDNN, TensorRT, DeepStream, VPI, and developer tools. When NVIDIA says 'JetPack 6.1', the L4T inside it is r36.3.x. You can have L4T running without the full JetPack SDK, but not vice versa.

Which JetPack version should I use for Jetson Nano?

Jetson Nano (the original 2019 module with 4GB or 2GB RAM) maxes out at JetPack 4.6.4, which is the last release in the 4.x series. It is based on L4T r32.7.x and CUDA 10.2. JetPack 5 and 6 do not support the original Jetson Nano. The newer Jetson Orin Nano (2023) does support JetPack 6.

Can I upgrade from JetPack 5 to JetPack 6 without reflashing?

No. JetPack major version upgrades require reflashing the device with the new BSP. The L4T kernel, bootloader, and rootfs all change between major versions. There is no in-place upgrade path from JP5 to JP6. Use SDK Manager or the command-line flash tools on a host machine.

What changed in JetPack 6 compared to JetPack 5?

JetPack 6 ships with CUDA 12.x (vs 11.4 in JP5), TensorRT 10.x (vs 8.6), Python 3.10 (vs 3.8), and GDM3 with Wayland as the default display server (JP5 used Xorg by default). JP6 supports only Jetson Orin series — it dropped Xavier support. The BSP also changed from OP-TEE to a new security firmware model.

Aarón Angulo, Co-Founder & CEO at ProventusNova

Written by

Aarón Angulo

Co-Founder & CEO · ProventusNova

Obsessed with client outcomes. Aarón ensures every engagement delivers real results — on time, on scope, no exceptions.

Connect on LinkedIn