Why the dependency on VisonWorks as of 5.0 GA release?

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
Jeson Nano, RTX 2060
• DeepStream Version
5.0
• JetPack Version (valid for Jetson only)
4.4
• TensorRT Version
7.1.3
• NVIDIA GPU Driver Version (valid for GPU only)
440

All in the title, using the sdk manager I fetched the JetPack 4.4 with DeepStream 5.0 GA. Inspecting the deb package we can see:

$ dpkg -I ./deepstream-5.0_5.0.0-1_arm64.deb                                                                           
 new Debian package, version 2.0.
 size 429554486 bytes: control archive=16441 bytes.
    1014 bytes,    10 lines      control              
   67140 bytes,   530 lines      md5sums              
     855 bytes,    14 lines   *  postinst             #!/bin/bash
    2805 bytes,    32 lines   *  prerm                #!/bin/bash
 Package: deepstream-5.0
 Version: 5.0.0-1
 Architecture: arm64
 Maintainer: NVIDIA Corporation
 Installed-Size: 1135602
 Depends: cuda-cudart-10-2, cuda-cudart-dev-10-2, cuda-npp-10-2, cuda-npp-dev-10-2, cuda-cufft-10-2, libvisionworks (>= 1.6.0), libvisionworks-dev (>= 1.6.0), gstreamer1.0-libav, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-good, libcairo2 (>= 1.15.10), libglib2.0-0 (>= 2.56.4), libgstreamer1.0-0 (>= 1.14.1), libgstreamer1.0-dev (>= 1.14.1), libgstreamer-plugins-base1.0-0 (>= 1.14.1), libgstreamer-plugins-base1.0-dev (>= 1.14.1), libnvinfer7 (>= 7.1.0), libnvinfer-dev (>= 7.1.0), libnvparsers7 (>= 7.1.0), libnvparsers-dev (>= 7.1.0), libnvonnxparsers7 (>= 7.1.0), libnvonnxparsers-dev (>= 7.1.0), libnvinfer-plugin7 (>= 7.1.0), libnvinfer-plugin-dev (>= 7.1.0), libpangocairo-1.0-0 (>= 1.40.14), libx11-6, libgstrtspserver-1.0-0
 Section: Utils
 Priority: standard
 Homepage: http://developer.nvidia.com/jetson
 Description: Nvidia DeepStreamSDK runtime libraries, development files and samples

libvisionworks (>= 1.6.0), libvisionworks-dev (>= 1.6.0)

As far as I could see, both sources and .so libs don’t actually use visionworks. Why was this added as a dependency? This causes extra headaches when making a “slim” TensorRT+DS image using docker, not even mentioning the existing hassle of copying all the packages into an image to even get a minimal working environment. Will there ever be a proper deepstream-dev and deepstream-libs package split for sane library only distribution?

Hi @forced.sage
KLT tracker (libnvds_mot_klt.so) in DeepStream is using visionworks.

Please customize your docker based on the base DeepStream docker - nvcr.io/nvidia/deepstream:5.0-20.07-base (dGPU) or nvcr.io/nvidia/deepstream-l4t:5.0-20.07-base(Jetson)

Thanks!

Thank you for clarification @mchi. This makes it impossible to skip visionworks(-dev) when installing the deb package, without modifying it, if I’m not using KLT tracker.

I did consider using NVCR images before, but I’m not running on nvidia-container runtime, rather using Yocto base images. The DS images you linked do not have TensorRT or CUDA, because they’re provided by the host OS, I suppose I can at least COPY --from deepstream binaries and it’s dependencies but since I’d have to install CUDA separately, I might as well just use deepstream deb package.

I think those images actually include TensorRT and CUDA. The only thing required from the host OS is the nvidia driver and container runtime.