Files
RedBear-OS/docs
vasilito 4dc51bd61f driver-manager: v1.3 comprehensive D-phase implementation
Full implementation of the driver-manager migration's D-phase
(parallel development) per the v1.3 plan. The § 0.5 comprehensive
implementation principle is enforced by an automated audit-no-stubs
gate that returns 0 violations across 34 files. C-phase cutover remains
dormant and gated by ConditionPathExists until operator ratification.

redox-driver-core (28 unit + 5 integration tests):
- concurrent.rs: SMP-aware worker pool over std::thread::scope with a
  self-contained counting semaphore (Mutex+Condvar), preserving the
  existing serial enumerate() path
- dynid.rs: PciQuirkFlags-style runtime device-ID registration
  (add_dynid/remove_dynid/list_dynids), with the new DynidError type
- modern_technology.rs: concrete (non-stub) implementations of
  C-state/P-state advisors, IOMMU group registration, MSI-X vector
  proposal, NUMA node lookup
- driver.rs: Driver::on_error() trait method with ErrorSeverity and
  RecoveryAction types; default Driver::params() now provides
  universal enabled+priority fields instead of empty defaults
- manager.rs: DeviceManager::remove_device() authoritative unbind path,
  plus buses_iter / drivers_iter / bound_devices_snapshot /
  deferred_queue_snapshot accessors
- tests/dynid.rs: integration tests for the DeviceManager API

redox-driver-pci (3 tests, unchanged):
- pre-existing PciBus; no breakage

driver-manager (13 tests):
- Cargo.toml: adds redox-driver-sys path dep
- quirks.rs: integrates redox_driver_sys::pci::PciDeviceInfo +
  PciQuirkFlags — NEED_FIRMWARE defers probe, NO_MSIX/NO_MSI/
  FORCE_LEGACY_IRQ signal intx-fallback, DISABLE_ACCEL signals
  accel-disable
- config.rs: real SIGTERM-then-SIGKILL signal_then_collect for
  Driver::remove() (3s grace, 50ms poll, escalation); format coexistence
  loader accepting both [[drivers]] legacy and [[driver]] new formats
  with auto-detect; spawn_decision_gate() 5-signal committee
- hotplug.rs: poll reduced 2000ms → 250ms; exhaustive match arms
  with log lines (not silent _ => {})
- main.rs: 250ms hotplug poll, exhaustive match arms with log lines

redox-driver-sys quirks:
- dmi.rs: log instead of silent _ => {} catch-all

Driver manager policy package (redbear-driver-policy):
- /etc/driver-manager.d/00-blacklist.conf (4 driver blacklist entries)
- /etc/driver-manager.d/50-amdgpu.toml (AMD GPU driver policy)
- /etc/driver-manager.d/initfs.manifest (ordered initfs driver list)
- /etc/driver-manager.d/autoload.d/ntsync.conf (autoload ntsync module)
- /etc/driver-manager.d/README.md (explanation)
- recipe.toml: custom install script that stages into /etc/driver-manager.d/

Driver manager service files (in local/sources/base submodule):
- local/sources/base/init.d/00_driver-manager.service — dormant
  (oneshot_async, ConditionPathExists=!/etc/driver-manager.d/disabled)
- local/sources/base/init.initfs.d/40_driver-manager-initfs.service —
  dormant (oneshot, ConditionPathExists=!/etc/driver-manager.d/initfs-active)

Audit gate:
- local/scripts/driver-manager-audit-no-stubs.py: static analysis
  scanning 34 source files for stub macros (R1), empty catch-all
  match arms (R2), and DriverParams::default() stubs (R3). Returns
  0 violations at v1.3.
- local/scripts/driver-manager-audit-no-stubs.sh: thin wrapper
- local/scripts/test-driver-manager-no-stubs-qemu.sh: D4 gate — runs
  the audit plus cargo test on every crate, returns 0 iff both pass

Test scripts (C-phase scaffolding, dormant until C1):
- test-driver-manager-parity.sh (C1)
- test-driver-manager-active.sh (C3)
- test-driver-manager-initfs.sh (C2)
- test-driver-manager-hotplug.sh (D3)
- test-driver-manager-pm.sh (D2)
- test-driver-manager-cutover.sh (C4)

