R18 (storage controller): 25-entry data file aggregating
libata (18) + AHCI (3) + PIIX (2) + NVMe (2) quirks.
Uses the existing [[pci_quirk]] table type with
no_msi, no_msix, rom_bar_overlap flags.
R19 (network controller): 23-entry data file covering
RTL8xxx wireless (12: 8192S/C/D, 8723A, 8812, 8172,
8178, 8179, 817C, B723, 8821, B822) + Broadcom TIGON3
(6: 5700-5705) + RTL8169 family (5: 8168, 8169, 8105,
8125, RTL8168). Uses [[pci_quirk]] with no_msi /
force_legacy_irq flags.
R20 (USB audio): UsbAudioQuirkFlags (29 bits matching
Linux 7.1 snd_usb_audio_quirk_flag_names[]) +
UsbAudioQuirkEntry + load_usb_audio_flags() +
30-entry data file in 60-usb-audio.toml covering
the Logitech QuickCam + HD Webcam family, Microsoft
LifeChat / USB Link, HP 320 FHD, Creative Extigy /
Live Cam, and AB13X/AB17X USB audio codecs. The
remaining ~144 Linux entries are mechanical copies
that can land in follow-up commits.
Changes:
1. (R18) 25 entries in 35-storage-extended.toml
sourced from Linux 7.1 drivers/ata/{libata-core,
ahci,ata_piix}.c + drivers/nvme/host/pci.c. Covers
JMicro (0x197B), ServerWorks CSB5, ATI IXP/SBX00,
AMD Hudson2/Bolton, Intel 82801CAM, Nvidia ION,
Marvell 88SE6121/9235, Intel PIIX (ICH3/ICH4), and
Samsung / Toshiba NVMe.
2. (R19) 23 entries in 55-network.toml sourced from
Linux 7.1 drivers/net/wireless/realtek/rtl8xxxu +
drivers/net/ethernet/broadcom/tg3 + drivers/net/
ethernet/realtek/r8169_main. Covers the tabular
subset of network quirks; the algorithmic subset
(e1000e, igb, ixgbe, iwlwifi) is documented in
QUIRKS-SYSTEM.md as deferred.
3. (R20) UsbAudioQuirkFlags (mod.rs:548) with 29 bits
mapping Linux 7.1 snd_usb_audio_quirk_flag_names.
UsbAudioQuirkEntry (mod.rs:583) — vendor + product
+ flags.
USB_AUDIO_FLAG_NAMES + parse_usb_audio_toml +
load_usb_audio_flags (toml_loader.rs) — new
[[usb_audio_quirk]] TOML table type.
1 new unit test: phase_r20_usb_audio_quirk_flags_or_accumulates.
128/128 tests pass.
4. (R20) 30 entries in 60-usb-audio.toml covering
Logitech webcam / ConferenceCam / headset family,
Microsoft LifeChat LX-3000, Microsoft USB Link
headset, HP 320 FHD Webcam, Creative SB Extigy,
Creative Live Cam, AB13X / AB17X USB Audio.
cargo test: 128/128 (was 127, +1 for the new test).
cargo check: clean.
Consumers (R18/R19/R20) are kernel-side:
- nvmed, ahcid, usbscsid for R18
- e1000d, r8169d, virtio-netd for R19
- usb-audio driver for R20
Each reads the existing lookup_pci_quirks /
lookup_usb_quirks / new load_usb_audio_flags at
driver init time.
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.