EVA SDK Installation Guide for x86
  • 05 Sep 2023
  • 23 Minutes to read
  • Contributors
  • Dark
    Light

EVA SDK Installation Guide for x86

  • Dark
    Light

Article Summary

Manual Rev.: 1.2

Revision Date: July 26, 2022

Part Number: 50M-00040-1020


Preface

Copyright

Copyright © 2022 ADLINK Technology, Inc. This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.

Disclaimer

The information in this document is subject to change without prior notice in order to improve reliability, design, and function and does not represent a commitment on the part of the manufacturer. In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages.

Trademarks

Product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.

Revision History

Revision

Description

Date 

1.0

Initial release

2020-10-07

1.1

Release for EVA SDK R3.5

2021-07-30

1.2

Release for EVA SDK R3.8
Support ROS Foxy Fitzroy.

2022-07-26



1 Introduction

This chapter describes the installation of the following software.

  • GStreamer, Gstreamer RTSP Plugin and GStreamer Python Plugin
  • NIVIDA® DeepStream, NIVIDA® CUDA and NIVIDA® TensorRT
  • Intel® OpenVINO
  • Intel® Media SDK for GStreamer
  • Pylon Software
  • Hikrobot Software
  • FLIR Software
  • ADLINK EVA SDK

The following table lists the specified software versions.

Item

Version

OS

Ubuntu 18.04 64-bit

GStreamer

1.14.5

NVIDIA® CUDA1

11.3.1

NVIDIA® TensorRT™1

8.2.1

NVIDIA® DeepStream1

6.0

Intel® OpenVINO™2

2021.4

Media SDK for GStreamer2

1.14.5 (in gst-plugins-bad)

OpenCV3

4.2.0 or higher

Python

3.6

pylon

6.1.1

Hikrobot MVS

2.0.0

Flir Spinnaker SDK

2.5.0.80

ROS 2

Foxy Fitzroy

Notes:

If the NVIDIA solution is used for inference, NVIDIA® DeepStream, NVIDIA® CUDA®, and NVIDIA® TensorRT™ must be installed.

If the Intel MSDK encoder and decoder are used for GStreamer plugins, Intel® OpenVINO™ and Intel® Media SDK must be installed.

OpenCV is required by the ADLINK EVA SDK. Please install the Intel® OpenVINO™ toolkit that includes the corresponding version of OpenCV.

The following table lists the estimated installation space required when installing the software under Ubuntu 18.04 64-bit. The required installation space includes the install file (.deb, .run, .tgz) package size.

Software

Required Installation Space

GStreamer

550MB

GStreamer Python Plugin

600MB

NVIDIA Driver

750MB

NVIDIA® CUDA

7.9GB (deb file: 2.3GB)

NVIDIA® TensorRT™

7.3GB (deb file: 1.3GB)

librdkafka

150MB

NVIDIA® DeepStream

800MB (tar file: 500MB)

Intel® OpenVINO™

1.7GB (tgz file: 500MB)

Media SDK for GStreamer

300MB

Pylon

430MB (deb file: 90MB)

Hikrobot MVS

400MB (zip file: 132MB)

Flir Spinnaker SDK

300MB (gz file: 72MB)

ROS2

9GB (include source code)

For more details about ADLINK EVA, refer to https://eva-support.adlinktech.com.



2 Installing GStreamer on Ubuntu

The recommended installation configuration requires installing Gstreamer 1.14.5 on Ubuntu 18.04.

2.1 Install GStreamer on Ubuntu

$ sudo apt-get update

$ sudo apt-get install git libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

Reference: https://gstreamer.freedesktop.org/documentation/installing/on-linux.html?gi-language=c

2.2 Check the GStreamer Installation

$ gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink

After executing the command, a window with an animated video pattern should display on-screen. Use CTRL+C in the terminal to stop the program.

2.3 Install RTSP Plugin for GStreamer (Optional)

If the data will be sent over an RTSP server, the system must have the RTSP plugin installed with the following command for GStreaming.

$ sudo apt install gstreamer1.0-rtsp

Use the following command to verify the installation.

$ gst-inspect-1.0 rtspclientsink

Screenshot from 2021-02-26 15-35-11



3 Installing the GStreamer Python Plugin

GStreamer is built on the GLib and GObject portable libraries which are compatible with Python. Gstreamer can be used in two ways: by writing GStreamer applications, or by writing GStreamer Python elements that can be scanned by the GStreamer Python plugin loader and registered as a plugin in GObject. The following sections describe how to install the GStreamer Python plugin.

3.1 Install the Required Packages

$ sudo apt-get install python3-pip python-gi-dev python3-gst-1.0

If your platform is using Python 2.7, change the python3-gst-1.0 package to python-gst-1.0.

3.2 Install the GStreamer Python Plugin Loader

Currently, the Debian GStreamer Python package includes GObject Introspection files but does not include the GStreamer Python plugin loader, requiring the use of a GStreamer Python application.

GStreamer Python plugins cannot be scanned and registered in applications like gst-launch-1.0 or gst-inspect-1.0, so a GStreamer Python plugin loader must be built.

