Skip to content

Repository files navigation

OnePlus 7 Snapdragon 855 Adreno 640 arm64-v8a

Iceraven · OnePlus 7 Edition

AMOLED-black · Snapdragon 855 tuned · upstream-synced · auto-built on free GitHub Actions

OP7 Build CI Upstream Check OP7 revision r7 Latest release License


Iceraven OP7 is the Iceraven Browser (Fenix + GeckoView + Android Components) engineered for the OnePlus 7 — not a new browser, not a rewrite, not a WebView shell.

Everything Gecko does stays Gecko. The OP7 layer is thin, measurable, documented, and automatically maintained:

Layer What it does
Pinned upstream exact Iceraven commit (upstream/commit.txt), never a moving branch
Upstream patch layer Iceraven's own build-time patches, exactly like upstream CI
OP7 patch set tiny, documented patches/op7/ (001–006) — arm64-only, capability log, seamless launch, AMOLED pure-black + OnePlus red accent
GitHub Actions free runners: check upstream → sync → patch → build → validate → release
Fails closed upstream conflict or failed gate = no build, no publish, issue-style report

Revision history

Revision Content Status
r1–r2 arm64-only distribution, installable APK (testOnly bug fixed) ✅ shipped
r3 DeviceCapabilities fingerprint (ABI, RAM, GLES/Vulkan, codecs) ✅ shipped
r4 Seamless launch — splash matches home surface ✅ shipped
r5 AMOLED true-black dark theme#000000 surfaces, power-friendly ✅ shipped
r6 Settings visible on AMOLED — preference rows as cards on black ✅ shipped
r7 Pure-black everywhere + OnePlus red — all gray fills removed, hairline structure, #EB0029 accent ✅ this revision
r8+ One measured optimization per revision, gated on before/after benchmarks 🔄 planned

Verification-only (no code change, measured on device): hardware video decode (H.264/HEVC/VP9), content-process cap, background drain, real-page smoothness 60 Hz / ~5 % jank.

What stays untouched

  • Gecko / GeckoView / Android Components architecture
  • Sandboxing, site isolation, HTTPS, certificate validation
  • Privacy defaults, extensions, web compatibility
  • No -march=native, no hard-coded CPU instructions, no security trade-offs

Device fingerprint (verified on this OnePlus 7)

Model          GM1901            GPU            Adreno 640
SoC            Snapdragon 855    Vulkan         supported
ABI            arm64-v8a         OpenGL ES      3.2
Android        10 (OxygenOS)     Hardware video H.264 / HEVC / VP9
RAM            8 GB              Display        AMOLED (hence r5)

Repository map

docs/op7-project-audit.md    Phase 0 audit (start here)
docs/architecture.md         layer ownership map
docs/baseline.md             golden-rule baseline record
docs/performance/            methodology + startup/smoothness/media/battery
docs/roadmap.md              live plan + error matrix
docs/reproducible-build.md   traceability + release identity
docs/field-notes/            lessons log + session digests (auto-synced to the playbook)
patches/op7/                 OP7 patch set (001–006)
automation/op7/              check / sync / patch / metadata scripts
upstream/commit.txt          pinned upstream commit
.github/workflows/           CI | Upstream Check | OP7 Build | Maintenance

Pipelines

Workflow Trigger What it does
CI push / PR actionlint + shellcheck + pin/revision format
Upstream Check schedule / manual / dispatch detects upstream moves, opens sync issue, dispatches the full build with auto_release=true
OP7 Build workflow_dispatch mirror → patch → build → validate → (auto release when gates pass)
Maintenance schedule / manual monthly cleanup + self-check

Validation build (~13–25 min, no R8; cold builds without cache take longer):

gh workflow run op7-build.yml -f abi=arm64-v8a -f release=false -f fast=true

Release build (~40 min, gated, requires release secrets):

gh workflow run op7-build.yml -f abi=arm64-v8a -f release=true -f release_tag=op7-<version>-r<rev>

Automatic release: when Upstream Check detects a new upstream commit, the sync build runs with auto_release=true. A GitHub Release (op7-<version>-r<rev>, tag auto-generated from version.txt + op7-revision.txt) is published ONLY after every quality gate passes and the release secrets exist. Any patch conflict or failed gate stops the pipeline — nothing is published. Manual release=true still works for same-upstream revision bumps (e.g. r7 on an unchanged upstream).

Playbook & skill (agents)

Every lesson from this project is recorded in docs/field-notes/ and auto-synced into the OP7 Special-Build Playbook — a searchable, reusable knowledge base for this and future special builds.

Agents connect to it via the op7-special-build Codex skill:

  • New machine/agent (one command): git clone --depth 1 https://github.com/rajbhx/op7-special-build-playbook && bash op7-special-build-playbook/scripts/install_skill.sh
  • Already installed — refresh at session start: bash /root/.shared-skills/op7-special-build/scripts/update_skill.sh
  • No skill support — search the playbook clone directly: python3 scripts/lookup.py <problem words>

The skill self-updates from the playbook repo (cheap git ls-remote check, sparse fetch + atomic swap with backup, offline-safe), and the playbook auto-syncs this repo's field notes every 6h — the loop stays current with zero manual copying.

Secrets

  • Validation: DEBUG_SIGNING_KEY, DEBUG_ALIAS, DEBUG_KEY_STORE_PASSWORD, DEBUG_KEY_PASSWORD
  • Release (protected release environment): OP7_RELEASE_KEYSTORE_BASE64, OP7_RELEASE_KEYSTORE_PASSWORD, OP7_RELEASE_KEY_ALIAS, OP7_RELEASE_KEY_PASSWORD

Keys are never committed. PR-triggered jobs never see release secrets.

Why this build on a OnePlus 7

The phone ships with the right hardware for this browser: 8 GB RAM for content processes, Adreno 640 for WebRender, and hardware codecs GeckoView already uses — so the engineering here is tuning and measurement, not replacement. r5 makes the AMOLED panel earn its black.

About

OnePlus 7 (Snapdragon 855 · Adreno 640 · AMOLED) edition of Iceraven — AMOLED-black, upstream-synced, auto-built on GitHub Actions

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages