Skip to content

Wave No-Kernel SDK Acquisition Checklist

Target: Insta360 Wave / Amlogic A5 Vivante family: VIP9000Nano-S Customer/product target: 0x1000000e Minimum SDK: 6.4.22 Purpose: offline OpenVX/ovxlib graph-to-NBG compilation

Please provide the complete x86-64 Linux Vivante no-kernel SDK release that can compile OpenVX/ovxlib graphs into NBG for:

profile: VIP9000NANOS_PID0X1000000E
chipModel: 0x00009000
chipRevision: 0x00009001 database row
live revision: 0x00009002, same masked revision family
productID: 0x05090001
ecoID: 0x04000000
customerID: 0x1000000e

Required release properties:

Vivante no-kernel SDK: 6.4.22 or newer
ovxlib: 1.2.26 or newer
VIPLite: 2.0.0 or newer, if VIPLite is the deployment route
host: x86-64 Linux
output: NBG / network_binary.nb
hardware profile: supplied through VIV_GPU_FILE

Please include all tools, shared libraries, static libraries, headers, configuration files, licences/entitlements, build/version records, sample source, and documentation from one mutually compatible release.

Category Required material Why it is needed
Provenance original archive, release name, release date, download/vendor channel binds every result to a trusted source
Version SDK, IDE, ovxlib, VIPLite, VSC/CLC, OpenVX, GAL, simulator, NBG generator build IDs prevents mixing ABI-adjacent releases
Host tools exact x86-64 compiler/NBG executables and wrappers provides the isolated compile boundary
Graph libraries OpenVX, ovxlib, TIM-VX adapter dependencies, architecture/performance libraries establishes graph lowering and target selection
Shader libraries matching VSC/CLC components if used by graph lowering prevents the known missing/adjacent CLC failure
Profile exact VIP9000NANOS_PID0X1000000E.config or vendor replacement selects the Wave feature database
Headers every public/private header needed by samples and generated case code reconstructs types and ownership without guessing
Examples smallest offline/no-kernel Conv-to-NBG sample reveals supported entrypoint and I/O flow
Build files makefiles, linker scripts, pkg-config/CMake metadata, compiler flags captures the dependency and link contract
Licence offline compiler licence file, server configuration, entitlement instructions, target authorization distinguishes missing entitlement from ABI failure
Documentation environment variables, CLI reference, supported targets, supported operators, limitations constrains safe invocation
Checksums vendor-published package digests or signed metadata, if available strengthens supply-chain verification
  1. Which executable or library performs final graph-to-NBG generation?
  2. Does that component directly consume VIV_GPU_FILE?
  3. Is VIP9000NANOS_PID0X1000000E licensed and supported in this release?
  4. Is live chip revision 0x9002 expected to select database row 0x9001?
  5. What is the supported runtime compatibility range for an NBG generated by this release?
  6. Is Wave runtime 6.4.19.5.946407 within that range?
  7. What NBG format/version does the generator emit?
  8. Are NBG bytes deterministic for identical inputs?
  9. Which compiler output owns network_binary.nb, and who allocates/frees intermediate buffers?
  10. What environment variables are required besides VIV_GPU_FILE?
  11. Does any compile path open /dev/galcore or require a device?
  12. Can offline compilation run without network access after licence setup?
  13. Which Conv layouts, data types, quantization modes, dilation, groups, padding, strides, and shape limits are supported?
  14. Are dynamic shapes supported, rejected, or specialized?
  15. Which tensor alignment and memory-budget limits apply to VIP9000Nano-S?

An unanswered operational question remains an explicit qualification unknown; it is not filled with a guess.

The following alone do not satisfy the request:

  • an Acuity Python wheel;
  • an ONNX importer;
  • an x86 simulator SDK;
  • VSIMULATOR_CONFIG support without VIV_GPU_FILE graph compilation;
  • standalone GLSL/OpenCL shader compilers;
  • a profile file without its consuming compiler;
  • a compiler executable without its dependency closure;
  • a newer frontend coupled to an older embedded SDK;
  • an AArch64 CLC from a different 6.4.x build;
  • an NBG for another customer/product target;
  • permission to patch a foreign NBG target field.

PoC 9D found all of the first five ingredients spread across one vendor image, yet still did not find a compatible Wave graph compiler.

Before execution:

  1. preserve the original downloaded bytes;
  2. record source URL/channel, timestamps, HTTP metadata, and provider;
  3. calculate SHA-256 and byte count for every archive;
  4. validate archive paths, duplicates, links, devices, and encryption;
  5. inspect container images as OCI/TAR data—do not load or run them;
  6. rehash nested members and OCI blobs;
  7. extract only a reviewed static-analysis subset;
  8. identify every ELF architecture, interpreter, import, RPATH, and dependency;
  9. recover version strings and prove all components belong to a compatible release;
  10. locate the actual VIV_GPU_FILE graph consumer;
  11. recover the compiler input/output and allocation-ownership ABI;
  12. validate the exact Wave profile against PoC 9A and the vendor config;
  13. write a new immutable candidate manifest;
  14. obtain review of a one-attempt fixed-Conv compile plan.

No package advances merely because its filename or marketing version looks new enough.

After static qualification, the first invocation is limited to:

graph: one fixed, immutable Conv control
input: generated case/source and constants with exact hashes
profile: exact vendor Wave profile
attempts: one
network: none
device nodes: none
ADB: none
dependency root: read-only
output root: new, empty, private directory
limits: CPU, memory, PIDs, descriptors, file bytes/count, wall time
capture: stdout, stderr, exit/signal, created paths, sizes, hashes

The compiler result is not executed. It first enters a separate static NBG qualification:

  • parse magic and format version;
  • validate all sizes, offsets, counts, and sections;
  • require target 0x1000000e;
  • require the expected Conv tensor descriptors;
  • validate all stored checksums;
  • compare structural invariants with the stock Wave corpus;
  • retain an exact compiler/profile/input/output manifest.

Only an independently reviewed later PoC may stage the approved artifact on the Wave.

This package is not required for general ONNX parsing or CPU execution. Those are already available through the repository’s ONNX Runtime host control plane.

It is required to approve an NPU partition:

ONNX model
-> bounded auditor
-> fixed eligible partition
-> qualified VSINPU/TIM-VX lowering
-> qualified no-kernel NBG compiler
-> static NBG audit
-> approved graph signature

Until that chain passes, hybrid mode remains an explicit all-CPU fallback with zero NPU attempts.

The rejected public-package control is documented in:

Its exact negative boundary should be used to avoid reacquiring the same simulator/shader-only package under a different wrapper.