Operator decision 2026-08-05: "we will not have gcc 13." The cross toolchain has been GCC 16.1.0 since the port landed, but the build system still defaulted to GCC 13 in three places and nothing recorded the move. Build system: - mk/prefix.mk: GCC_RECIPE?=gcc13 -> gcc16. - mk/prefix.mk: the HOSTED_REDOX package rule derives its names from $(GCC_RECIPE) instead of hardcoding gcc13.pkgar / gcc13.cxx.pkgar. static.redox-os.org publishes no gcc16 package, so that path now fails at download. Deliberate: a loud failure beats a wrong compiler. - build-redbear.sh: refuse to build on a non-GCC-16 toolchain. This is the one that mattered on a Linux host. `make prefix` unpacks upstream's gcc-install.tar.gz, which IS GCC 13.2.0, and no make rule replaces it -- GCC 16 arrives only via install-gcc16-toolchain.sh. A fresh prefix therefore put you silently back on GCC 13, surfacing ~40 minutes later as a kwin C++23 failure. The guard checks all three locations (gcc-install, sysroot, ~/.redoxer/<target>/toolchain -- the last has highest priority) and names the two scripts to run. Docs: - New local/docs/TOOLCHAIN-GCC16.md: why the move (kwin/plasma-workspace need std::ranges::to), build/install/rollback procedure, the three locations that must agree, the tree-wide -std=gnu17 and -fno-hardened consequences, and the open libstdc++ float16-formatter gap that currently blocks the kwin link. - CHANGELOG, docs/README.md index and state summary, and the stale claim in NATIVE-TOOLCHAIN-WORKSTREAM.md that gcc13 "still builds the GCC 13 cross toolchain". Also corrects stale references found while auditing: - AGENTS.md described prefix/ as "Clang/LLVM"; it is GCC 16.1.0 + LLVM + Rust. - AGENTS.md cited local/reference/linux-7.0/ (tree is linux-7.1). - AGENTS.md's durable-patching example cited a mesa patch that does not exist; replaced with one wired in recipe.toml. (The first replacement used patch 03, which the changelog records as orphaned -- it targets a file removed from Mesa 26.1.4 upstream.) native_bootstrap.sh still installs gcc13/gcc13.cxx packages inside a Redox VM. Left alone: that is the deferred gcc-native workstream and no gcc16 package is published for Redox to point it at. Verified: bash -n clean; make -n prefix parses; guard accepts the current 16.1.0 toolchain in all three locations and rejects a stubbed 13.2.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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 (01–05) 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, seelocal/docs/WIFI-IMPLEMENTATION-PLAN.mdfor the current Wi-Fi direction, andlocal/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.mdfor 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 snapshots, 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 sync 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/3D-DESKTOP-COMPREHENSIVE-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 |
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 |
Deleted 2026-07-27 — superseded by local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md (see local/docs/SUPERSEDED-DOC-LOG.md) |
||
| 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 |
Related Red Bear-local current-state plans
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.md— CANONICAL comprehensive plan: kernel→DRM→Mesa→Wayland→KDE path../local/docs/KERNEL-IPC-CREDENTIAL-PLAN.md— kernel credential syscalls + IPC (implemented)../local/docs/3D-DESKTOP-COMPREHENSIVE-PLAN.md(2026-07-27) — canonical 3D-desktop plan: Mesa + virgl + Intel iris + AMD radeonsi + Wayland compositor + DRM/KMS (consolidates the former3D-DRIVER-PLAN.md,WAYLAND-IMPLEMENTATION-PLAN.md,DRM-MODERNIZATION-EXECUTION-PLAN.md, andREDBEAR-FULL-SDDM-BRINGUP.md, all deleted 2026-07-27)../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 (restored to top-level from legacy-obsolete dir 2026-07-27)../local/docs/3D-DESKTOP-COMPREHENSIVE-PLAN.md— DRM/KMS + Wayland + 3D userland (subsystem detail; formerlyDRM-MODERNIZATION-EXECUTION-PLAN.md, deleted 2026-07-27)../local/docs/DRIVER-MANAGER.md(consolidated 2026-07-27, post-v5.9 systematic assessment) — canonical current-state doc fordriver-manager(../local/recipes/system/driver-manager/). CUTOVER COMPLETE (2026-07-23, operator-ratified): driver-manager owns the boot-time PCI match/claim/spawn path in everyredbear-*config; pcid-spawner is retired from configs and gated behind/etc/driver-manager.d/disabledas the operator fallback (never deleted). See the Round-22 driver-manager assessment (removed in the 2026-07-27 consolidation; seelocal/docs/SUPERSEDED-DOC-LOG.md) (major assessment, findings B1–G10 + § 11 services integration) and the v1.0-v5.9 migration history (removed in the 2026-07-27 consolidation; seelocal/docs/SUPERSEDED-DOC-LOG.md) (round-by-round v1.0 → v5.9 history). Delivered: claim-via-channel collapse (pcidENOLCKexclusivity — the pcid-spawner model); initConditionPathExistsgate (systemd-style,!negation); spawned-modepci_register_driverin linux-kpi (honorsPCID_CLIENT_CHANNEL— single ownership of match-claim-spawn for native and Linux-port daemons); linux-kpi real MSI/MSI-X via pcid_interface +pci_request_regions+pcie_capability_*+ PM state; redbear-iwlwifi--daemononboarding +70-wifi.toml;--import-linux-idsLinux id_table→TOML pipeline; scheme operator surface (bind/unbind/new_id/remove_id/driver_override/rescan); Tier-1 driver_override; success-triggered deferred retry; concurrent probes with realDriver::probe(); real SIGCHLD/SIGHUP handlers; heartbeat counters; AERroute_to_driver;exclusive_withmutual exclusion;pci=nomsienv var; PciQuirkFlags spawn env hints +REDBEAR_DRIVER_{IOMMU_GROUP,NUMA_NODE,MSIX_VECTORS}; driver-params bridge live; D-Bus correctly absent (bridge-on-demand). Gate: PASSED in QEMU q35 (initfs ahcid bind, rootfs e1000d concurrent bind, scheme live, resident hotplug). Platform finding:thread::scopehangs on Redox (spawn+join used instead). Cookbook now hashes Cargo path-dep sources (staleness hole closed). 148 tests pass; 0 audit-no-stubs violations; zero crate-local warnings on host and redox target.../local/docs/3D-DESKTOP-COMPREHENSIVE-PLAN.md— Wayland compositor subsystem detail (formerlyWAYLAND-IMPLEMENTATION-PLAN.md, deleted 2026-07-27)../local/docs/KERNEL-IPC-CREDENTIAL-PLAN.md— relibc IPC surface (formerlyarchived/RELIBC-IPC-ASSESSMENT-AND-IMPROVEMENT-PLAN.md, deleted 2026-07-27)../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 plan’s distinction between:
- compile-visible infrastructure,
- bounded QEMU/runtime proof,
- and broader hardware validation.
Do not flatten those into one “supported” claim in public summaries.
Related Red Bear-local governance docs
../local/docs/SCRIPT-BEHAVIOR-MATRIX.md— what the main sync/fetch/apply/build scripts do and do not guarantee../local/docs/FORK-BUMP-PATCHING-POLICY.md— delicate patching during a version or toolchain bump (a bump is a rebase, never a replacement)../local/docs/NATIVE-TOOLCHAIN-WORKSTREAM.md— gcc-native/rust-native: deferred workstream, findings and re-enable procedure../local/docs/TOOLCHAIN-GCC16.md— the cross toolchain: GCC 13.2.0 → 16.1.0, why, how it is built/installed/rolled back, and the tree-wide-std=gnu17/-fno-hardenedconsequences
Current State Summary (as of 2026-07-18; toolchain line updated 2026-08-05)
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.mdfor repository-wide execution order, -
local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.mdfor the canonical comprehensive plan, -
local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.mdfor support-language by tracked profile, -
and the active subsystem plans under
local/docs/for detailed current workstreams. -
Cross toolchain: GCC 16.1.0 (Red Bear's own Redox port), replacing the upstream prebuilt GCC 13.2.0. Required for C++23
std::ranges::to, which kwin and plasma-workspace both need. Seelocal/docs/TOOLCHAIN-GCC16.md. -
Compile targets: the supported compile targets are
redbear-mini,redbear-full, andredbear-grub -
Live ISO policy: live
.isooutputs (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.mdfor 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 (
driver-manager→ NIC daemon →smolnetd/dhcpd/netcfg), Red Bear ships a nativenetctlcommand, RTL8125 is wired into the existing Realtek autoload path, and the bounded Intel Wi‑Fi 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.tomlis the first explicit tracked image slice for bounded Intel Wi‑Fi 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-fullcarries 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_ADDRforwarding intoacpid, 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,acpidstartup 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. Seelocal/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-checkandredbear-phase5-wifi-captureare 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.shpath proves desktop/network plumbing onredbear-fullin 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) |