Files
RedBear-OS/docs/AGENTS.md
T
vasilito 10caab7085 boot: real Wayland compositor, Intel DRM Gen8-Gen12, kernel 4GB fix, virtio-gpu driver
Comprehensive boot process improvement across the entire stack:

Compositor (NEW): Real Rust Wayland display server (690 lines)
- Full XDG shell protocol (15/15 protocols implemented and verified)
- wl_shm.format, xdg_wm_base, xdg_surface.get_toplevel support
- wl_buffer.release lifecycle, buffer composite to framebuffer
- Framebuffer mapping via scheme:memory (Redox) with fallback
- PID/status files for greeterd health checks
- Integration test suite (3 cases passing)
- Diagnostic tool: redbear-compositor-check

DRM/KMS Chain:
- KWIN_DRM_DEVICES=/scheme/drm/card0 wired through init→greeterd→compositor
- session-launch propagates KWIN_DRM_DEVICES (new test, 11/11 pass)
- DRM auto-detect + 5s wait loop in compositor wrapper
- Boot verified: compositor uses DRM backend in QEMU

Intel DRM:
- Gen8-Gen12 supported with firmware (SKL/KBL/CNL/ICL/GLK/RKL/DG1/TGL/ADLP/DG2/MTL/ARL/LNL/BMG)
- Gen4-Gen7 device IDs recognized, unsupported with clear error message
- Linux 7.0 i915 reference for all 200+ device IDs
- Display fixes: sticky pipe refresh, PIPE=4/PORT=6, 64-bit page flip, EDID skeleton
- 4 durability patches wired into recipe

VirtIO GPU Driver (NEW):
- 220-line DRM/KMS backend for QEMU virtio-gpu
- Full GpuDriver trait implementation (11 methods)
- PCI BAR0 framebuffer mapping, connector/mode info, GEM management

Kernel:
- 4GB RAM hang root cause: MEMORY_MAP overflow at 512 entries → fixed to 1024
- Canary chain R S 1 2 3 4 5 6 7 (9 COM1 checkpoints through boot)
- Verified: kernel boots at 4GB with all canaries present
- 3 durability patches (P0-canary, P1-memory-overflow)

Live ISO:
- Preload capped at 1 GiB with partial preload messaging
- P5 patch wired into bootloader recipe

Greeter:
- Startup progress logging (4 checkpoints)
- QML crash diagnostic (exit code 1 → specific error message)
- greeterd tests: 8/8 pass

Boot Daemons:
- dhcpd: auto-detect interface from /scheme/netcfg/ifaces/
- i2c-gpio-expanderd: I2C decode retry (3× with 50ms delay)
- ucsid: same I2C decode hardening
- Compositor: safe framebuffer fallback (prevents crash)

Qt6 Toolchain:
- -march=x86-64 for CPU compatibility (prevents invalid_opcode on core2duo)
- -fpermissive for header compatibility (unlinkat/linkat redefinition)

Documentation:
- BOOT-PROCESS-IMPROVEMENT-PLAN.md (comprehensive, 320 lines)
- PROFILE-MATRIX.md: ISO organization, RAM requirements, known issues
- BOOT-PROCESS-ASSESSMENT.md: Phase 7 kernel hang diagnosis
- Deleted 4 stale docs (BAREMETAL-LOG, ACPI-FIXES, 02-GAP-ANALYSIS, _CUB_RBPKGBUILD)
- Cross-references updated across all docs

KWin stubs replaced with real compositor delegation.
redbear-kde-session script created for post-login session launch.
30+ files, 10 patches, 3 binaries, 22 tests, 0 errors.
2026-04-28 06:18:37 +01:00

3.7 KiB

DOCS — ARCHITECTURE & INTEGRATION DOCUMENTATION

Public docs/ files now mix three roles:

  • canonical repository-level policy/current-state docs,
  • architecture/reference docs,
  • and older roadmap/design docs that are still useful but partly historical.

Do not assume everything under docs/ is equally current.

For current Red Bear OS status, also read:

  • docs/README.md — canonical docs index + status matrix
  • docs/07-RED-BEAR-OS-IMPLEMENTATION-PLAN.md — canonical public implementation plan
  • local/docs/DESKTOP-STACK-CURRENT-STATUS.md — current desktop stack build/runtime truth
  • local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md — current DRM-focused execution plan beneath the canonical desktop path
  • local/docs/QT6-PORT-STATUS.md — current Qt/KF6 package-level status
  • local/docs/AMD-FIRST-INTEGRATION.md — deeper AMD/graphics technical roadmap, useful detail but not the canonical desktop plan
  • local/docs/WIP-MIGRATION-LEDGER.md — current WIP ownership status
  • local/docs/SCRIPT-BEHAVIOR-MATRIX.md — current script guarantees and non-guarantees

STRUCTURE

docs/
├── 01-REDOX-ARCHITECTURE.md   # Architecture reference: microkernel, scheme system, driver model, display architecture
├── 04-LINUX-DRIVER-COMPAT.md  # Driver-compat architecture reference + historical porting path
├── 05-KDE-PLASMA-ON-REDOX.md  # Historical KDE implementation path + deeper rationale
├── 06-BUILD-SYSTEM-SETUP.md   # Build/setup mechanics guide (not canonical policy)
├── 07-RED-BEAR-OS-IMPLEMENTATION-PLAN.md # Canonical public implementation plan
└── README.md                  # Canonical docs index + status matrix

WHERE TO LOOK

Question Document Key Section
How does the kernel work? 01 §1 Microkernel, §2 Scheme System
How do drivers access hardware? 01 §3 Driver Model, §6 Build System
What is the canonical current implementation plan? 07 Entire document
Which docs are current vs historical? README Document Status Matrix
What is the current WIP ownership policy? local/docs/WIP-MIGRATION-LEDGER.md Entire document
What do the main sync/fetch/apply/build scripts actually guarantee? local/docs/SCRIPT-BEHAVIOR-MATRIX.md Entire document
What is the current Wi-Fi architecture and validation path? local/docs/WIFI-IMPLEMENTATION-PLAN.md / local/docs/WIFI-VALIDATION-RUNBOOK.md Entire document
What is the current desktop-stack truth? local/docs/DESKTOP-STACK-CURRENT-STATUS.md Entire document
What is the current Qt/KF6 status? local/docs/QT6-PORT-STATUS.md Entire document
What's missing for Wayland? local/docs/WAYLAND-IMPLEMENTATION-PLAN.md Entire document
How to fix POSIX gaps? local/docs/RELIBC-COMPLETENESS-AND-ENHANCEMENT-PLAN.md Current relibc completeness work
What is the current Wayland plan? local/docs/WAYLAND-IMPLEMENTATION-PLAN.md Entire document
How to run Linux GPU drivers? 04 Architecture diagram, i915 porting example
What is redox-driver-sys? 04 Crate 1: memory, IRQ, PCI, DMA wrappers
What is linux-kpi? 04 Crate 2: C headers translating Linux→Redox APIs
How to port Qt? 05 Phase KDE-A (qtbase patches, ~500-800 lines)
How to port KDE Frameworks? 05 Phase KDE-B (25 frameworks, tiered approach)
How to port KDE Plasma? 05 Phase KDE-C (KWin, Plasma Shell, session config)
How to set up the build? 06 Prerequisites per distro, build commands
What is the current work ordering? 07 Workstream Order + Blocker chain

READING RULE

When a current-state local document conflicts with an older public roadmap/design file, prefer the current local subsystem plan or the canonical public implementation plan.