IMX477 driver installation fails on Orin Nano with JetPack 5.1.1

Hey everyone, I’m having trouble getting an IMX477 camera working on my NVIDIA Orin Nano Developer Kit. I’ve been trying to install the driver from the Arducam GitHub repo but it keeps failing. Also tried the .deb packages they provide — same thing. The errors seem to point at some kind of DTB and kernel incompatibility but I’m not entirely sure what’s going on. Has anyone gotten the IMX477 working on an Orin Nano? I’m running JetPack 5.1.1.

Can you share a few more details about your setup? Specifically, which kernel version you’re on and which exact Arducam driver package or repo you were pulling from? That DTB/kernel incompatibility error is usually a sign that the driver was built against a different kernel configuration than what you’re running. With JetPack 5.1.1 on Orin Nano you should be on kernel 5.10 — can you confirm with uname -r?

Yeah, kernel is 5.10 as expected. Here’s my setup:

  • Camera: Arducam IMX477
  • Board: NVIDIA Orin Nano Developer Kit
  • JetPack: 5.1.1
  • Kernel: 5.10.120-tegra

As for the driver, I cloned the main Arducam Jetson camera repo from their GitHub and followed the install script. When that didn’t work I tried the prebuilt .deb from their download page. Both gave me DTB mismatch errors during the overlay load step. I didn’t dig into the exact error logs but the gist was that the device tree blob wasn’t compatible with my current kernel.

Thanks, that confirms what I suspected. The Arducam-provided drivers and .deb packages you tried are likely built for a newer JetPack release — probably JP5.1.2+ or JP6 — where the kernel and DTB have diverged from what ships with 5.1.1. That’s why you’re hitting the DTB/kernel incompatibility across both the GitHub source and the prebuilt binaries. It’s not that the camera is unsupported; it’s that those external driver packages are targeting a different kernel configuration.

The good news is that JetPack 5.1.1 actually includes a native IMX477 driver already. You just need to enable it through the Jetson-IO tool, which will properly configure the device tree for your exact kernel version. No external .deb or GitHub driver needed.

Give this a try:

sudo /opt/nvidia/jetson-io/jetson-io.py

When the UI comes up, you’ll want to select the IMX477 from the camera options. The tool will generate and apply the correct DT overlay for your current kernel. The steps are documented here:

https://docs.arducam.com/Nvidia-Jetson-Camera/Application-note/Jetson-io/

Basically, for Orin Nano on older JetPack releases, the native driver path via jetson-io.py is the way to go. The external packages are really meant for newer JetPack versions where the DTB layout has changed.

Ah, that makes a lot of sense now. I didn’t realize the Arducam external packages were targeting a different JetPack version — I just assumed they’d work across the board. I’ll go ahead and run jetson-io.py and follow that guide. Thanks for the explanation, that clears things up.