1. Clone the GStreamer gst-python repository

$ git clone -b 1.14 https://github.com/GStreamer/gst-python.git

2. Install the build tool 

$ pip3 install --user meson ninja

When using Python 2.7, call pip instead of pip3.

3. Add the Python binary search path

$ export PATH=~/.local/bin:$PATH

If installing the meson package via apt installs an old version of meson, make sure the meson binary installed by pip3 can be found by first specifying where to access the Python binary.

4. Build and install gst-python 

$ cd gst-python

$ meson _build -Dprefix=$PWD/local

$ ninja -C _build install

At this point, it is important not to overwrite the previously installed GStreamer Python files which can possibly have a negative impact on the system. Instead, install GStreamer Python to a local folder and then copy only the required files.

5. Copy GStreamer Python plugin loader

The previous build steps generated two kinds of files, GObject introspection files and the GStreamer Python plugin loader in the following directory structure.

Gst-python install directory structure 

local
 └── lib
         ├── python3.6
         │     └── site-packages
         │             └── gi
         │                     └── overrides
         │                             ├── _gi_gst.cpython-36m-x86_64-linux-gnu.so
         │                             ├── GstPbutils.py
         │                             └── Gst.py
         └── x86_64-linux-gnu
                  └── gstreamer-1.0
                          └── 
libgstpython.so

Copy libgstpython.so to the GStreamer system plugin folder, or other plugin folders as necessary.

Copy the required library 

$ sudo cp local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstpython.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0

6. Install the required Python packages 

$ pip3 install --upgrade pip

$ sudo pip3 install scikit-build cmake boto3

$ sudo pip3 install numpy opencv-python>4.5.2

Notes:

  1. If the CPU is an Intel® Atom™ series processor, installation of opencv-python will take about 1 to 1.5 hours. Do not interrupt the installation process.
  2. The following message can be ignored when executing pip with sudo.

7. Check for installed Python plugins

$ cd .. # Stay in gst-python will cause python local wrong gi module in gst-python folder

$ GST_DEBUG=pyplugin:7 gst-inspect-1.0 python

If the Python plugins are found, the installation has been successful.



4 Installation Process for Intel Solution

The ADLINK EVA SDK also supports the Intel OpenVINO inference solution based on your specific system configuration requirements.

For ADLINK EVA SDK with the Intel solution, the following components must be installed on Ubuntu 18.04:

  • OpenVINO 2021.4.689
  • Intel Media SDK plugin for GStreamer (optional)

If you are not using the Intel® Distribution of OpenVINO™ toolkit, you still have to install OpenVINO for OpenCV. The ADLINK EVA SDK requires OpenCV from OpenVINO.

4.1 Uninstall Non-specified Version

If the system has a non-specified version of OpenVINO, use the OpenVINO toolkit installation package to uninstall it.

$ cd [OpenVINO toolkit installation package folder]
##Please move the path according to the actual directory location

$ sudo ./install_GUI.sh

Choose Uninstall the product and follow the instructions on the screen to uninstall.

Screenshot from 2021-01-26 15-54-26

4.2 Installing the OpenVINO Toolkit

The Intel® Distribution of OpenVINO™ toolkit is a comprehensive toolkit for quickly developing applications and solutions that solve a variety of tasks including emulation of human vision, automatic speech recognition, natural language processing, recommendation systems, and many others.

The OpenVINO™ toolkit for Linux:

  • Enables CNN-based deep learning inference on the edge
  • Supports heterogeneous execution across Intel® CPU, Intel® Integrated Graphics, Intel® Movidius™ Neural Compute Stick, Intel® Neural Compute Stick 2, and Intel® Vision Accelerator Design with Intel® Movidius™ VPUs
  • Speeds time-to-market via an easy-to-use library of computer vision functions and pre-optimized kernels
  • Includes optimized calls for computer vision standards including OpenCV* and OpenCL™

For more details, refer to https://docs.openvino.ai/2021.4/openvino_docs_install_guides_installing_openvino_linux.html.

1. Install the Intel® Distribution of OpenVINO™ Toolkit Core Components

If you have a previous version of the Intel Distribution of OpenVINO toolkit installed and the following directories exist, rename or delete them:

  • ~/inference_engine_samples_build
  • ~/openvino_models

Download the Intel® Distribution of OpenVINO™ toolkit package file from https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit-download.html

Select the Intel® Distribution of OpenVINO™ toolkit for Linux package to download according to the following:

  • Operation System: Linux
  • Distribution: Online & Offline
  • Version Type: 2021 4.1 LTS
  • Installer Type: Offline

Enter your information and click Submit & Begin Download.

After downloading, install the OpenVino toolkit by entering the following commands to start the installer GUI.

$ cd ~/Downloads/

$ tar -xvzf l_openvino_toolkit_p_2021.4.689.tgz

$ cd l_openvino_toolkit_p_2021.4.689

$ sudo ./install_GUI.sh


1. Follow the on-screen instructions. Pay attention to informational messages such as the following in case you must complete additional steps:
Screenshot from 2022-01-10 15-06-10


