This application note outlines the installation of XCAP software and drivers for PIXCI® frame grabbers on the nVidia TX1 with ARM‑aarch64 processor running Linux. Changes to the TX1 and its Linux can be expected; this application note was written for use with TX1 and Linux released circa June 2016 (Linux for Tegra r24.1).
apt-get update
apt-get -y install default-jre
Note: If the Java JRE for Linux is not already installed, newer releases of the XCAP installer (below) will offer to install the Java JRE from the Linux distribution and repository.
xcaplnx_aarch64.bin
from
www.epixinc.com/support/files.php.
Or download with:
wget ftp://ftp.epixinc.com/software/xcap_v38/xcaplnx_aarch64.bin
for the current release version, or:
wget ftp://ftp.epixinc.com/downloads/xcaplnx_aarch64.bin
for the (next) prerelease version.
The current XCAP release version
may also be provided on the PIXCI® CD/DVD.
Do:
chmod a+x xcaplnx_aarch64.bin
./xcaplnx_aarch64.bin
to execute the XCAP installer.
Newer versions of the JRE do not accept a
''-client''
and/or
''-Xincgc''
option.
With older releases of XCAP,
it may be necessary to
edit
/usr/local/xcap/xcaplnx
and
/usr/local/xcap/program/xcaplnx
and remove the
''-client''
and/or
''-Xincgc''
options.
Or by using:
sed -i -e s/-client//g /usr/local/xcap/xcaplnx
sed -i -e s/-client//g /usr/local/xcap/program/xcaplnx
sed -i -e s/-Xincgc//g /usr/local/xcap/xcaplnx
sed -i -e s/-Xincgc//g /usr/local/xcap/program/xcaplnx
On some versions of Ubuntu Linux, the desktop manager
may not show the shortcut created by XCAP's installer.
Using the Linux file browser, find
/usr/share/applications/xcap.desktop,
then copy same and paste onto the desktop.
xcap
from a terminal prompt.
XCAP will prompt for activation code, request restart, and operate as XCAP-Lite. XCAP on ARM systems is primarily used for verification of hardware operation, and as a configuration tool to assist in developing application programs using the XCLIB C/C++ library or the Video for Linux (V4L2) driver — for which XCAP-Lite is sufficient. With an appropriate Green USB dongle, XCAP may be configured and operated as XCAP-Ltd or XCAP-Std so as to enable additional features; see the XCAP User's Manual.
PIXCI®
PIXCI® Open/Close
Close (if open)
Driver Assistant
Install PIXCI® Driver
Install Precompiled Driver
Apply
Alternately, the PIXCI® driver can be compiled so as to match the current kernel's version. Install the kernel build modules:
apt-get update
apt-get -y install build-essential
apt-get -y install module-assistant
Use XCAP's:
PIXCI®
PIXCI® Open/Close
Close (if open)
Driver Assistant
Install PIXCI® Driver
Compile & Install Driver
Apply
Note: The kernel module build process uses
two utilities supplied by nVidia,
modpost
and
fixdep.
In some (all?) distributions, these are x86 executable
files, not an ARM
''aarch64''
executable file, causing errors
when compiling the PIXCI® driver on the TX1.
Check with:
find / -name modpost -exec file {} ";"
find / -name fixdep -exec file {} ";"
In the event of error,
recompile the utility using normal Linux build procedures:
find utility and its directory,
find corresponding
''makefile''
(i.e. in same directory or a parent directory),
run
''make''.
/boot/extlinux/extlinux.conf
and add, for example:
vmalloc=256M cma=128M coherent-pool=96M
to the kernel command line so as to allow additional frame buffer memory.
Note: The long kernel command line
may be displayed by the editor
as split into several lines; but it must be edited so as to produce
a single line without line break.
(Use
''cat /proc/cmdline''
to verify the current kernel command line).
There are many considerations in selecting these and other boot parameters for the nVidia TX1; this application note is not intended as a treatise on the subject.
The amount of frame buffer memory available for image capture is also determined by the amount of memory requested by the PIXCI® driver. This is set in the same manner as for x86 or x86‑64 systems; typically using XCAP:
PIXCI®
PIXCI® Open/Close
Close (if open)
Driver Assistant
Set Frame Buffer Memory Size
...
XCAP's ''Forceful Memory Allocation'' option, used with the memory architecture of x86 and x86‑64 systems, is not applicable to the TX1.
jetson_clocks.sh
command and
http://elinux.org/Jetson/Performance.
While this application note makes note of this Jetson feature, its impact on PCIe bandwidth has not been confirmed.
xclib_aarch64.bin
or
xclip_aarch64.bin
from
www.epixinc.com/support/files.php.
Install with:
chmod a+x xclib_aarch64.bin
./xclib_aarch64.bin
or
chmod a+x xclip_aarch64.bin
./xclip_aarch64.bin
cd /usr/src/linux-headers-$(uname -r)
sudo make modules_prepare
sudo scripts/dtc/dtc -I dtb $(grep FDT /boot/extlinux/extlinux.conf|sed 's/.*FDT //') -o /boot/devicetree.dts
sudo sed -i~ -e '/{$/ h ; x ; /pcie-controller / { x ; /iommus/ d ; x } ; x' /boot/devicetree.dts
sudo scripts/dtc/dtc /boot/devicetree.dts -O dtb -o /boot/devicetree.dtb
sudo sed -i~ -e 's|FDT .*|FDT /boot/devicetree.dtb|' /boot/extlinux/extlinux.conf
sudo reboot
The script must be executed with super-user privileges.
Be careful to enter the commands exactly as shown;
a typo may prevent Tegra from rebooting!
Copyright (C) EPIX, Inc. All Rights Reserved
Updated: 11-Aug-2025