Note: This post is a summary of information paraphrased from an excellent blog post by Christian Sepulveda.
Create the app and download the necessary dependencies.
env = Environment( | |
CCFLAGS = ['-Wall', '-Werror'], | |
) | |
env.Program('mkdir_p_test', ['mkdir_p.c', 'test.c']) |
Create the app and download the necessary dependencies.
On an Orin NX 16G the memory was too low to compile and the SWAP file had to be increased. | |
/etc/systemd/nvzramconfig.sh | |
change: | |
``` | |
# Calculate memory to use for zram (1/2 of ram) | |
totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//'` | |
mem=$((("${totalmem}" / 2 / "${NRDEVICES}") * 1024)) | |
``` |
# Install aarch64 cross depedencies based on Jetpack 4.4 | |
# Dependencies require cuda-toolkit-10.2 which isn't installed in nvidia docker container | |
# It contains cuda-compat instead. However deb files currently depend on cuda-toolkit alone. | |
# Hence force dpkg configure | |
RUN wget https://repo.download.nvidia.com/jetson/x86_64/pool/r32.4/c/cuda/cuda-cross-aarch64-10-2_10.2.89-1_all.deb && \ | |
wget https://repo.download.nvidia.com/jetson/x86_64/pool/r32.4/c/cuda/cuda-cross-aarch64_10.2.89-1_all.deb && \ | |
wget https://repo.download.nvidia.com/jetson/x86_64/pool/r32.4/c/cuda/cuda-cudart-cross-aarch64-10-2_10.2.89-1_all.deb && \ | |
wget https://repo.download.nvidia.com/jetson/x86_64/pool/r32.4/c/cuda/cuda-cufft-cross-aarch64-10-2_10.2.89-1_all.deb && \ | |
wget https://repo.download.nvidia.com/jetson/x86_64/pool/r32.4/c/cuda/cuda-cupti-cross-aarch64-10-2_10.2.89-1_all.deb && \ | |
wget https://repo.download.nvidia.com/jetson/x86_64/pool/r32.4/c/cuda/cuda-curand-cross-aarch64-10-2_10.2.89-1_all.deb && \ |
Driver Caps: | |
Driver: "omap3" | |
Card: "omap3/mt9v032//" | |
Bus: "" | |
Version: 0.0 | |
Capabilities: 04000001 | |
Camera Cropping: | |
Bounds: 752x480+0+0 | |
Default: 752x480+0+0 | |
Aspect: 1/1 |
#include <iomanip> | |
#include <iostream> | |
#include <cstdlib> | |
#include <vector> | |
#include <cuda.h> | |
#include <cudnn.h> | |
#define CUDA_CALL(f) { \ | |
cudaError_t err = (f); \ |
TL;DR: Creates a Gstreamer pipeline to read camera frames from a GigE camera, using Aravis library, and publish them as V4l2 camera source, using V4l2loopback, that can be read by video conferencing programs like Zoom/Skype/Teams.
gst-launch-1.0 aravissrc blocksize=5013504 h-binning=1 v-binning=1 ! video/x-bayer,format=rggb,framerate=100/5,width=2448,height=2048 ! bayer2rgb ! video/x-raw,format=RGBx ! videoconvert ! video/x-raw,format=YUY2 ! aspectratiocrop aspect-ratio=16/9 ! videoscale ! video/x-raw,width=1280,height=720 ! queue ! v4l2sink device=/dev/video0
data:image/gif;base64,R0lGODlhAQABAAAAACw= |
This is a companion piece to my instructions on building TensorFlow from source. In particular, the aim is to install the following pieces of software
on an Ubuntu Linux system, in particular Ubuntu 20.04.
apt install flex bison | |
git clone https://github.com/microsoft/WSL2-Linux-Kernel --depth 1 | |
cd WSL2-Linux-Kernel/tools/perf | |
make -j8 | |
sudo cp perf /usr/local/bin |