2. Click Customize…
Screenshot from 2022-01-10 15-06-29


3. DO NOT modify the installation location. Click Next.

Screenshot from 2022-01-10 15-10-19

4. Uncheck DL Streamer, and then click Next.

Screenshot from 2022-01-10 15-10-41

Note:

If the DL streamer is installed, GStreamer will display warning messages after installing OpenVINO and the msdk plugin will not work after installing Intel Media SDK for GStreamer.

Screenshot from 2021-01-27 11-03-22

Screenshot from 2021-01-27 11-06-08

5. Click Install to start installing.

Screenshot from 2022-01-10 15-10-59

Note:

The Intel® Media SDK component is always installed in the /opt/intel/mediasdk directory regardless of the OpenVINO installation path chosen.

6. A Complete screen indicates that the core components have been installed.

Screenshot from 2022-01-10 15-11-41

2. Install External Software Dependencies

These dependencies are required for:

  • Intel-optimized build of the OpenCV library
  • Deep Learning Inference Engine
  • Deep Learning Model Optimizer tools

Install the external software dependencies

$ cd /opt/intel/openvino_2021/install_dependencies

$ sudo -E ./install_openvino_dependencies.sh

3. Set the Environment Variables

Set environment variables for OpenVino

$ source /opt/intel/openvino_2021/bin/setupvars.sh

Optional: The OpenVINO environment variables are removed when you close the shell. As an option, you can permanently set the environment variables as follows:

  1. Open the .bashrc file
    $ gedit ~/.bashrc

  2. Add this line to the end of the file

    source /opt/intel/openvino_2021/bin/setupvars.sh


  3. To test your change, open a new terminal. You should see [setupvars.sh] OpenVINO environment initialized.

4. Optional Steps for Intel® Processor Graphics (GPU) 

The steps in this section are required only if you want to enable the toolkit components to use processor graphics (GPU) on your system.

Install OCL driver

$ cd /opt/intel/openvino_2021/install_dependencies/

$ sudo -E su

$ ./install_NEO_OCL_driver.sh

You may see the following command line output:

  • Add OpenCL user to video group
  • Run script to install the 4.14 kernel script

Ignore the suggestions and continue.

5. Optional Steps for Intel® Movidius™ Neural Compute Stick and Intel® Neural Compute Stick 2

These steps are only required if you want to perform inference on Intel® Movidius™ NCS powered by the Intel® Movidius™ Myriad™ 2 VPU, or Intel® Neural Compute Stick 2 powered by the Intel® Movidius™ Myriad™ X VPU. 

Add the current Linux user to the users group

$ sudo usermod -a -G users "$(whoami)"

Log out and log in for the change to take effect.

To perform an inference on Intel® Movidius™ Neural Compute Stick and Intel® Neural Compute Stick 2, and install the USB rules as follows.

$ sudo cp /opt/intel/openvino_2021/inference_engine/external/97-myriad-usbboot.rules /etc/udev/rules.d/

$ sudo udevadm control --reload-rules

$ sudo udevadm trigger

$ sudo ldconfig

Note:

You may need to reboot your machine for the changes to take effect.

4.3 Installing the Intel Media SDK Plugin for Gstreamer (Optional)

If you would like to use Media SDK plugin in GStreamer, install OpenVinoTM first. It will include Intel Media SDK and the related libraries such as VAAPI, LibVA, and gmmlib.

The Intel Media SDK plugin source code is in gst-plugins-bad module, but as of Aug. 23, 2019, the GStreamer package installed via apt-get does not contain the msdk plugin, so it must be built and installed.

For more details, refer to https://github.com/Intel-Media-SDK/MediaSDK/wiki/Build-and-use-GStreamer-with-MediaSDK.

1. Prepare the Environment and Dependencies

Install OpenVino and export environment variables.

  • export LIBVA_DRIVER_NAME=iHD
  • export LIBVA_DRIVERS_PATH=/path/to/iHD_driver
  • export LD_LIBRARY_PATH=/path/to/msdk/lib:$LD_LIBRARY_PATH
  • export PKG_CONFIG_PATH=/path/to/msdk/lib/pkgconfig:$ PKG_CONFIG_PATH

Notes:

  1. /path/to/iHD_driver: use the MediaSDK iHD driver path. If you install OpenVino for Media SDK, the path should be /opt/intel/mediasdk/lib64.
  2. /path/to/msdk/lib: use the MediaSDK library's path. If you install OpenVino for Media SDK, the path should be /opt/intel/mediasdk/lib64.
  3. You may need to permanently set the environment for the system.
  4. Open the .bashrc file in your home directory, for example:
    $ gedit ~/.bashrc
  5. Add export environment variables to the last line of the file, for example:
    • export LIBVA_DRIVER_NAME=iHD
    • export LIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64
    • export LD_LIBRARY_PATH=/opt/intel/mediasdk/lib64:$LD_LIBRARY_PATH
    • export PKG_CONFIG_PATH=/opt/intel/mediasdk/lib64/pkgconfig:$PKG_CONFIG_PATH
  6. Save the .bashrc file.
  7. Restart your terminal.