Docs:
- local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md: v1.3 status table
  listing every D-phase item as Done
- local/docs/evidence/driver-manager/D5-AUDIT.md: capability-by-
  capability matrix + verbatim audit output
- local/docs/HARDWARE-VALIDATION-MATRIX.md: driver-manager rows
  added with v1.3 status
- local/AGENTS.md: PLANNING NOTES pointer updated to v1.3
- docs/README.md: Related Red Bear-local plans row updated to v1.3

Test totals: 49 tests across the three crates, all passing.
Audit totals: 0 violations across 34 files, all clean.

Note: local/sources/base service files (00_driver-manager.service and
40_driver-manager-initfs.service) live in a submodule and need a
separate commit there. They are NOT included in this commit.
2026-07-21 00:30:55 +09:00
..

Red Bear OS Documentation Index

Technical documentation for Red Bear OS, a full fork on top of Redox OS.

This index is the entry point for the documentation set. Its main job is to make the current/canonical versus historical/reference split obvious.

Status note (2026-07-18): The canonical desktop path document is local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md (v6.0, single comprehensive plan). It supersedes all earlier individual assessments and is the single authority for current state. The historical docs below (0105) remain useful for architecture reference and implementation rationale, but they should be read together with the new plan and the current local subsystem docs.

local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md (v6.0) for current state.

Red Bear note: newer subsystem plans can also live under local/docs/ when they are Red Bear- specific rather than general Redox architecture material. In particular, see local/docs/WIFI-IMPLEMENTATION-PLAN.md for the current Wi-Fi direction, and local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md for the canonical desktop path.

Repository model: RedBearOS relates to Redox in the same way Ubuntu relates to Debian. Upstream Redox remains the base platform; Red Bear carries packaging, patch, validation, and subsystem release fork on top. For long-term stability, upstream-owned source trees should be treated as immutable archived release snapshot, while durable Red Bear state belongs in local/patches/, local/recipes/, local/docs/, and tracked Red Bear configs.

WIP policy: if an upstream recipe or subsystem is still marked WIP, Red Bear treats it as a local project until upstream promotes it to first-class status. We may immutable archived from upstream WIP, but we should fix and ship from the Red Bear release fork until upstream support is real enough to replace the local copy.

Document Status Matrix

