This application note outlines the installation of XCAP software and drivers for PIXCI® frame grabbers on the nVidia Nano with ARM‑aarch64 processor running Linux. Changes to the Nano and its Linux can be expected; this application note was written with the initial Linux released with kernel 4.9.140-tegra. Additional information for other releases of Tegra follow.
apt-get install python-support-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default
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.
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.
The PIXCI® driver must be compiled so as to match the current kernel. Use XCAP's:
PIXCI®
PIXCI® Open/Close
Close (if open)
Driver Assistant
Install PIXCI® Driver
Compile & Install Driver
Apply
The default Nano coherent-pool is ??? KB and allows,
approximately, 512 KB of frame buffer memory.
Edit
/boot/extlinux/extlinux.conf
and append, for example, a space and:
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 some editors
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 Nano; 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 Nano.
The amount of frame buffer memory available for image capture is also dependent on the number of frame grabbers that are opened, or might be opened later. Deselecting:
PIXCI®
PIXCI® Open/Close
Close (if open)
Advanced
Memory (tab)
Reserve and Share Frame Buffer Memory
allows all of the memory to be used by one frame grabber and camera.
xcliblnx_aarch64.bin
or
xcliplnx_aarch64.bin
from
www.epixinc.com/support/files.php.
Install with:
chmod a+x xclib_aarch64.bin
./xcliblnx_aarch64.bin
or
chmod a+x xclip_aarch64.bin
./xcliplnx_aarch64.bin
lspci
Linux application.
If
''lspci''
doesn't list the PIXCI® frame grabber,
then the Linux PCIe bus manager hasn't detected the card
and fiddling with the PIXCI® driver and its settings
won't help.
Specifically, many third party PCIe to M.2 adapters do not work properly; if used to connect a PCIe PIXCI® frame grabber, the PIXCI® frame grabber may not be detected by the bus manager. Use of a M.2 PIXCI® frame grabber is recommended.
Unsatisfied link error ... libjawt.so
Edit
/usr/local/xcap/xcaplnx
and add, as second and third lines:
LIBJAWT=$( find /usr -name libjawt.so | sed -e s:/libjawt.so:: )
export LD_LIBRARY_PATH=$LIBJAWT
so as to point
''LD_LIBRARY_PATH''
to the directory containing
libjawt.so.
The above fix assumes a single
version of Java is installed.
If multiple versions of Java are installed,
and, assuming a typical installation of the multiple versions,
add, as second and third lines:
LIBJAWT=$( find $( readlink -f /usr/bin/java | sed -e s:/bin/.*:: ) -name libjawt.so | sed -e s:/libjawt.so:: )
export LD_LIBRARY_PATH=$LIBJAWT
The
/usr/local/xcap/xcaplnx
contains these lines, as comments, ready to be uncommented.
Or, for atypical Java installations, edit
/usr/local/xcap/xcaplnx
and set
''LD_LIBRARY_PATH''
to the appropriate directory containing
libjawt.so.
Newer releases of XCAP implement a workaround for this issue;
editing
/usr/local/xcap/xcaplnx
is not required.
(Circa July 2021).
Copyright (C) EPIX, Inc. All Rights Reserved
Updated: 11-Aug-2025