Repository navigation
Home
Status: release candidate RC1 (v2026.10.11-rc1). Release SoCs: T10, T20, T21, T23, T31. Experimental: T30, T40, T41. Releases: openimp, open-tx-isp. Feature matrix: Feature Matrix. Branches and tags: Release Scheme.
OpenIMP is an open implementation of Ingenic's libimp video API (framesource, ISP tuning, encoder, JPEG, OSD, IVS, audio I/O). This wiki documents the whole open stack; the kernel-driver view is in the companion wiki.
The open stack is a replacement for the vendor camera media stack on Ingenic T-series SoCs (T10, T20, T21, T23, T30, T31, T40, T41):
| Component | Replaces | Repository |
|---|---|---|
| open-tx-isp | vendor kernel driver tx-isp-<soc>.ko
|
https://github.com/opensensor/open-tx-isp |
| OpenIMP | vendor userspace libimp.so
|
https://github.com/opensensor/openimp |
It is used in thingino firmware, selected with BR2_PACKAGE_THINGINO_ISP_OPEN=y. The packages live in the upstream branch aperto (pull request #1756) and are pinned to a revision of OpenIMP and open-tx-isp; with RC1 they can pin the tag v2026.10.11-rc1 of both repositories. The goal is behavioural equivalence with the vendor stack, plus fixes and extras where the vendor stack is weak (see Beyond the Vendor).
- Release SoCs: T10, T20, T21, T23, T31. Experimental (not part of the release promise): T30 (no device in the lab, host/build evidence only), T40 (first device run only) and T41 (channel 1 and night colour open). Per SoC: Per-SoC Status.
- Code: OpenIMP agg-35 (687a68e4, plus documentation) and open-tx-isp 6e464ac7. The agg-35 soak ran on 10 cameras from 2026-10-10 18:04 to 2026-10-11 08:00 (about 14 h): 0 kernel oopses, 0 unexplained reboots, 0 application restarts.
- Known issues: T41 channel 1 colour at night; one unexplained T31 black picture of about 80 s; T23 day/night flapping at dusk (day/night is decided by the application; the library and driver report sensor values); T40 CBR at about 20 % of the target rate and no H.265. Full list: Changelog.
- Where to look: Feature Matrix (open versus vendor, per SoC, with the tag-pinned full matrix and HTML version), Changelog, release pages linked above.
- Image tuning is not yet vendor-equivalent on every sensor. Stability of the kernel driver comes before new features.
- Supported SoCs and Sensors - what works where
- Architecture - driver, library, memory regions, encoders
- Building - standalone and thingino, BR2 options
- Installing and Switching - open versus vendor stack, boot guard
- Module Parameters - open-tx-isp load-time parameters
- Environment Variables - OPENIMP_* switches
- Beyond the Vendor - extra features and how applications use them
- Memory - rmem, ispmem, MMAP pool, shortfall log lines
- Troubleshooting - log lines and their meaning
- Testing - device checks and the A/B method
- Performance - open stack versus vendor stack: sizes, memory, CPU, latency, bitrate
- Feature Matrix - open versus vendor feature matrix (RC1, 8 SoC columns)
- Per-SoC Status - one row per SoC (RC1)
- Changelog - RC1 summary and the full dated log
- Release Scheme - main, next, aperto, tags (RC1)
Open an issue at https://github.com/opensensor/openimp/issues (library, encoder, application integration) or https://github.com/opensensor/open-tx-isp/issues (kernel driver, ISP, memory). If unsure, use openimp. What to include: Troubleshooting.
Kernel driver: open-tx-isp wiki
Test cameras are anonymised as cam-A (T31), cam-B (T23), cam-C (T20), cam-D (T21), cam-E (T10), cam-F (T41); cam-G and cam-H are further T23 cameras (other sensors), cam-K is a T40. Flash only complete OTA images.
Open Ingenic camera stack
- Home
- Supported SoCs and Sensors
- Per-SoC Status
- Feature Matrix
- Architecture
- Building
- Installing and Switching
- Module Parameters
- Environment Variables
- Beyond the Vendor
- Memory
- Troubleshooting
- Testing
- Performance
- Changelog
- Release Scheme
Current: RC1 (v2026.10.11-rc1)