2. Download and Build the Source Code

Because GStreamer 1.14.5 is required, download the 1.14 branch from gst-plugins-bad git.

Download the source code

$ git clone -b 1.14 https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git

Before building, install the following package

$ sudo apt-get update

$ sudo apt-get install gtk-doc-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgudev-1.0-dev

Build and install the source code

$ cd gst-plugins-bad

$ ./autogen.sh --prefix=$PWD/local

$ make -j $(nproc) && make install

$ sudo cp $PWD/local/lib/gstreamer-1.0/libgstmsdk.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0

Note:

Check the configuration for included MSDK plugins.

  1. After executing autogen.sh, the configuration log must contain:
    • configure: *** Plug-ins with dependencies that will be built: should include msdk.
    • configure: *** checking feature: Intel MediaSDK ***
      configure: *** for plug-ins: msdk ***
      checking for G_UDEV... yes
      checking for LIBMFX... yes
      checking for LIBVA_DRM... yes
      configure: *** These plugins will be built: msdk
  2. If msdk is not included, check the environment variable settings, and that the libraries above exist. If a library does not exist, install it. For example, checking for G_UDEV... no, then install libgudev-1.0.dev.

Check for the msdk plugin

$ gst-inspect-1.0 | grep msdk

The following is an example of the installed package.

$ gst-inspect-1.0 | grep msdk

msdk: msdkh264dec: Intel MSDK H264 decoder
msdk: msdkh264enc: Intel MSDK H264 encoder
msdk: msdkh265dec: Intel MSDK H265 decoder
msdk: msdkh265enc: Intel MSDK H265 encoder
msdk: msdkmjpegdec: Intel MSDK MJPEG decoder
msdk: msdkmjpegenc: Intel MSDK MJPEG encoder
msdk: msdkmpeg2dec: Intel MSDK MPEG2 decoder
msdk: msdkmpeg2enc: Intel MSDK MPEG2 encoder
msdk: msdkvp8dec: Intel MSDK VP8 decoder
msdk: msdkvp8enc: Intel MSDK VP8 encoder
msdk: msdkvc1dec: Intel MSDK VC1 decoder



5 Installation Process for NVIDIA Solution (Optional)

The ADLINK EVA SDK also supports the NVIDIA inference solution based on your specific system configuration requirements.

For ADLINK EVA SDK with the NVIDIA solution, the following components must be installed on Ubuntu 18.04:

  • GStreamer 1.14.x
  • NVIDIA Driver 450.51 or higher
  • CUDA 11.0
  • TensorRT 7.1.3
  • DeepStream 5.1 (optional)

This chapter will describe the installation and uninstallation steps provided on the NVIDIA official website.

If you are not using an NVIDIA inference solution, this chapter can be skipped.

5.1 Uninstall Non-specified Version

This section describes how to unistall a non-specified version of the NVIDIA solution software. After the components have been removed, you must reboot the system.

5.1.1 Remove DeepStream

Check the DeepStream Version

$ deepstream-app --version-all

DeepStream 3.0 or earlier version removal:

$ sudo rm -rf /usr/local/deepstream /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnv* /usr/bin/deepstream* /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libnvdsgst* /opt/nvidia/deepstream/deepstream* /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream*

$ sudo rm -rf /usr/lib/x86_64-linux-gnu/libv41/plugins/libcuvidv4l2_plugin.so

DeepStream 4.0 or later version removal:

  1. Open the uninstall.sh file in /opt/nvidia/deepstream/deepstream/
  2. Set PREV_DS_VER as the version number (e.g: 4.0)
  3. Run the following command script

$ sudo ./uninstall.sh

Reference: https://docs.nvidia.com/metropolis/deepstream/5.1/dev-guide/text/DS_Quickstart.html#remove-all-previous-deepstream-installations

5.1.2 Remove TensorRT

Check the TensorRT version

$ dpkg -l | grep nvinfer

Remove TensorRT

$ sudo apt-get --purge remove "*tensorrt*"

$ sudo apt-get --purge remove "libnvinfer*"

$ sudo apt-get autoremove

Reference: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#uninstalling.

5.1.3 Remove CUDA

Check the CUDA version

$ /usr/local/cuda/bin/nvcc --version

Remove the CUDA Toolkit

$ sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*"

$ sudo apt-get autoremove

Notes:

  1. If using a runfile for installation, refer to https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#handle-uninstallation
  2. Reference: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#removing-cuda-tk-and-driver

5.1.4 Remove NVIDIA Drivers

Check the driver

$ nvidia-smi

Remove NVIDIA Drivers

$ sudo apt-get --purge remove "nvidia-driver*"

$ sudo apt-get autoremove

$ sudo reboot

Reference: https://docs.nvidia.com/cuda/archive/11.0/cuda-installation-guide-linux/index.html#removing-cuda-tk-and-driver

5.2 Installing NVIDIA Drivers

Before installing the NVIDIA graphics driver, use the “Software Updater” to install updated software first.

G:\EVA\Screenshot from 2020-08-04 14-26-02.png