Document set Role
README.md, AGENTS.md, docs/README.md, docs/07-RED-BEAR-OS-IMPLEMENTATION-PLAN.md canonical repository-level policy and current execution model
local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md canonical comprehensive implementation plan — supersedes all individual subsystem docs
local/docs/*IMPLEMENTATION-PLAN*.md, local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md subsystem plans for deep-dive detail only; authority chain → console-to-KDE plan
docs/01-REDOX-ARCHITECTURE.md architecture reference
docs/04-LINUX-DRIVER-COMPAT.md, docs/05-KDE-PLASMA-ON-REDOX.md valuable but partly historical roadmap/design material

When a current-state local document conflicts with an older historical public roadmap, prefer the console-to-KDE plan.

Documents

# Document Description
01 Architecture Overview Architecture reference for Redox internals: microkernel, scheme system, driver model, display stack
04 Linux Driver Compatibility Layer Historical/current hybrid design reference for the LinuxKPI-style driver compatibility model
05 KDE Plasma on Redox Historical KDE implementation path plus deeper KDE-specific rationale
06 Build System Setup How to build Redox from this repository
07 Red Bear OS Implementation Plan Canonical public implementation plan focused on profiles, packaging, validation, and staged hardware enablement

Consolidation (2026-04-30): 13 standalone assessment docs deleted. All current state is now in local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md (v6.0). Individual subsystem plans remain for detail:

  • ../local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.mdCANONICAL comprehensive plan: kernel→DRM→Mesa→Wayland→KDE path
  • ../local/docs/KERNEL-IPC-CREDENTIAL-PLAN.md — kernel credential syscalls + IPC (implemented)
  • ../local/docs/USB-IMPLEMENTATION-PLAN.md — USB completeness and rollout
  • ../local/docs/WIFI-IMPLEMENTATION-PLAN.md — Wi-Fi architecture and rollout
  • ../local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md — Bluetooth architecture and rollout
  • ../local/docs/ACPI-IMPROVEMENT-PLAN.md — ACPI ownership, robustness, validation
  • ../local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md — PCI/IRQ quality, MSI/MSI-X
  • ../local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md — DRM-focused execution (subsystem detail)
  • ../local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md (v1.3, 2026-07-20) — D-Phase (parallel development) + C-Phase (cutover & validation) plan to replace pcid-spawner with driver-manager (driver-manager built in parallel, not enabled before D5 ratifies; never deletes pcid-spawner; cross-references Linux 7.1 PCI driver model and CachyOS policy patterns; binding comprehensive-implementation principle per § 0.5). Status v1.3: D-phase fully implemented — 49 tests passing across redox-driver-core (28+5), redox-driver-pci (3), and driver-manager (13); 0 audit-no-stubs violations across 34 files; SMP concurrent probe, C-state/P-state advisors, IOMMU/MSI-X/NUMA helpers, PciQuirkFlags integration, runtime PM hooks, AER foundation, hotplug polling-fallback (250ms) all implemented comprehensively. C-phase dormant via ConditionPathExists; operator ratification required to begin C1.
  • ../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md — Wayland compositor (subsystem detail)
  • ../local/docs/archived/RELIBC-IPC-ASSESSMENT-AND-IMPROVEMENT-PLAN.md — relibc IPC surface
  • ../local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md — greeter/login design
  • ../local/docs/DBUS-INTEGRATION-PLAN.md — D-Bus architecture
  • ../local/docs/SCRIPT-BEHAVIOR-MATRIX.md — script guarantees and non-guarantees
  • ../local/docs/QUIRKS-SYSTEM.md — hardware quirks infrastructure

These local Red Bear plans should be treated as first-class subsystem references for desktop/session, USB, Wi-Fi, Bluetooth, and low-level controller work. They carry blocker detail that the public docs summarize at a higher level.

For PCI/IRQ language specifically, prefer the local IRQ plans distinction between:

  • compile-visible infrastructure,
  • bounded QEMU/runtime proof,
  • and broader hardware validation.

Do not flatten those into one “supported” claim in public summaries.

  • ../local/docs/SCRIPT-BEHAVIOR-MATRIX.md — what the main sync/fetch/apply/build scripts do and do not guarantee

Current State Summary (as of 2026-07-18)

This summary is only a quick orientation layer. For canonical current-state detail, see local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md (v6.0).

  • docs/07-RED-BEAR-OS-IMPLEMENTATION-PLAN.md for repository-wide execution order,

  • local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md for the canonical comprehensive plan,

  • local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md for support-language by tracked profile,

  • and the active subsystem plans under local/docs/ for detailed current workstreams.

  • Compile targets: the supported compile targets are redbear-mini, redbear-full, and redbear-grub

  • Live ISO policy: live .iso outputs (build-redbear.sh) are for real bare-metal boot/install/recovery workflows, not the VM/QEMU execution surface.

  • Wayland: libwayland + wayland-protocols built. A bounded greeter/compositor-backed login proof now passes, but broader compositor/runtime stability remains incomplete.

  • Qt6: qtbase 6.11.1 (Core+Gui+Widgets+DBus+Wayland), qtdeclarative, qtsvg, qtwayland ALL BUILT

  • D-Bus: 1.16.2 built for Redox. Qt6DBus enabled.

  • KF6 Frameworks: 40/40 built. See local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md for full breakdown.

  • Mesa: software-rendered path is present; full GBM / hardware-validated Wayland path is still incomplete.

  • GPU drivers: redox-drm scheme daemon exists; Intel build-oriented path exists; AMD currently has a bounded retained compile path (redox-drm + Red Bear glue) while the imported Linux AMD DC/TTM/core trees remain builds and included in redbear-full (2026-04-29). Hardware validation is still pending.

  • Input: evdevd compiled, libevdev built, libinput 1.30.2 built

  • Networking: native wired stack present (pcid-spawner → NIC daemon → smolnetd/dhcpd/netcfg), Red Bear ships a native netctl command, RTL8125 is wired into the existing Realtek autoload path, and the bounded Intel WiFi path now has host-tested profile start/stop plus interface-specific DHCP handoff without claiming real wireless connectivity.

  • PCI / IRQ quality: architecturally strong substrate exists, with bounded MSI-X, IOMMU, xHCI IRQ, and low-level-controller proof surfaces; broader hardware robustness is still intentionally tracked as open work in ../local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md

  • Wi-Fi profile target: config/redbear-wifi-experimental.toml is the first explicit tracked image slice for bounded Intel WiFi validation, instead of spreading that claim across the generic desktop profiles.

  • Bluetooth: one bounded in-tree BLE-first experimental slice exists, and the Battery Level read-only workload now has a packaged in-guest checker plus a host QEMU harness; QEMU validation is still in progress, so broad desktop Bluetooth parity is still incomplete

  • Desktop direction: redbear-full carries the desktop-capable target surface; the bounded greeter/login slice now passes, while the wider desktop runtime stack is still incomplete.

  • ACPI: materially complete for the historical boot baseline, not release-grade complete; implemented: AML mutex real state, EC widened accesses via byte transactions, kstop-based shutdown eventing, explicit RSDP_ADDR forwarding into acpid, x86 BIOS-search AML fallback, and real-but-provisional AML-backed power enumeration. Known gaps: the explicit boot-path producer contract for AML bootstrap is still underdocumented, acpid startup hardening remains open, shutdown/power reporting are still provisional, sleep state transitions and sleep eventing remain incomplete, DMAR ownership is still transitional, and bare-metal validation is still bounded. See local/docs/ACPI-IMPROVEMENT-PLAN.md.

  • Linux driver compat: linux-kpi now includes early wireless-subsystem compatibility scaffolding in addition to the earlier helper layer, redox-driver-sys and firmware-loader compile, and the bounded Intel Wi-Fi path now has host-tested scan/connect/disconnect/profile/reporting flows without claiming real hardware Wi-Fi connectivity.

  • Wi-Fi validation tooling: redbear-phase5-wifi-check and redbear-phase5-wifi-capture are now packaged in-guest helpers for bounded Intel Wi-Fi runtime validation and evidence capture on bare metal or VFIO-backed guests.

  • Phase 5 naming note: the bounded redbear-phase5-network-check / test-phase5-network-qemu.sh path proves desktop/network plumbing on redbear-full in QEMU; it does not mean the Wi-Fi implementation plan's later Phase W5 real-hardware reporting/recovery milestone is complete.

Quick Start

# 1. Install dependencies (Arch/Manjaro)
sudo pacman -S --needed --noconfirm gdb meson nasm patchelf python-mako \
  doxygen expat file fuse3 gmp libjpeg-turbo libpng po4a scons \
  sdl12-compat syslinux texinfo xdg-utils zstd

# 2. Install Rust + tools
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
cargo install just cbindgen

# 3. Configure for native build (no Podman)
echo 'PODMAN_BUILD?=0' > .config

# 4. Build (canonical command — produces live ISO)
./local/scripts/build-redbear.sh redbear-mini

# 5. Run in QEMU
make qemu

Key Repositories

Repo Purpose URL
All Red Bear sources Single-Repo Rule canonical source https://gitea.redbearos.org/vasilito/RedBear-OS
Kernel (reference) Microkernel https://gitlab.redox-os.org/redox-os/kernel (reference)
Base (reference) Drivers + system components https://gitlab.redox-os.org/redox-os/base (reference)
relibc (reference) C library (Rust) https://gitlab.redox-os.org/redox-os/relibc (reference)
RedoxFS (reference) Default filesystem https://gitlab.redox-os.org/redox-os/redoxfs (reference)
libredox (reference) System library https://gitlab.redox-os.org/redox-os/libredox (reference)