Supported SoCs and Sensors - Lu-Fi/openimp GitHub Wiki
Supported SoCs and sensors
RC1 (v2026.10.11-rc1): release SoCs T10, T20, T21, T23 and T31; T30, T40 and T41 are experimental. Per-SoC detail: Per-SoC Status; per-feature detail: Feature Matrix.
The open stack consists of open-tx-isp (kernel driver) and OpenIMP (userspace libimp.so), used in thingino firmware. Camera names in these pages are anonymised: cam-A (T31), cam-B (T23), cam-C (T20), cam-D (T21), cam-E (T10), cam-F (T41), cam-K (T40).
SoC coverage
| SoC | open-tx-isp | OpenIMP | Kernel | State (test camera) |
|---|---|---|---|---|
| T10 | yes | no own build; the T20 build detects T10 at runtime (NVPU encoder, not Helix) | 3.10.14 | release; fully open, H.264, 10 day/night switches without oops (cam-E) |
| T20 | yes | yes | 3.10.14 | release; fully open, vendor-identical rate controller by default (cam-C) |
| T21 | yes | yes | 3.10.14 | release; fully open, reference sharing on (cam-D) |
| T23 | yes | yes (native Helix encoder, no vendor helper) | 3.10.14 | release; fully open (cam-B); frequent Helix frame drops fixed (residual interrupt); the rare single Helix encode error (errno 5): 0 errors in 6 days since the kernel fix, provisionally closed |
| T30 | yes | yes (video only, no audio entry points) | 3.10.14 | experimental; builds for a real T30 kernel; no campaign camera, host/build evidence only |
| T31 | yes | yes (H.264, H.265, HW JPEG) | 3.10.14 | release; reference SoC, fully open (cam-A) |
| T40 | yes | yes | 4.4.94 | experimental; first OpenIMP device run on 2026-10-10 (H.264 on two channels, OSD, IVS); CBR about 20 % of target, no H.265 |
| T41 | yes | yes (H.264 and H.265 on the AVPU) | 4.4.94 | experimental; fully open from a flashed image (cam-F); open: channel 1 colour at night, night column noise, short IVS gaps; sub-stream up to 768x432 recommended |
C100 is not covered. The thingino Kconfig gates are BR2_PACKAGE_OPEN_TX_ISP_SUPPORTED and BR2_PACKAGE_OPENIMP_SUPPORTED (branch aperto).
Feature overview (short)
Legend: yes = device-tested, partial = known gaps, no = not available.
| Feature | T10 | T20 | T21 | T23 | T31 | T41 |
|---|---|---|---|---|---|---|
| H.264 | yes | yes | yes | yes | yes | yes |
| H.265 | no hardware | no hardware | no hardware | no hardware | yes | yes |
| HW JPEG / MJPEG | yes | yes | yes | yes | yes | yes |
| Second stream, OSD | yes | yes | yes | yes | yes | partial |
| Motion detection (IVS) | yes | yes | yes | yes | yes | yes |
| Day/night | yes | yes | yes | yes | yes | partial (channel 1 colour at night open) |
| Module reload (rmmod/insmod) | yes | yes | yes | yes | yes | yes (10/10 cycles) |
| Audio input | yes | yes | yes | yes | yes | API level only (no audio hardware on the test board) |
| Audio output / AEC | yes (AEC ERLE 25 dB) | yes (24 dB) | yes (20 dB) | yes (19 dB) | yes (25 dB) | API level only |
The authoritative version is the Feature Matrix (RC1), which also covers T30 and T40.
Sensors
Sensor drivers come from the ingenic-sdk sensor modules, not from OpenIMP or open-tx-isp. The open-tx-isp README documents device tests with these sensors:
- T31: SC2336, GC2053, SC301IOT (best comparison against the vendor driver)
- T30: SC4236
- T40: GC4653
- T41: OS04D10 (README), GC5603 (campaign camera cam-F, needed a tuning-file fix)
- T40: GC4653 (T40XP)
Other sensors work wherever the SDK sensor module and its tuning file exist, but they were not part of the documented test campaign. Image tuning is experimental and not yet vendor-equivalent on every sensor.