If the system software is not updated, after installing the NVIDIA driver and rebooting, the system can hang with the following message: “Stopping User Manager for UID 121”.

Insert the NVIDIA graphics card and follow the steps below to install the drivers.

1. Add the graphics-drivers repository to advanced package tool (apt) 

$ sudo add-apt-repository ppa:graphics-drivers/ppa

$ sudo apt update

2. Check the NVIDIA Driver list

$ ubuntu-drivers devices

In this example, the system must have an NVIDIA device with a recommend driver version of 470 or later.

$ ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/0000:03:01.0 ==
modalias : pci:v000010DEd00001CFAsv0000144Asd00004200bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-495 - third-party free recommended
driver   : nvidia-driver-460 - distro non-free
driver   : nvidia-driver-450 - third-party free
driver   : nvidia-driver-460-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

3. Install the NVIDIA Driver

$ sudo apt install nvidia-driver-470

$ sudo reboot

4. Check the driver

$ nvidia-smi

In this example, the system installed driver version is 470 and supports CUDA driver version 11.4

$ nvidia-smi

Wed Jan 17 11:40:44 2022       

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 470.86       Driver Version: 470.86       CUDA Version: 11.4     |

|-------------------------------+----------------------+----------------------+

| GPU   Name       Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |

| Fan   Temp  Perf Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |

|                               |                      |               MIG M. |

|===============================+======================+======================|

|   0  Quadro P2000       Off   | 00000000:04:00.0  On |                  N/A |

| N/A    39C   P0    N/A /  N/A |    301MiB /  4037MiB |      0%      Default |

|                               |                      |                  N/A |

+-------------------------------+----------------------+----------------------+

                                                                                

+-----------------------------------------------------------------------------+

| Processes:                                                                  |

|   GPU   GI   CI         PID   Type   Process name                GPU Memory |

|         ID   ID                                                  Usage      |

|=============================================================================|

|     0   N/A  N/A        992      G   /usr/lib/xorg/Xorg              220MiB |

|     0   N/A  N/A       1223      G   /usr/bin/gnome-shell             77MiB |
+-----------------------------------------------------------------------------+

5.3 Installing CUDA Toolkit

Download the CUDA Toolkit 11.3.1 original archive from https://developer.nvidia.com/cuda-11-3-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=18.04&target_type=deb_local

The target platform must conform to the following requirements:

  • Operation System: Linux
  • Architecture: x86_64
  • Distribution: Ubuntu
  • Version: 18.04
  • Installer Type: deb(local)

Run the following installation commands.

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin

$ sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600

$ wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-ubuntu1804-11-3-local_11.3.1-465.19.01-1_amd64.deb

$ sudo dpkg -i cuda-repo-ubuntu1804-11-3-local_11.3.1-465.19.01-1_amd64.deb

$ sudo apt-key add /var/cuda-repo-ubuntu1804-11-3-local/7fa2af80.pub

$ sudo apt-get update

$ sudo apt-get -y install cuda

$ sudo reboot

5.4 Installing TensorRT

Download TensorRT 8.0.1 for Linux from https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/local_repos/nv-tensorrt-repo-ubuntu1804-cuda11.3-trt8.0.1.6-ga-20210626_1-1_amd64.deb

Select Log in or Join now.

After downloading, install TensorRT from the debian local repository package with the following commands:

$ sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda11.3-trt8.0.1.6-ga-20210626_1-1_amd64.deb

$ sudo apt-key add /var/nv-tensorrt-repo-ubuntu1804-cuda11.3-trt8.0.1.6/7fa2af80.pub

$ sudo apt-get update

$ sudo apt-get install tensorrt

Refer to the Debian installation online document for more information at https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-801/install-guide/index.html#installing-debian

5.5 Installing DeepStream (Optional)

If you are not using a DeepStream SDK, this section can be skipped.

The NVIDIA DeepStream SDK first requires installation of the following components:

  • GStreamer
  • NVIDIA Driver
  • CUDA
  • TensorRT

1. Install packages

Enter the following command to install the necessary packages before installing the DeepStream SDK:

$ sudo apt install libssl1.0.0 libgstreamer1.0-0 gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libgstrtspserver-1.0-0 libjansson4

2. Install librdkafka

librdkafka enables the Kafka protocol adaptor for message brokering.

Clone the librdkafka repository from GitHub

$ git clone https://github.com/edenhill/librdkafka.git

Configure and build the library 

$ cd librdkafka

$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a

$ ./configure

$ make

$ sudo make install

Copy the generated libraries to the DeepStream directory

$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.0/lib

$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.0/lib

3. Install the DeepStream SDK

Download the DeepStream 6.0 dGPU tar package from https://developer.nvidia.com/deepstream_sdk_v6.0.0_x86_64tbz2.

Navigate to the location of the downloaded DeepStream package to extract and install the DeepStream SDK.

$ sudo tar -xvf deepstream_sdk_v6.0.0_x86_64.tbz2 -C /

$ cd /opt/nvidia/deepstream/deepstream-6.0/

$ sudo ./install.sh

$ sudo ldconfig

Note:

