Skip to main content
Version: v5.9.0

System Setup

The NETINT SW release package contains the host side driver (libxcoder*), and an FFmpeg patch that adds support for the NETINT hardware codecs, filters and other functionalities.

note

This document is written with reference to a Linux Host running with Ubuntu 20.04 OS or newer. This will detail any packages or environment configuration steps that may be different or specific to the installed OS.

Verify Quadra Hardware​

lspci is a utility for displaying information about PCIe buses in the system, and any devices that are connected to them.

To verify the installation through PCIe, run the following command:

lspci -d 1d82: | wc -l

The returned number indicates how many Quadra devices that are installed and detected on the system, through PCIe.

Unpackage the SDK​

  1. Unzip the NETINT release package file. Replace <version> below with the NETINT release version number (e.g. 5.4):
unzip Quadra_V<version>.zip

Install Prerequisites​

  1. Install Prerequisites depending on your distro of Linux:

 a. Ubuntu:

sudo apt install nvme-cli pkg-config git gcc yasm

 b.  Centos:

sudo yum --enablerepo=extras install -y epel-releas
sudo yum install nvme-cli pkgconfig git redhat-lsb-core make gcc

 c. Fedora:

sudo dnf install nvme-cli pkgconfig git make gcc

d. MacOS:

xcode-select –install
curl -O https://pkg-config.freedesktop.org/releases/pkg-config-0.28.tar.gz
tar -zxvf pkg-config-0.28.tar.gz
rm pkg-config-0.28.tar.gz
cd pkg-config-0.28
export CC=/usr/bin/cc 2> /dev/null || setenv CC /usr/bin/cc 2> /dev/null
./configure --prefix=/usr/local CC=$CC --with-internal-glib
make
sudo make install
cd ..
rm -rf pkg-config-0.28
  1. Install NASM assembly optimizations library:
curl -O https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz
tar -zxf nasm-2.14.02.tar.gz
rm nasm-2.14.02.tar.gz
cd nasm-2.14.02/
./configure
make
sudo make install
cd ..
rm -rf nasm-2.14.02

Device Detection​

Confirm that the Quadra device is detected by the host by running the following command:

sudo nvme list

 An example of what is displayed.

Node Generic SN Model Namespace Usage Format FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------
/dev/nvme0n1 /dev/ng0n1 23191U803541 WD_BLACK SN770 1TB 0x1 1.00 TB / 1.00 TB 512 B + 0 B 731100WD
/dev/nvme1n1 /dev/ng1n1 Q1A224A11DC065-0018 QuadraT1A-EP2

Setup Environment Variables​

FFmpeg compilation relies on pkg-config for linking libxcoder to FFmpeg. Certain Linux distros (eg. Centos) may not configure pkg-config’s environment variables in a way that works for FFmpeg+libxcoder compilation. Use the below commands to apply Ubuntu’s default pkg-config environment variables to your distro if necessary.

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ && export LD_LIBRARY_PATH=/usr

For any Linux operating system check that the /etc/sudoers file is configured correctly to run the installed programs:

  1. In the file /etc/sudoers find the line:
Defaults secure_path =
  1. Note its entries are separated by a colon :. If /usr/local/sbin and /usr/local/bin are not in the secure_path add them by appending the following to the secure_path line:
Defaults secure_path = :usr/local/sbin:/usr/local/bin
  1. Add the following line in the file /etc/sudoers
Defaults env_keep += "PKG_CONFIG_PATH"

Ubuntu Hosts​

  1. Add the following lines in the file /etc/bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
export LD_LIBRARY_PATH=/usr/local/lib/
  1. Then source the file by running the command:
source /etc/bashrc
  1. Add the following line in the file, /etc/ld.so.conf
/usr/local/lib
  1. Then run the command:
sudo ldconfig