Phase R7 (xHCI closure, multi-session R7-R10 first commit): * R7-A xHCI TOML layer: brings xHCI to 3-layer parity with PCI (compiled-in + TOML + DMI). Adds XHCI_CONTROLLER_FLAG_NAMES (28 entries: 19 pre-R6 + 5 R6 + 3 R7-C with chronological markers), read_toml_xhci_entries(), parse_xhci_toml(), load_xhci_controller_quirks_toml(), updated lookup_xhci_controller_quirks() to OR TOML flags, new lookup_xhci_controller_quirks_full() as 3-layer entry point. New quirks.d/25-xhci.toml with 8 example entries sourced from Linux 7.1 xhci-pci.c. * R7-B DMI xHCI bridge: mirrors the PCI DMI bridge. Linux itself has no DMI-based xHCI quirks so DMI_XHCI_QUIRK_RULES is empty; the wiring exists so future DMI rules can be added without re-architecting. Adds DmiXhciQuirkRule struct, apply_dmi_xhci_quirk_rules() OR-accumulator, DMI_XHCI_QUIRK_RULES constant, load_dmi_xhci_quirks() public function, read_toml_dmi_xhci_toml()/parse_dmi_xhci_toml() in toml_loader for the new [[dmi_xhci_system_quirk]] section. * R7-C 3 high-priority xHCI flags (already in 0.2.3 branch from R7-C stand-alone commit): DEFAULT_PM_RUNTIME_ALLOW (bit 33), SNPS_BROKEN_SUSPEND (bit 35), RESET_TO_DEFAULT (bit 44). Bit positions match Linux 7.1 xhci.h:1586-1660 exactly. Six new PCI entries: AMD 0x43f7, 0x15e0, 0x15e1, Intel 0x9a13/0x51e0/0x54ee. Seven new R7-C tests. Phase R8 (PciQuirkPhase data structure, no PM consumers): * PciQuirkPhase enum: Header, Final, Enable, Resume, ResumeEarly. Mirrors Linux DECLARE_PCI_FIXUP_* macro family. * phase: PciQuirkPhase field on PciQuirkEntry. All 31 existing compiled-in entries default to Final via ..WILDCARD. * phase_visible(phase, pm_available) helper. Boot-time phases always visible; Resume/ResumeEarly gated by pm_available. * lookup_pci_quirks_full_with_pm() public function gates all three layers. load_pci_quirks() defaults to pm_available=false for safe existing-caller behavior. * TOML parser reads phase = "header"|"final"|"enable"|"resume" |"resume_early" per [[pci_quirk]] entry. Unknown/omitted defaults to Final (graceful degradation). * Seven R8 tests: header/resume/resume_early parse, omitted default, unknown default, boot-phase visibility, resume-phase gating. Phase R9 (USB storage gap closure, data-only): * Resynced 30-storage.toml header to reference Linux 7.1 (was 7.0). * Fixed one entry: VIA Labs VL817 SATA Bridge (0x2109:0x0715) revision was "9999-9999" — corrected to wildcard "0000-9999" to match Linux UNUSUAL_DEV(0x2109, 0x0715, 0x0000, 0x9999, ...). * Verification: python3 local/scripts/extract-linux-quirks.py local/reference/linux-7.1/drivers/usb/storage/unusual_devs.h produces 214 entries. diff against 30-storage.toml = 0 lines. The R1-R6 review's "108 missing" estimate was stale; the file is in full sync with Linux 7.1. Test count: 90 (R7-C) + 9 (R7-A, R7-B) + 7 (R8) = 106/106 passing. No new clippy warnings beyond two Result<_, ()> stylistic lints that follow the existing convention (7+ functions use this pattern). Consumer wiring status: BROKEN_MSI consumer in xhcid main.rs:69, ZERO_64B_REGS consumer in xhci/mod.rs:524,542. R7-C and R7-A new flags are observability-only via log_unenforced_xhci_quirks() (R6) until xhcid's suspend/resume path lands. Deferred to next session: R10 HID infrastructure (24 flags + 500 entries) and any R7/R8 PM execution work when PM lands. Multi-session plan: this is the first of 4 atomic commits for R7-R10. R10 HID lands in a separate session.
Red Bear OS
A microkernel operating system written in Rust, derived from Redox OS
What is Red Bear OS?
Red Bear OS is a general-purpose, Unix-like operating system with a microkernel architecture, written in Rust. It is a full fork of Redox OS, frozen at release 0.1.0, with added hardware support, filesystem drivers, and a KDE Plasma desktop path.
Goals:
- AMD & Intel parity — first-class support for both platforms on bare metal
- KDE Plasma desktop — Wayland-based desktop environment via the KWin compositor
- Hardware GPU acceleration — AMD GPU (amdgpu) and Intel GPU drivers via
redox-drm - Modern subsystems — USB, Wi‑Fi, Bluetooth, ext4, GRUB, D-Bus
- Offline-first builds — reproducible from archived, BLAKE3-verified sources
Quick Start
Prerequisites
Linux x86_64 host with Rust nightly, QEMU, nasm, and standard build tools.
See the Redox Build Guide for full setup.
Build & Run
# Clone
git clone https://gitea.redbearos.org/vasilito/RedBear-OS.git
cd RedBear-OS
# Build and run the desktop target in QEMU
./scripts/run.sh --build
# Build a live ISO for bare metal
./scripts/build-iso.sh redbear-full
# Build the text-only recovery target
./scripts/run.sh --build --config redbear-mini
Repository Hosting
The canonical Red Bear OS Git server is Gitea at
https://gitea.redbearos.org/vasilito/RedBear-OS.git. GitHub is not a Red Bear OS source of
truth and must not be used for pushes, issues, releases, or project coordination.
Public Scripts
| Script | Purpose |
|---|---|
scripts/run.sh |
Build and run in QEMU (-b to build, -c <config> for target) |
scripts/build-iso.sh |
Build a live ISO for bare-metal boot |
scripts/build-all-isos.sh |
Build all live ISO targets |
scripts/network-boot.sh |
PXE network boot helper |
scripts/dual-boot.sh |
Dual-boot installation helper |
Config Targets
| Target | Type | Description |
|---|---|---|
redbear-full |
Desktop | Wayland + KDE + GPU drivers + D-Bus services |
redbear-mini |
Console | Text-only recovery / install target |
redbear-grub |
Console | Text-only with GRUB boot manager |
Current Status
Red Bear OS boots to a login prompt in QEMU with working wired networking, D-Bus system bus, hardware detection daemons, and filesystem support (RedoxFS, ext4, FAT).
| Area | Status |
|---|---|
| Boot (ACPI/x2APIC/SMP) | ✅ Bare-metal proven |
| Userspace drivers (PCI, storage, net) | ✅ Working in QEMU |
| D-Bus system bus + services | ✅ Working (login1, PolicyKit, UDisks, UPower) |
| ext4 / FAT filesystems | ✅ Compiles, installer-wired |
| POSIX gaps (relibc) | 🚧 Bounded Wayland-facing support |
| DRM/KMS display drivers | 🚧 AMD + Intel compile; HW validation pending |
| Wayland compositor | 🚧 Bounded proof; Qt6/KF6 clients crash at init |
| KDE Plasma desktop | 🔄 In progress (Qt6/KF6 compile; KWin/QML blocked) |
| Wi‑Fi / Bluetooth | 📋 Planned (architected, implementation pending) |
How It Works
Red Bear OS uses a userspace driver model — all drivers run as unprivileged daemons:
Kernel (microkernel)
└── schemes: memory, irq, event, pipe, debug
└── Driver daemons (userspace)
├── pcid → PCI enumeration
├── e1000d → Intel ethernet
├── xhcid → USB controller
└── vesad → Display framebuffer
The kernel provides minimal services (memory, interrupts, IPC). Everything else — filesystems, networking, graphics, input — runs in userspace.
Documentation
- Implementation Plan — roadmap and execution model
- Desktop Path Plan — kernel → DRM → Mesa → Wayland → KDE
- D-Bus Integration — session bus architecture
- USB Plan — USB stack design
- Wi‑Fi Plan — wireless architecture
- Bluetooth Plan — BT stack design
- Documentation Index — full doc map
Contributing
Red Bear OS uses a full fork model. Upstream Redox sources are frozen and archived. All custom work lives in local/:
local/
├── sources/ # Red Bear source forks (git repos, directly editable)
├── recipes/ # Custom packages (drivers, GPU, system)
├── docs/ # Integration and planning docs
└── scripts/ # Build, test, and release tooling
We welcome contributions made with or without AI assistance — we care about quality, not how the code was produced.
License
MIT — same as upstream Redox OS.