Skip to content

Draft: display dma optimization - #99

Draft
cofob wants to merge 6 commits into
TheMaxMur:mainfrom
cofob:cofob/display-dma-optimization
Draft

Draft: display dma optimization#99
cofob wants to merge 6 commits into
TheMaxMur:mainfrom
cofob:cofob/display-dma-optimization

Conversation

@cofob

@cofob cofob commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

What

  • Added framebuffer-free retained rendering with tile-based damage tracking.
  • Overlapped rendering and DMA using two alternating RGB565 buffers.
  • Reduced repeated work with cached layouts, lookup tables, RLE checkpoints, and indexed commands.
  • Replaced SPI with an 80 MHz PIO DMA link, cutting full-frame transfer time to 15.36 ms.
  • Added flash-based background templates and stricter display-failure handling.

How it was tested

  • nix develop -c ./scripts/check.sh passes locally
  • On hardware: works faster :D
  • Host-only change (CLI / docs / CI) — no device behavior touched

Checklist

  • Device behavior / image changed → config.device_release (bcdDevice) bumped by one (hex)
    in firmware/src/main.rs — host-only (CLI / docs / CI / build) does not (CONTRIBUTING.md)
  • Fixes something a downgrade would reopen → flag whether the next release should advance the
    rollback epoch (docs/production.md, stage 3) — a seal-time --rollback call, not a code bump
  • New or changed unsafe → justified in docs/unsafe.md
  • User-visible behavior (kinda) → the matching guide under docs/ updated
  • New files carry the SPDX header (AGPL-3.0-only)
  • Commit messages use the zone prefix style (fido:, piv:, rsk:, docs:, …)

@cofob
cofob marked this pull request as draft August 29, 2026 13:18
@github-actions

Copy link
Copy Markdown

Development firmware for this pull request: https://rskey.fob.wtf/preview?pr=99

The link always opens the latest successful preview build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant