I am trying to emulate my Jetson ORIN environment on my x86 PC.
The idea is to have a Docker container with the exact same architecture and environment as my Jetson Orin, so that i can code and compile package on my PC inside this Docker container, and deploy the builds onto my Jetson Orin.
Concerns: I do have all the libraries, aarch64 architecture, and the correct OS version, but when I run the CUDA example given here, I get the following error:
CUDA driver version is insufficient for CUDA runtime version in jetpack image
Similarly, when I am trying to install the nvidia-jetpack using apt install nvidia-jetpack (Just to check if the Jetpack 5.1.2 was installed correctly as part of the Docker image), I get the following error:
The following packages have unmet dependencies:
nvidia-jetpack : Depends: nvidia-jetpack-runtime (= 5.1.2-b104) but it is not going to be installed
Depends: nvidia-jetpack-dev (= 5.1.2-b104) but it is not going to be installed
@smrazarizvi96 IMO it’s not going to be possible to fully “emulate” or run GPU-enabled containers built for ARM64/JetPack on x86, because as you’ve found it relies on underlying hardware and drivers that are specific to Jetson and its integrated GPU-based architecture.
There is however an x86 container specifically for cross-compiling ARM applications against various JetPack components from x86:
However this would not actually run those CUDA-enabled binaries on x86, they would need to be distributed to Jetson first.
@smrazarizvi96 IMO it would have to be a parallel build that’s built specifically for x86 architecture if you actually want to run it, and the ARM64/Jetson version would be a separate version (ideally sharing the same code and such).
Presuming that you are investing your time and energy into this development and want to accelerate your build/deployment times, I would just recommend getting a Jetson AGX Orin as a build machine - it has 12 CPU cores @ 2.2GHz and does native compilation fast. It is then easy to deploy the same binaries/images to other Jetson devices.