Skip to main content

Nvidia Jetson FAQ

info
  • The initialization on the Jetson devices will take a couple of minutes.
  • Your Jetpack version should match the version used by our software.

Docker#

Docker is an open source platform for creating, deploying, and running containers. Docker is included in JetPack, so running containers on Jetson is easy and does not require any installation.

What are the dependencies? How do I fix "Unknown runtime specified nvidia"?#

Make sure the Jetpack libraries are installed. If you are on a storage constrained device, do the following and then restart.

sudo apt install nvidia-docker2 cuda-libraries-10-2sudo apt install cuda-compiler-10-2 graphsurgeon-tf nvidia-container-csv-cudasudo apt-get install nvidia-tensorrt nvidia-container-csv-tensorrt nvidia-container-csv-cudnn

Another option is to do the following and then restart.

sudo apt updatesudo apt install nvidia-jetpack
info

If the packages are not available, the nvidia sources may not be enabled. Edit vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list and uncomment the lines.

How do I run Docker as a non-root user?#

See those post installation steps.

How do I fix "OSError: libcublas.so.10: cannot open shared object file: No such file or directory" ?#

If you are getting the error OSError: libcublas.so.10: cannot open shared object file: No such file or directory it means the docker run command is missing the parameter --runtime nvidia.

JetPack#

NVIDIA JetPack SDK is the most comprehensive solution for building AI applications. It includes the latest OS images for Jetson products, along with libraries and APIs, samples, developer tools, and documentation.

I see error at the model optimization step. What do I do?#

If you see errors such as createInferBuilder_INTERNAL symbol not found., it means your JetPack version does not match the one used by the Docker image. Your options are:

  • Upgrade JetPack (see below).
  • Use a version of the software that matches your JetPack version (see below).

Which Jetpack version am I using?#

Install and run jetson-stats.

sudo apt install python3-pippip3 install -U jetson-statsjetson_release -v

How can I optimize RAM and storage usage?#

To free up RAM:

  • Boot in text mode sudo systemctl set-default multi-user.target. In text mode, just after logging in, the device will use around 300MB of RAM.

To free up around 1.5G of storage, use

sudo apt purge thunderbird libreoffice* imagemagick chromium-* python3-pandas python3-numpysudo apt autoremove -y
# If you do not need a desktop environment, do the following:sudo apt remove ubuntu-desktop gdm3 unity gnome-icon-theme nvidia-l4t-graphics-demossudo apt autoremove -ysudo apt clean

How do I upgrade JetPack?#

Can I use a different JetPack version?#

If you use an older JetPack version, you can install an image that matches your version. See all the Stream tags available. And pick the one that matches your Jetpack. For example, if you use Jetpack r32.5.0, use the image platerecognizer/alpr-stream:jetson-1.25.1-r32.5.0.

Hardware#

Why does Stream/Snapshot stops working or the performance degrades after some time?#

Jetson devices can get hot under heavy use. If they are not properly cooled, the OS will automatically throttle the CPU/GPU. Make sure to use a fan.

Onboard Cameras#

How can I use an onboard camera?#

To use onboard cameras a few additional configurations are necessary.

First get your available camera resolutions

gst-launch-1.0 nvarguscamerasrc sensor-id=0

Set the camera url in config.ini to:

nvarguscamerasrc ! video/x-raw(memory:NVMM),width=XXXXX, height=YYYYY, framerate=ZZZZZ/1, format=NV12 ! nvvidconv flip-method=0 ! video/x-raw,width=960, height=616 ! nvvidconv ! video/x-raw ! videoconvert ! video/x-raw,format=(string)BGR ! videoconvert ! appsink max-buffers=5
For the commands above, make sure to:

Change XXXXX, YYYYY, and ZZZZZ to your values available to your camera. The framerate (FPS) of the camera could be any value below the available for the specified resolution.

Then you need to see where your onboard cameras are located:

ls -ltrh /dev/video*

If you only have one camera connected the output should be /dev/video0.

Now you can run the application :

docker run --restart="unless-stopped" --runtime nvidia -t --name stream \  -v /home/kyt/documents/stream:/user-data --privileged --group-add video \  -e OPENCV_API_PREFERENCE=1800 -v /tmp/argus_socket:/tmp/argus_socket \  --user `id -u`:`id -g` -e LICENSE_KEY=XXXXX -e TOKEN=YYYYY --device ZZZZZ platerecognizer/alpr-stream:jetson
danger

For the commands above, make sure to:

  1. Change XXXXX to the License Key that we gave you.
  2. Change YYYYY to your Plate Recognizer Token.
  3. Change ZZZZZ to your device from the previous output