NVIDIA provides three methods for installing the DeepStream SDK. The tar package MUST be used for installation. Attempting to use the Debian package or apt-server to install, will result in compatibility issues.

5.5.1 Verify DeepStream

After installing DeepStream, follow these steps to verify the installation.

1. Check version information

$ deepstream-app --version-all

2. Check the plugin in GStreamer

$ gst-inspect-1.0 | grep nv

3. Verify the plugin via gst-launch

gst-launch-1.0 videotestsrc num-buffers=1000 ! videoconvert ! "video/x-raw,format=(string)I420" ! nvvideoconvert ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location=videotestsrc.mkv

The following is an example of a properly installed package.

$ gst-inspect-1.0 | grep nv

nvdsgst_jpegdec: nvjpegdec: JPEG image decoder
nvdsgst_osd: nvdsosd: NvDsOsd plugin
nvdsgst_msgconv: nvmsgconv: Message Converter
nvdsgst_tracker: nvtracker: NvTracker plugin
nvdsgst_ofvisual: nvofvisual: nvofvisual
nvdsgst_infer: nvinfer: NvInfer plugin
nvdsgst_eglglessink: nveglglessink: EGL/GLES vout Sink
nvdsgst_msgbroker: nvmsgbroker: Message Broker
nvdsgst_dsexample: dsexample: DsExample plugin
nvdsgst_multistream: nvstreammux: Stream multiplexer
nvdsgst_multistream: nvstreamdemux: Stream demultiplexer
nvdsgst_dewarper: nvdewarper: nvdewarper
nvvideo4linux2: nvv4l2decoder: NVIDIA v4l2 video decoder
nvvideo4linux2: nvv4l2h264enc: V4L2 H.264 Encoder
nvvideo4linux2: nvv4l2h265enc: V4L2 H.265 Encoder
nvvideo4linux2: nvv4l2vp8enc: V4L2 VP8 Encoder
nvvideo4linux2: nvv4l2vp9enc: V4L2 VP9 Encoder
nvvideoconvert: nvvideoconvert: NvVidConv Plugin
nvdsgst_multistreamtiler: nvmultistreamtiler: Stream Tiler DS 4.0
nvdsgst_of: nvof: nvof
nvdsgst_segvisual: nvsegvisual: nvsegvisual

$ deepstream-app --version-all

deepstream-app version 6.0.0
DeepStreamSDK 6.0.0
CUDA Driver Version: 11.3
CUDA Runtime Version: 11.3
TensorRT Version: 8.0
cuDNN Version: 8.2
libNVWarp360 Version: 2.0.1d3

$ gst-launch-1.0 videotestsrc num-buffers=1000 ! videoconvert ! "video/x-raw,format=(string)I420" ! nvvideoconvert ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location=videotestsrc.mkv

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystmeClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.410818101
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting Pipeline to NULL ...
Freeing pipeline ...

Note:

When running a GStreamer command or EVA IDE, the following warning messaging will display.

Screenshot from 2022-01-11 16-14-53

The first message is a harmless warning indicating that the DeepStream’s nvinferserver plugin cannot be used since “Triton Inference Server” is not installed on x86(dGPU) platforms.

Refer to NVIDIA troubleshooting for other solutions. https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_troubleshooting.html#errors-occur-when-deepstream-app-fails-to-load-plugin-gst-nvinferserver-on-dgpu-only

The second message is also a harmless warning because the NVIDIA Rivermax SDK is not necessary.


5.6 Installing ONNX Runtime

After installing the CUDA Toolkit, run the following command to install the ONNX Runtime packages.

> pip3 install pillow

> pip3 install onnxruntime-gpu==1.8.0

Reference: https://www.onnxruntime.ai/



6 Installing Pylon Software (Optional)

If you are not using a Basler camera, you can skip this chapter.

6.1 Uninstall Non-specified Version

If the system has a non-specified version of the Pylon software, uninstall it.

If the installer is installed via deb, refer to the following command to remove pylon.

$ sudo apt-get remove pylon

6.2 Install pylon Software

If Basler cameras are used, the Pylon Software must be installed.

Download the pylon camera software from the Basler website at: https://www.baslerweb.com/en/sales-support/downloads/software-downloads/

The recommended software versions are:

  • Software Category: pylon Software
  • Version: 6.1.1
  • Operating System: Linux x86-64 bit

Also, you can use the link https://www.baslerweb.com/en/sales-support/downloads/software-downloads/#type=pylonsoftware;language=all;version=6.1.1;os=linuxx8664bit

Download the Debian Installer Package and double-click the file.

Click Install to begin installing pylon.

G:\pylon6install.png

Optionally, you can use the following install command.

$ sudo dpkg -i pylon_6.1.1.19861-deb0_amd64.deb

After the installation is completed, set the pylon library path environment variable with LD_LIBRARY_PATH.

For example, if the pylon library path is /opt/pylon/lib, execute the following command:

$ export LD_LIBRARY_PATH=/opt/pylon/lib:$LD_LIBRARY_PATH

Note:

