Completes the remaining plan §24 deferred items:
- Config file (TOML): new config.rs module loaded from
/etc/redbear-power.toml and ~/.config/redbear-power.toml (with
--config <path> override). Sections: display, theme, keybindings,
benchmark. --help documents the full schema.
- AMD Zen CCD topology: cpuid.rs detect_hybrid now parses leaf
0x8000001E NC field (cores per CCX) and Zen 4+ leaf 0x80000026
(CCD count + cores per CCD). Linux host with 24 AMD cores now
shows CCD0..CCD5 grouping instead of all-Unknown.
- Multi-view tab system: Per-CPU / System / Info tabs via ratatui
Tabs widget. Hotkeys 1/2/3 jump directly; T cycles. System tab
shows aggregate CPU stats (avg freq, max temp, total pkg power,
aggregate flags, bench status). Info tab shows detailed CPU
identification (family/model/stepping hex, full flags list,
per-level cache hierarchy with KB+way+line size). New
render_tab_bar / render_system_panel / render_info_panel render
functions in render.rs. TabId enum added to app.rs.
- D-Bus methods: added CycleGovernor, SetGovernor(name),
ToggleThrottle, ForceMinPstate, ForceMaxPstate, SetPstate(target)
methods to org.redbear.Power. PowerCommand enum + command
channel back to main thread for MSR-bound actions. New App
methods set_governor(Governor) and set_selected_pstate(i32)
enable D-Bus clients to set governor/P-state without sending
keystrokes.
- Mouse sub-panel navigation: refined hit-test so left-click on
header/controls cycles governor, right-click toggles throttle,
middle-click on table expands P-state. Header now has two
distinct actions (governor + throttle) reachable via different
mouse buttons without per-label x hit-test.
New dependencies in Cargo.toml: toml = "0.8", dirs = "5",
serde = { version = "1", features = ["derive"] }.
Verification:
- cargo build --release (host): 0 errors.
- ./redbear-power --once: shows tab bar + Per-CPU view.
- ./redbear-power --config /tmp/rp-test/config.toml: respects
refresh_ms override (50ms minimum enforced).
- AMD CCD labels visible: '▶ CCD0' / 'CCD1' / etc.
- cook redbear-power (Redox target): 3.2 MB stripped binary at
local/recipes/system/redbear-power/target/x86_64-unknown-redox/stage/usr/bin/redbear-power.
SHA256: 58b7812a5f673e227753c01e93a05678bd9e8f28101d8a447d70d4943170c40a.
ISO rebuild status: still blocked by pre-existing upstream nix-0.30.1
vs Redox relibc SaFlags incompatibility in uutils. v1.2 binary
is staged and will be packaged into the next successful ISO build
once that issue is resolved.
Source size: 2758 LoC across 11 modules (was 2376/10 in v1.1).
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
# Recommended: use the Red Bear wrapper
./local/scripts/build-redbear.sh redbear-mini # Text-only target
./local/scripts/build-redbear.sh redbear-full # Desktop-capable target
# Boot in QEMU with the resulting image
make qemu
Build script:
local/scripts/build-redbear.shis the canonical entry point. Baremake allworks but bypasses the.configchecking andREDBEAR_ALLOW_PROTECTED_FETCH=1gates thatbuild-redbear.shenforces. SeeAGENTS.md§ Build Commands for full details.
Public Scripts
| Script | Purpose |
|---|---|
local/scripts/build-redbear.sh |
Canonical build wrapper for redbear-mini/full/grub |
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/
├── patches/ # Durable changes to upstream source trees
├── 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.