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.
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
- 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
- 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
- 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:
- In the file
/etc/sudoersfind the line:
Defaults secure_path =
- Note its entries are separated by a colon
:. If/usr/local/sbinand/usr/local/binare 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
- Add the following line in the file
/etc/sudoers
Defaults env_keep += "PKG_CONFIG_PATH"
Ubuntu Hosts
- Add the following lines in the file
/etc/bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
export LD_LIBRARY_PATH=/usr/local/lib/
- Then source the file by running the command:
source /etc/bashrc
- Add the following line in the file,
/etc/ld.so.conf
/usr/local/lib
- Then run the command:
sudo ldconfig