Cross S01 Libvpx Portable -
If you’ve ever tried to build video processing software for embedded Linux, you know the pain. You write beautiful code on your Ryzen workstation, only to watch the Raspberry Pi (or similar SBC) throttle its CPU to 600MHz halfway through a make -j4 .
export CC=aarch64-linux-gnu-gcc export CXX=aarch64-linux-gnu-g++ export AR=aarch64-linux-gnu-ar export AS=aarch64-linux-gnu-as Then reconfigure. The build system needs to see the cross-tools for assembly. After make and make install DESTDIR=./rootfs , copy the .so files to your S01.
Now run a decode test on the S01:
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu Pro tip: Don't use the generic arm-linux-gnueabihf for A53. Go 64-bit. The A53 loves 64-bit mode for NEON optimizations. libvpx has an incredibly smart build system (via configure ). It auto-detects CPU features. But when cross-compiling, auto-detection runs on your x86 CPU. It will see AVX2 and SSE4 and think, "Great, let's enable those!"
Your S01 will then Segmentation Fault instantly because it has no idea what AVX2 is. cross s01 libvpx
Make sure your environment variables are clean:
Run file libvpx.so :
Here is the magic incantation for the S01 (Cortex-A53):