fbcond is the framebuffer console service for EriX.
Find a file
Erik Inkinen ceac3aa27e
All checks were successful
CI / minimal-versions (push) Successful in 11s
CI / test (push) Successful in 5s
CI / security (push) Successful in 1m28s
fbcond: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:52 +02:00
.github ci: add standard rust workflow 2026-03-11 11:12:31 +02:00
src fbcond: split framebuffer renderer and runtime paths 2026-03-23 09:37:41 +02:00
.editorconfig Initial commit 2026-03-11 05:09:53 +01:00
.gitignore Initial commit 2026-03-11 05:09:53 +01:00
ARCHITECTURE.md fbcond: implement framebuffer console service and publish docs 2026-03-11 11:10:33 +02:00
Cargo.toml fbcond: add feature-gated startup square probe renderer path 2026-03-15 01:16:12 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-03-11 05:09:53 +01:00
CONTRIBUTING.md Initial commit 2026-03-11 05:09:53 +01:00
LICENSE Initial commit 2026-03-11 05:09:53 +01:00
linker.ld fbcond: implement framebuffer console service and publish docs 2026-03-11 11:10:33 +02:00
README.md fbcond: implement framebuffer console service and publish docs 2026-03-11 11:10:33 +02:00
ROADMAP.md fbcond: implement framebuffer console service and publish docs 2026-03-11 11:10:33 +02:00
rustfmt.toml fbcond: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:52 +02:00
SECURITY.md Initial commit 2026-03-11 05:09:53 +01:00

fbcond

fbcond is the framebuffer console service for EriX.

It consumes kernel-provided framebuffer/font metadata, renders text through lib-console, and exposes a deterministic IPC interface for write/read/status operations.


Responsibilities

  • startup envelope validation and service registration (named)
  • query framebuffer and font metadata through kernel-control operations
  • maintain bounded text stream history for readback checks
  • serve console RPCs:
    • IPC_PHASE3_FBCOND_OP_WRITE
    • IPC_PHASE3_FBCOND_OP_READ
    • IPC_PHASE3_FBCOND_OP_READ_STATUS

fbcond is not responsible for display mode setting, GPU initialization, or font discovery policy.


Runtime behavior

  • applies deterministic geometry defaults when kernel metadata is unavailable
  • tracks cursor position, continuity generation, render generation, and byte counters
  • returns deterministic result codes for malformed or unsupported requests

Feature model

  • fbcond-runtime: base daemon behavior
  • fbcond-runtime-phase3-framebuffer: framebuffer console mode
  • integration aliases (fbcond-integration-*) map to runtime behavior, with optional force-fail test gating

Build and test

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test