Hardware drivers sometimes need a closed-source shared library to talk to the device. A FLIR camera SDK, a vendor LiDAR decompressor, or a mount-control DLL fall into this bucket. ADOS plugins can include these binaries, but the manifest must declare them honestly so operators see the trust signal in the install dialog.Documentation Index
Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt
Use this file to discover all available pages before exploring further.
Declare the binary
Inmanifest.yaml:
pack.sh computes the hash from the staged file. The signer key
covers the binary too via the manifest signature, so any tampering
between sign and install fails verification.
Trust signal in the install dialog
The two-stage install flow shows a “Vendor binary” badge on the risk panel whenevervendor_binaries is non-empty. The operator
sees:
- The binary’s path inside the archive
- The vendor name and license string
- The purpose line, in the operator’s locale
Loading the binary at runtime
The agent unpacks the archive into the plugin’s data dir at install time. The binary lives at/var/ados/plugins/<plugin-id>/agent/vendor/libfooflir.so.
.so that tries to open
/dev/video0 still requires the plugin to declare
hal.dev_video in its manifest.
License note
Open hardware files and developer docs that Altnautica ships are dedicated to the public domain under CC0 1.0. Plugins that wrap GPL or CC0 source are themselves GPLv3 by default. A plugin that wraps a closed-source vendor.so is still GPLv3 in its own
source files, but operators see the “Mixed source” badge because
of the vendor binary inclusion.
Architecture support
The pack script does not validate that the.so matches the
target SBC’s architecture. Ship architecture-specific subfolders if
your plugin runs on both aarch64 and armv7l:
See also
- Manifest reference for the full
vendor_binariesschema. - Distribution and local install for the pack and sign flow.