mtkcam-raw
Analyze and patch libmtkcam_metastore.so to expose RAW capture
capabilities and RAW16 stream configurations on MediaTek camera HALs.
Install
git clone https://github.com/ReCoreShift/mtkcam-raw.git
cd mtkcam-raw
pip install -e .
Quick start
# Place the stock library in bin/ (or project root)
cp /path/to/stock/libmtkcam_metastore.so bin/
# Patch it with main sensors + RAW16 stream entries
bash bin/patch.sh
# Output: bin/libmtkcam_metastore.patched.so
# Push to device and test
bash bin/test_live.sh
Subcommands
| Command | Description |
|---|---|
inspect |
Show ELF structure, sections, and segment layout |
analyze |
Find and describe all patch sites per sensor |
patch |
Apply capabilities and/or stream config patches |
verify |
Compare original and patched binary byte-for-byte |
gen-config |
Generate a default patch.toml from a library |
Patch configuration (bin/patch.toml)
main_sensors = ["S5KJN1", "S5K3L6"]
tier = ["RAW", "MANUAL_POST_PROCESSING", "PRIVATE_REPROCESSING",
"READ_SENSOR_SETTINGS_2", "HIGH_SPEED_VIDEO"]
stream = true
[sensor_streams]
S5KJN1 = [{width = 4080, height = 3072}]
S5K3L6 = [{width = 4208, height = 3120}]
| Field | Description |
|---|---|
main_sensors |
Sensor names that get first priority for cave space |
tier |
Capabilities to append to each sensor's block |
stream |
Whether to append RAW16 stream config entries |
sensor_streams |
Per-sensor stream entries (width, height) |
How it works
-
Capability append — finds each sensor's
ANDROID_REQUEST_AVAILABLE_CAPABILITIESinit block, appends missing capabilities (RAW, MANUAL_POST_PROCESSING, etc.) via trampolines written into unused ELF gaps (PLT cave or LOAD1–LOAD2 gap). -
Stream config append — finds each sensor's
ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONSinit site and appends RAW16 stream entries via trampolines, extending LOAD2p_filesz/p_memszas needed. -
Space allocation — uses a priority-sorted allocator across three cave types: PLT[0] gap, LOAD1–LOAD2 gap (extended backward), and LOAD2 trailing zero-padding (extended forward).
License
MPL-2.0
Metadata
Release files for mtkcam-raw 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mtkcam_raw-0.1.0.tar.gz | 38.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mtkcam_raw-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 77.2 kB
Release files / mtkcam_raw-0.1.0.tar.gz
| Download URL | mtkcam_raw-0.1.0.tar.gz |
|---|---|
| Size | 38.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
331793b1c07044363b5b3f61794384994ec7c1b8002ad1f679660bf30df9e6ad
|
|
BLAKE2b-256 checksum How to use checksums |
b1a7b017703e340a306a529bf0aabee29f51e100ffb23e4b5b1aebef26a21647
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.
Transparency logRelease files / mtkcam_raw-0.1.0-py3-none-any.whl
| Download URL | mtkcam_raw-0.1.0-py3-none-any.whl |
|---|---|
| Size | 38.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67aae33ac17ce36e4e44bcfb82c7ecb3e1822948d42bcde63dacc03873116760
|
|
BLAKE2b-256 checksum How to use checksums |
334620098fd4a4e492b6f91b66c7310cec72820d947a14e8ffb42dc02f3b85f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.
Transparency log