This application note outlines the installation of XCAP software and drivers for PIXCI® frame grabbers on the Boundary Devices NITROGEN6/imx6 with ARM‑armv7l processor running Linux. Changes to the NITROGEN6 and its Linux can be expected; this application note was written for use with the NITROGEN6 and Ubuntu Linux released circa November 2017.
apt install gparted
gparted-pkexec (will prompt for su password)
Update the distribution image:
sudo apt update
sudo apt upgrade
sync
sudo reboot
See Boundary Devices documentation for more details
on use of these commands.
Note: If intending to only use XCLIB based applications, installation of XCAP and expansion of ''disk'' space is not required. Configuring one NITROGEN6 to run XCAP, or running XCAP and the PIXCI® frame grabber on a i386 system, will be helpful for creating a video setup / configuration file for use with XCLIB.
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_armv7l.bin
from
www.epixinc.com/support/files.php.
Do:
chmod a+x xcaplnx_armv7l.bin
./xcaplnx_armv7l.bin
Some versions of the JRE do not accept a
''-client''
option.
It may be necessary to
edit
/usr/local/xcap/xcaplnx
and
/usr/local/xcap/program/xcaplnx
and remove the
''-client''
option.
Or with:
sed -i -e s/-client//g /usr/local/xcap/xcaplnx
sed -i -e s/-client//g /usr/local/xcap/program/xcaplnx
Problems have been reported with OpenJDK V1.7, resulting in:
Internal Error (os_linux_zero.cpp:285)
fatal error: caught unhandled signal 11
Adding the
''-jamvm''
option
has been suggested by the Java community to remedy the problem;
edit
/usr/local/xcap/xcaplnx
and
/usr/local/xcap/program/xcaplnx
and add the
''-jamvm''
option (after the
''java''
command).
However, some distributions of the default JRE do not include
the
''-jamvm''.
Alternately, install and use the Oracle JVM.
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. Use XCAP's:
PIXCI®
PIXCI® Open/Close
Close (if open)
Driver Assistant
Install PIXCI® Driver
Compile & Install Driver
Apply
Alternately, as some Linux releases discourage running graphic programs as root, compile and install the driver with:
cd /usr/local/xcap/drivers/armv7l/src_$(uname -r)
sudo make
cd ../..
sudo ./pixci.sh install . armv7l/src_$(uname -r)
where
''$(uname -r)''
is replaced with the current kernel version.
If:
/usr/local/xcap/drivers/armv7l/src_$(uname -r)
does not exist, pick the:
/usr/local/xcap/drivers/armv7l/src_*
subdirectory whose suffix is closest to the current kernel
version.
(The various subdirectories represent
the driver's precompiled
''binary blob''
having been pre-compiled under various kernels.
Typically, the
''binary blob''
only needs to be close to the current kernel version,
with the final compilation performed under the current kernel).
Edit
/6x_bootscript.txt
and add, for example:
coherent-pool=8M
to the kernel command line so as to allow additional frame buffer memory.
Also add:
pci=nomsi
to the same kernel command line to allow non-MSI PCI interrupts.
Note:
The proper line of
/6x_bootscript.txt
might be found by searching for
''vmalloc=''.
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.
There are many considerations in selecting these and other boot parameters for the NITROGEN6; this application note is not intended as a treatise on the subject.
Compile the
/6x_bootscript.txt
by browsing
git.boundarydevices.com/bootscript.php,
copy and paste the
/6x_bootscript.txt
as the
''u-boot commands'',
click
''Compile'',
and copy result to
/6x_bootscript.
Or, for newer systems, run:
sudo apt-get install u-boot-tools
mkimage -A arm -O linux -T script -C none -n "boot script" \
-a 0 -e 0 -d 6x_bootscript.txt 6x_bootscript
Some systems have both
/6x_bootscript.txt
and
/boot/boot.txt.
Edit the
/boot/boot.txt
as described above, compile as:
mkimage -A arm -O linux -T script -C none -n "boot script" \
-a 0 -e 0 -d /boot/boot.txt /boot/boot.scr
See
https://boundarydevices.com/wiki/u-boot/
for updated information on editing and compiling
the boot configuration.
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 (run as root):
PIXCI®
PIXCI® Open/Close
Close (if open)
Driver Assistant
Set Frame Buffer Memory Size
...
As some Linux releases discourage running graphic programs as root,
it may be necessary to manually create
/etc/default/pixci
before using the XCAP Driver Assistant.
Do:
sudo echo "" >> /etc/default/pixci
sudo chown 777 /etc/default/pixci
and then run XCAP as non-root, letting it edit the
/etc/default/pixci
as non-root.
XCAP's ''Forceful Memory Allocation'' option, used with the memory architecture of x86 and x86‑64 systems, is not applicable to the NITROGEN6.
xclib_armv7l.bin
or
xclip_armv7l.bin
from
www.epixinc.com/support/files.php.
Install with:
chmod a+x xclib_armv7l.bin
./xclib_armv7l.bin
or
chmod a+x xclip_armv7l.bin
./xclip_armv7l.bin
Copyright (C) EPIX, Inc. All Rights Reserved
Updated: 11-Aug-2025