Repository navigation
Supported SoCs and Sensors
The open stack consists of open-tx-isp (kernel driver), OpenIMP (userspace libimp.so) and the timps streamer, 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).
| 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 | fully open, H.264, 10 day/night switches without oops (cam-E) |
| T20 | yes | yes | 3.10.14 | fully open, vendor-identical rate controller by default (cam-C) |
| T21 | yes | yes | 3.10.14 | fully open, reference sharing on (cam-D) |
| T23 | yes | yes (native Helix encoder, no vendor helper) | 3.10.14 | fully open (cam-B); frequent Helix frame drops fixed (residual interrupt); a rare single Helix encode error (errno 5) is still open |
| T30 | yes | yes (video only, no audio entry points) | 3.10.14 | builds for a real T30 kernel; not device-tested here, no campaign camera |
| T31 | yes | yes (H.264, H.265, HW JPEG) | 3.10.14 | reference SoC, fully open (cam-A) |
| T40 | yes | yes | 4.4.94 | upstream device-tested, no campaign camera |
| T41 | yes | yes (H.264 and H.265 on the AVPU) | 4.4.94 | fully open (cam-F); open: flip, night column noise, short IVS gaps, OOM with three parallel streams; day/night and AE/AWB quality still being tested |
C100 is not covered. The thingino Kconfig gates are BR2_PACKAGE_OPEN_TX_ISP_SUPPORTED and BR2_PACKAGE_OPENIMP_SUPPORTED (branch aperto).
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 | untested |
| Module reload (rmmod/insmod) | yes | yes | yes | yes | yes | yes (10/10 cycles) |
| Audio input | yes | yes | yes | yes | yes | yes |
| Audio output / AEC | not tested on purpose | not tested on purpose | not tested on purpose | AEC implemented, test open | yes, AEC -18 dB echo | not tested |
The authoritative, continuously updated version is the "Open stack vs vendor stack: feature matrix" kept with the project documentation.
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)
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.