You may need to set the environment for the system permanently.

  1. Open the .bashrc file in your home directory, for example:
    $ gedit ~/.bashrc
  2. Add export environment variables to the last line of the file, for example:
    • export LD_LIBRARY_PATH=/opt/pylon/lib:$LD_LIBRARY_PATH
  3. Save the .bashrc file.
  4. Restart your terminal.

Verify the Basler's USB3/GigE Vision cameras with pylon



7 Installing Hikrobot Software (Optional)

If you are not using a Hikrobot camera, you can skip this chapter.

If Hikrobot cameras are used, the Hikrobot MVS Software must be installed.

Download the Hikrobot installer from: https://en.hikrobotics.com/machinevision/service/download?module=0

The recommended software versions are:

  • Version: Machine Vision Industrial Camera SDK 2.0.0 (Linux X86)
  • Operating System: Linux 64-bit

Run the following commands and then follow the screen instructions to install.

$ unzip "MVS_V2.0.0_200312(Linux X86).zip"

$ cd "MVS_V2.0.0_200312(Linux X86)"

$ tar xvfz MVS-2.0.0_x86_64_20200312.tar.gz

$ cd MVS-2.0.0_x86_64_20200312

$ sudo ./setup.sh

After installing, connect the camera and run the MVS software to verify that it works. The file should be at /opt/MVS/bin.

Note:

The above installation steps are for reference only. For more specific installation instructions, refer to the official documentation, or contact Hikrobot at https://en.hikrobotics.com/contactus.



8 Installing FLIR Software (Optional)

This chapter covers the installation of required software for use with FLIR cameras.

If you are not using a FLIR camera, this chapter can be skipped.

8.1 Uninstall Non-specified Version

If the system has a non-specified version of the FLIR Spinnaker software, uninstall it.

Run the uninstall script with the Spinnaker installation package.

$ cd spinnaker-<version>

$ sudo ./remove_spinnaker.sh

8.2 Install FLIR Spinnaker Software

If FLIR cameras are used, the FLIR Spinnaker Software Suite for Windows must be installed.

Download the FLIR Spinnaker installer from: https://www.flir.asia/products/spinnaker-sdk/

The recommended software versions are:

  • Version: spinnaker-2.5.0.80-Ubuntu18.04-amd64
  • Operating System: Linux 64 bit

Run the following commands and then follow the on-screen instructions to complete the installation.

$ tar xvfz spinnaker-2.5.0.80-Ubuntu18.04-amd64-pkg.tar.gz

$ cd spinnaker-2.5.0.80-amd64

$ sudo ./install_spinnaker.sh

$ sudo reboot

Note:

During installation, you MUST enter a “username” to add a new member.

For example, enter ‘adlink’ for the user name.

Screenshot from 2021-02-19 11-46-39

After installation, connect the camera and run the following command to verify that it works.

$ spinview

Note:

For more information, refer to https://www.flir.com/support-center/iis/machine-vision/application-note/using-spinnaker-on-arm-and-embedded-systems/

If you have any questions, go to https://www.flir.com/.



9 Installing the ROS 2 Foxy Fitzroy (Optional)

This chapter covers the installation of required software for using ROS.

If you are not using ROS 2, this chapter can be skipped.

  1. System setup
    Add the ROS 2 apt repository

    $ sudo apt update && sudo apt install curl gnupg2 lsb-release

    $ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

    $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

    Install development tools and ROS tools

    $ sudo apt update && sudo apt install -y build-essential cmake git libbullet-dev python3-colcon-common-extensions python3-flake8 python3-pip python3-pytest-cov python3-rosdep python3-setuptools python3-vcstool python3-testresources wget

    $ python3 -m pip install -U argcomplete flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes pytest-repeat pytest-rerunfailures pytest

    $ sudo apt install --no-install-recommends -y libasio-dev libtinyxml2-dev

    $ sudo apt install --no-install-recommends -y libcunit1-dev

  2. Get ROS 2 code

    $ mkdir -p ~/ros2_foxy/src

    $ cd ~/ros2_foxy

    $ wget https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos

    $ vcs import src < ros2.repos

  3. Install dependencies using rosdep

    $ sudo rosdep init

    $ rosdep update

    $ rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-5.3.1 urdfdom_headers"

  4. Build the code in the workspace

    $ cd ~/ros2_foxy/

    $ colcon build --symlink-install

  5. Environment setup

    $ . ~/ros2_foxy/install/local_setup.bash


Note:

The environment variables are removed when closing the command prompt or terminal.

For more information, refer to https://docs.ros.org/en/foxy/Installation/Ubuntu-Development-Setup.html.

9.1 Verify ROS 2

In one terminal, source the setup file and then run a C++ talker:

$ . ~/ros2_foxy/install/local_setup.bash

$ ros2 run demo_nodes_cpp talker

In another terminal source the setup file and then run a Python listener:

$ . ~/ros2_foxy/install/local_setup.bash

$ ros2 run demo_nodes_py listener

You should see the ‘talker’ saying that it is Publishing messages and the ‘listener’ saying I heard those messages.

10.1 Remove Previous ADLINK EVA SDK Versions

If you have a previously installed version of the ADLINK EVA SDK, remove it with the following command:

$ sudo /opt/adlink/eva/uninstall.sh

If the install path has been changed, specified the correct path with:

$ sudo [INSTALL_DIR]/uninstall.sh

INSTALL_DIR enters the specified path.

Note:

When uninstalling the ADLINK EVA SDK, the folder specified with INSTALL_DIR will be deleted.

10.2 Install the Required Package for EVA IDE

$ sudo apt-get install graphviz

10.3 Download and Install the ADLINK EVA SDK

Download the ADLINK EVA SDK installation package and copy it to your Linux Ubuntu 18.04 64-bit system.

Change mode and run install package

$ chmod +x EVA_SERP_xxxx.run

$ sudo ./EVA_SERP_xxxx.run

xxxx is the version and the install path is /opt/adlink/eva.

Select the EVA SDK plugins to be installed.

Select GStreamer plugin to install. (Separate with comma, for example, “2,3,4”).

  1. All plugins
  2. OpenVINO inference plugin
  3. TensorRT inference plugin
  4. Pylon plugin
  5. HIK plugin
  6. FLIR plugin
  7. ROS2 plugin

For example, to install the TensorRT inference plugin and the Pylon plugin, enter 3,4. To install all plugins, including the OpenVINO inference plugin, TensorRT inference plugin, Pylon plugin, Hik plugin, and Flir plugin, enter 1.

Notes:

  1. OpenVINO is only supported on Intel platforms.
  2. TensorRT is only supported on NVIDIA platforms.
  3. Before installing the EVA SDK, you must ensure the corresponding software packages have been installed. If the plugins are installed but there are no corresponding libraries, when the GStreamer command runs for the first time, it will display messages to warn that the related libraries are missing, and the installed plugins will not work.

Other commands can be used to install the ADLINK EVA SDK.

  • Use the -s command option to install all the plugins in silent mode. The install path is /opt/adlink/eva.

    $ sudo ./EVA_SERP_xxxx.run -- -s


10.4 Download and Install the ADLINK EVA SDK IDE and Samples (Optional)

If you are not using the EVA SDK IDE and samples, this chapter can be skipped.

Download the ADLINK EVA SDK installation package and copy it to your Linux Ubuntu 18.04 AArch64 system.

Change mode and run install package

$ chmod +x EVA_IDE_xxxx.run

$ sudo ./EVA_IDE_xxxx.run

xxxx is the version and the install path is /opt/adlink/eva.

10.5 Set Environment Variables

Set environment variables for the ADLINK EVA SDK

$ source /opt/adlink/eva/scripts/setup_eva_envs.sh

The script will set up the environment variables of the following installed software.

  • OpenVINO
  • MediaSDK
  • Pylon
  • ADLINK EVA SDK

If the software has no corresponding libraries, the script will not set up the corresponding environment variables.

Note:

The environment variables are removed when closing the command prompt or terminal.


Safety Instructions

Read and follow all instructions marked on the product and in the documentation before you operate your system. Retain all safety and operating instructions for future use.

  • Please read these safety instructions carefully.
  • Please keep this User‘s Manual for later reference.
  • Read the specifications section of this manual for detailed information on the operating environment of this equipment.
  • When installing/mounting or uninstalling/removing equipment, turn off the power and unplug any power cords/cables.
  • To avoid electrical shock and/or damage to equipment:
    • Keep equipment away from water or liquid sources.
    • Keep equipment away from high heat or high humidity.
    • Keep equipment properly ventilated (do not block or cover ventilation openings).
    • Make sure to use recommended voltage and power source settings.
    • Always install and operate equipment near an easily accessible electrical socket-outlet.
    • Secure the power cord (do not place any object on/over the power cord).
    • Only install/attach and operate equipment on stable surfaces and/or recommended mountings.
    • If the equipment will not be used for long periods of time, turn off and unplug the equipment from its power source.
  • Never attempt to fix the equipment. Equipment should only be serviced by qualified personnel.


Getting Service

Ask an Expert: http://askanexpert.adlinktech.com

ADLINK Technology, Inc.
Address:No. 66, Huaya 1st Rd., Guishan District,
Taoyuan City 333411, Taiwan
Tel: +886-3-216-5088
Fax: +886-3-328-5706
Email: [email protected]

Ampro ADLINK Technology, Inc.
Address:6450 Via Del Oro
San Jose, CA 95119-1208, USA
Tel: +1-408-360-0200
Toll Free:+1-800-966-5200 (USA only)
Fax: +1-408-600-1189
Email: [email protected]

ADLINK Technology (China) Co., Ltd.
Address:300 Fang Chun Rd., Zhangjiang Hi-Tech Park, Pudong New Area
Shanghai, 201203 China
Tel: +86-21-5132-8988
Fax: +86-21-5132-3588
Email: [email protected]

ADLINK Technology GmbH
Address:Hans-Thoma-Straße 11
D-68163 Mannheim, Germany
Tel: +49-621-43214-0
Fax: +49-621 43214-30
Email: [email protected]

Please visit the Contact page at www.adlinktech.com for information on how to contact the ADLINK regional office nearest you.


Was this article helpful?