Refresh repository docs and references

This commit is contained in:
2026-04-20 18:37:35 +01:00
parent 9880e0a5b2
commit 5683ba5dc3
9 changed files with 134 additions and 94 deletions
+17 -8
View File
@@ -95,15 +95,15 @@ echo 'PODMAN_BUILD?=1' > .config # Podman container build
# Supported compile targets: redbear-mini, redbear-live-mini, redbear-full, redbear-live-full # Supported compile targets: redbear-mini, redbear-live-mini, redbear-full, redbear-live-full
# Desktop/graphics are available only on redbear-full and redbear-live-full. # Desktop/graphics are available only on redbear-full and redbear-live-full.
make all CONFIG_NAME=redbear-full # Desktop/graphics-enabled Red Bear target → harddrive.img make all CONFIG_NAME=redbear-full # Desktop/graphics-enabled Red Bear target → harddrive.img
make live CONFIG_NAME=redbear-live-full # Desktop/graphics live image make live CONFIG_NAME=redbear-live-full # Desktop/graphics live ISO for real bare metal
make all CONFIG_NAME=redbear-mini # Minimal non-desktop Red Bear target make all CONFIG_NAME=redbear-mini # Minimal non-desktop Red Bear target
make live CONFIG_NAME=redbear-live-mini # Minimal live image make live CONFIG_NAME=redbear-live-mini # Minimal live ISO for real bare metal
CI=1 make all CONFIG_NAME=redbear-mini # CI mode (disables TUI, for non-interactive) CI=1 make all CONFIG_NAME=redbear-mini # CI mode (disables TUI, for non-interactive)
# Run # Run
make qemu # Boot in QEMU make qemu # Boot in QEMU
make qemu QEMUFLAGS="-m 4G" # With more RAM make qemu QEMUFLAGS="-m 4G" # With more RAM
make live # Build live ISO → redbear-live.iso make live # Build live ISO for real bare metal → redbear-live.iso
# Single recipe # Single recipe
./target/release/repo cook recipes/libs/mesa # Build one recipe ./target/release/repo cook recipes/libs/mesa # Build one recipe
@@ -253,10 +253,10 @@ See `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` for the canonical desktop path p
|-----------|--------|--------| |-----------|--------|--------|
| UEFI boot | ✅ | x86_64 bootloader functional | | UEFI boot | ✅ | x86_64 bootloader functional |
| AMD CPUs | ✅ | Ryzen Threadripper 128-thread verified | | AMD CPUs | ✅ | Ryzen Threadripper 128-thread verified |
| ACPI | ✅ Boot-baseline complete | RSDP/SDT checksums, MADT types 0x4/0x5/0x9/0xA, LVT NMI, FADT shutdown/reboot; see `local/docs/ACPI-IMPROVEMENT-PLAN.md` for remaining ownership/robustness work | | ACPI | ✅ Boot-baseline complete | RSDP/SDT checksums, MADT types 0x4/0x5/0x9/0xA, LVT NMI, FADT shutdown/reboot, explicit `RSDP_ADDR` forwarding into `acpid`, x86 BIOS-search AML fallback, and bounded AML-backed power enumeration are present; the explicit AML bootstrap producer contract and broader robustness still remain open — see `local/docs/ACPI-IMPROVEMENT-PLAN.md` |
| ACPI shutdown | | PM1a/PM1b S5 via `\_S5` AML | | ACPI shutdown | 🚧 | PM1a/PM1b S5 via `\_S5` AML exists, but shutdown robustness and bounded validation are still open |
| ACPI reboot | | Reset register + keyboard controller fallback | | ACPI reboot | 🚧 | Reset register + keyboard controller fallback exist, but broader reboot correctness and bounded validation are still open |
| ACPI power | | `\_PS0`/`\_PS3`/`\_PPC` AML methods available | | ACPI power | 🚧 | `\_PS0`/`\_PS3`/`\_PPC` AML methods are available and the runtime power surface performs bounded AML-backed enumeration, but bootstrap preconditions and validation are still too weak for stronger support claims; see `local/docs/ACPI-IMPROVEMENT-PLAN.md` |
| x2APIC/SMP | ✅ | Multi-core works | | x2APIC/SMP | ✅ | Multi-core works |
| IOMMU | 🚧 | QEMU first-use proof now passes; real hardware validation still open | | IOMMU | 🚧 | QEMU first-use proof now passes; real hardware validation still open |
| AMD GPU | 🚧 | MMIO mapped, bounded Red Bear display glue path builds, MSI-X wired; imported Linux AMD DC/TTM/core remain under compile triage; no hardware validation yet | | AMD GPU | 🚧 | MMIO mapped, bounded Red Bear display glue path builds, MSI-X wired; imported Linux AMD DC/TTM/core remain under compile triage; no hardware validation yet |
@@ -272,7 +272,7 @@ See `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` for the canonical desktop path p
| ~~P0: Fix ACPI for AMD~~ | ~~4-6 weeks~~ | ✅ Materially complete — boots on modern AMD bare metal; see `local/docs/ACPI-IMPROVEMENT-PLAN.md` for forward work | | ~~P0: Fix ACPI for AMD~~ | ~~4-6 weeks~~ | ✅ Materially complete — boots on modern AMD bare metal; see `local/docs/ACPI-IMPROVEMENT-PLAN.md` for forward work |
| ~~P1: Driver infrastructure~~ | ~~8-12 weeks~~ | ✅ Complete — redox-driver-sys + linux-kpi + firmware-loader + pcid /config + MSI-X (compiles) | | ~~P1: Driver infrastructure~~ | ~~8-12 weeks~~ | ✅ Complete — redox-driver-sys + linux-kpi + firmware-loader + pcid /config + MSI-X (compiles) |
| ~~P2: AMD GPU display~~ | ~~12-16 weeks~~ | 🚧 Partial — redox-drm + bounded Red Bear AMD display glue build; imported Linux AMD DC/TTM/core remain under compile triage; Intel driver compiles, no HW validation | | ~~P2: AMD GPU display~~ | ~~12-16 weeks~~ | 🚧 Partial — redox-drm + bounded Red Bear AMD display glue build; imported Linux AMD DC/TTM/core remain under compile triage; Intel driver compiles, no HW validation |
| ~~P3: POSIX + input~~ | ~~4-8 weeks~~ | 🚧 Build-side work substantially complete — relibc gaps exported to downstream consumers, evdevd/udev-shim/libevdev/libinput/D-Bus build; runtime validation still open | | ~~P3: POSIX + input~~ | ~~4-8 weeks~~ | 🚧 Build-side work substantially complete — the active relibc recipe patch chain now carries the bounded fd-event, semaphore, and waitid compatibility surface needed by current downstreams, while broader runtime validation and input-stack maturity remain open |
| P4: Wayland compositor | 4-6 weeks | 🚧 Partial — libwayland/Qt6 Wayland/Mesa EGL+GBM+GLES2/Qt6 OpenGL now build, but compositor/runtime validation is still incomplete | | P4: Wayland compositor | 4-6 weeks | 🚧 Partial — libwayland/Qt6 Wayland/Mesa EGL+GBM+GLES2/Qt6 OpenGL now build, but compositor/runtime validation is still incomplete |
| ~~P5: DML2 enablement~~ | ~~partial~~ | 🚧 Historical DML2 config work landed, but the current retained AMDGPU build no longer treats imported DML2/TTM as part of the default bounded compile path; libdrm amdgpu ✅, `iommu` daemon now builds; hardware validation still open | | ~~P5: DML2 enablement~~ | ~~partial~~ | 🚧 Historical DML2 config work landed, but the current retained AMDGPU build no longer treats imported DML2/TTM as part of the default bounded compile path; libdrm amdgpu ✅, `iommu` daemon now builds; hardware validation still open |
| P6: KDE Plasma | 12-16 weeks | 🚧 In progress — Qt6 ✅, KF6 32/32 ✅, Mesa EGL/GBM/GLES2 ✅, kf6-kcmutils ✅, kf6-kwayland ✅, kdecoration ✅, KWin 🔄 building | | P6: KDE Plasma | 12-16 weeks | 🚧 In progress — Qt6 ✅, KF6 32/32 ✅, Mesa EGL/GBM/GLES2 ✅, kf6-kcmutils ✅, kf6-kwayland ✅, kdecoration ✅, KWin 🔄 building |
@@ -321,6 +321,15 @@ All custom work goes in `local/` — see `local/AGENTS.md` for overlay usage.
Red Bear OS should treat low-level controllers, USB, Wi-Fi, and Bluetooth as first-class subsystem Red Bear OS should treat low-level controllers, USB, Wi-Fi, and Bluetooth as first-class subsystem
targets. targets.
For PCI interrupt plumbing, IRQ delivery quality, MSI/MSI-X follow-up, low-level controller
runtime-proof sequencing, and IOMMU/interrupt-remapping quality, the canonical current plan is:
- `local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md`
Use that file as the execution authority and current robustness judgment for PCI/IRQ work. Higher-
level summaries in `README.md`, `docs/README.md`, and this file should stay aligned with its
validation language rather than acting as competing rollout plans.
Current execution order: Current execution order:
1. low-level controllers / IRQ quality / runtime-proof 1. low-level controllers / IRQ quality / runtime-proof
+9 -5
View File
@@ -52,10 +52,14 @@ We also recommend to add your `pciutils` log as a comment on [this](https://gitl
This section contain limitations that apply to any status. This section contain limitations that apply to any status.
- ACPI bring-up is **materially complete for boot baseline**; implemented: RSDP/RSDT/XSDT/MADT/FADT - ACPI bring-up is **materially complete for boot baseline**; implemented: kernel
with typed startup errors, AML mutexes with real tracked state, EC widened accesses via byte RSDP/RSDT/XSDT/MADT/FADT coverage, AML mutexes with real tracked state, EC widened accesses via
transactions, kstop-based shutdown eventing; sleep state transitions are a **known gap**; broader byte transactions, kstop-based shutdown eventing, explicit `RSDP_ADDR` forwarding into `acpid`,
platform validation remains uneven — see `local/docs/ACPI-IMPROVEMENT-PLAN.md` x86 BIOS-search AML fallback, and bounded AML-backed power enumeration. 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 beyond `\_S5`, DMAR ownership cleanup, and broader platform validation all
remain open — see `local/docs/ACPI-IMPROVEMENT-PLAN.md`
- Wi-Fi broad support is not available yet; bounded Intel Wi-Fi scaffolding and validation paths now - Wi-Fi broad support is not available yet; bounded Intel Wi-Fi scaffolding and validation paths now
cover probe/status/prepare/init/activate plus bounded scan/connect/disconnect/retry surfaces, but cover probe/status/prepare/init/activate plus bounded scan/connect/disconnect/retry surfaces, but
validated real wireless connectivity support remains incomplete validated real wireless connectivity support remains incomplete
@@ -117,7 +121,7 @@ Each "Vendor" has its own alphabetical order in "Model", independent from models
| ASUS | Vivobook 15 OLED (M1503Q) | 0.9.0 | 2025-08-04 | desktop | x86-64 | UEFI | Boots to graphical session, touchpad and usb do not work, cannot connect to the internet, right maximum display resolution 2880x1620 | | ASUS | Vivobook 15 OLED (M1503Q) | 0.9.0 | 2025-08-04 | desktop | x86-64 | UEFI | Boots to graphical session, touchpad and usb do not work, cannot connect to the internet, right maximum display resolution 2880x1620 |
| Dell | XPS 13 (9350) | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Boots to graphical session, NVMe driver livelocks | | Dell | XPS 13 (9350) | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Boots to graphical session, NVMe driver livelocks |
| Dell | XPS 13 (9350) | 0.8.0 | 2022-11-11 | desktop | x86-64 | BIOS, UEFI | Boots to graphical session, NVMe driver livelocks | | Dell | XPS 13 (9350) | 0.8.0 | 2022-11-11 | desktop | x86-64 | BIOS, UEFI | Boots to graphical session, NVMe driver livelocks |
| Framework | Laptop 16 (AMD Ryzen 7040 Series) | 0.9.0 | 2026-3-29 | desktop, demo | x86-64 | UEFI | ACPI fix applied (RSDP/SDT checksums, MADT NMI types, FADT parse); **hardware validation still needed**; moved from Broken table | | Framework | Laptop 16 (AMD Ryzen 7040 Series) | 0.9.0 | 2026-3-29 | desktop, demo | x86-64 | UEFI | Historical ACPI boot-baseline fixes applied (RSDP/SDT checksums, MADT NMI types, FADT parse); moved from Broken table; broader bounded validation still needed |
| HP | Dev One | 0.8.0 | 2022-11-11 | desktop | x86-64 | UEFI | Boots to graphical session, No touchpad support, requires I2C HID | | HP | Dev One | 0.8.0 | 2022-11-11 | desktop | x86-64 | UEFI | Boots to graphical session, No touchpad support, requires I2C HID |
| HP | EliteBook Folio 9480M | 0.9.0 | 2025-11-04 | desktop | x86-64 | UEFI | Boots to graphical session, touchpad and usb work, cannot connect to the Internet, install failed, right maximum display resolution 1600x900 | HP | EliteBook Folio 9480M | 0.9.0 | 2025-11-04 | desktop | x86-64 | UEFI | Boots to graphical session, touchpad and usb work, cannot connect to the Internet, install failed, right maximum display resolution 1600x900
| HP | Compaq nc6120 | 0.9.0 | 2024-11-08 | desktop, server | i686 | BIOS | xAPIC fix applied; **hardware validation still needed**; moved from Broken table | | HP | Compaq nc6120 | 0.9.0 | 2024-11-08 | desktop, server | i686 | BIOS | xAPIC fix applied; **hardware validation still needed**; moved from Broken table |
+26 -16
View File
@@ -42,7 +42,7 @@ predictably from the Red Bear-owned overlay.
## What's New ## What's New
- KWin Wayland is now treated as the only intended Red Bear desktop direction in the tracked plans, build defaults, live profile wiring, and profile guidance. - KWin Wayland is now treated as the only intended Red Bear desktop direction in the tracked plans, build defaults, live profile wiring, and profile guidance.
- KDE bring-up moved forward: `config/redbear-kde.toml` exists, the Qt6 stack builds in-tree, and the KDE recipe tree is now populated. - KDE bring-up moved forward: the `redbear-full` desktop-capable surface carries the Qt6/KDE stack in-tree, and the KDE recipe tree is now populated.
- Native Red Bear runtime tooling expanded with `redbear-info`, `redbear-hwutils` (`lspci`, `lsusb`), and a Redox-native `netctl` flow. - Native Red Bear runtime tooling expanded with `redbear-info`, `redbear-hwutils` (`lspci`, `lsusb`), and a Redox-native `netctl` flow.
- Build and status docs were refreshed to distinguish current in-tree progress from older historical roadmap text. - Build and status docs were refreshed to distinguish current in-tree progress from older historical roadmap text.
@@ -54,6 +54,8 @@ The current public roadmap and execution model live in the
For readers landing on GitHub, the most useful entry points are: For readers landing on GitHub, the most useful entry points are:
- [Documentation Index](./docs/README.md) — canonical map of current vs historical docs - [Documentation Index](./docs/README.md) — canonical map of current vs historical docs
- [relibc Assessment and Improvement Plan](./local/docs/RELIBC-COMPLETENESS-AND-ENHANCEMENT-PLAN.md) — canonical relibc quality, completeness, and robustness assessment
- [relibc IPC Assessment and Improvement Plan](./local/docs/RELIBC-IPC-ASSESSMENT-AND-IMPROVEMENT-PLAN.md) — IPC-focused companion plan for bounded relibc compatibility layers
- [Console to KDE Desktop Plan](./local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md) — canonical path from console boot to hardware-accelerated KDE Plasma on Wayland - [Console to KDE Desktop Plan](./local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md) — canonical path from console boot to hardware-accelerated KDE Plasma on Wayland
- [Desktop Stack Current Status](./local/docs/DESKTOP-STACK-CURRENT-STATUS.md) — current build/runtime truth for Qt, Wayland, and KDE surfaces - [Desktop Stack Current Status](./local/docs/DESKTOP-STACK-CURRENT-STATUS.md) — current build/runtime truth for Qt, Wayland, and KDE surfaces
- [WIP Migration Ledger](./local/docs/WIP-MIGRATION-LEDGER.md) — how Red Bear currently treats upstream WIP versus local overlays - [WIP Migration Ledger](./local/docs/WIP-MIGRATION-LEDGER.md) — how Red Bear currently treats upstream WIP versus local overlays
@@ -64,14 +66,14 @@ Current subsystem-specific plans also include:
- [USB Implementation Plan](./local/docs/USB-IMPLEMENTATION-PLAN.md) - [USB Implementation Plan](./local/docs/USB-IMPLEMENTATION-PLAN.md)
- [Wi-Fi Implementation Plan](./local/docs/WIFI-IMPLEMENTATION-PLAN.md) - [Wi-Fi Implementation Plan](./local/docs/WIFI-IMPLEMENTATION-PLAN.md)
- [Bluetooth Implementation Plan](./local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md) - [Bluetooth Implementation Plan](./local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md)
- [IRQ and Low-Level Controllers Enhancement Plan](./local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md) - [IRQ and Low-Level Controllers Enhancement Plan](./local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md) — canonical plan for PCI interrupt plumbing, IRQ delivery quality, MSI/MSI-X follow-up, and low-level controller runtime proof
Red Bear OS now treats AMD and Intel machines as equal-priority hardware targets. Older AMD-first Red Bear OS now treats AMD and Intel machines as equal-priority hardware targets. Older AMD-first
language in historical integration notes should be read as earlier sequencing context, not as the language in historical integration notes should be read as earlier sequencing context, not as the
current platform policy. current platform policy.
The tracked default desktop target is now `redbear-kde` with KWin Wayland, and runtime support The tracked desktop-capable target surface is now `redbear-full` / `redbear-live-full`, and
claims remain evidence-qualified until compositor/session proof is stronger. runtime support claims remain evidence-qualified until compositor/session proof is stronger.
## Historical Phase Snapshot ## Historical Phase Snapshot
@@ -86,8 +88,8 @@ with the subsystem plans listed above.
| Phase | Status | Notes | | Phase | Status | Notes |
|---|---|---| |---|---|---|
| P0 ACPI boot | ✅ Materially complete (historical boot baseline) | In-tree and documented in `local/docs/ACPI-FIXES.md`; not release-grade complete; forward ownership/robustness/validation work lives in `local/docs/ACPI-IMPROVEMENT-PLAN.md` | | P0 ACPI boot | ✅ Materially complete (historical boot baseline) | In-tree and documented in `local/docs/ACPI-FIXES.md`; not release-grade complete; remaining work includes the explicit AML bootstrap producer contract, startup hardening, shutdown robustness, and validation closure in `local/docs/ACPI-IMPROVEMENT-PLAN.md` |
| P1 driver infra | ✅ Complete | Compile-oriented infrastructure present | | P1 driver infra | ✅ Complete (compile-oriented) | shared driver infrastructure is present, but low-level PCI/IRQ robustness and runtime proof remain governed by `local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md` |
| P2 DRM / display | 🚧 Partial | redox-drm + bounded AMD display glue build; imported Linux AMD DC/TTM/core remain under compile triage; hardware validation still pending | | P2 DRM / display | 🚧 Partial | redox-drm + bounded AMD display glue build; imported Linux AMD DC/TTM/core remain under compile triage; hardware validation still pending |
| P3 POSIX + input | 🚧 In progress | relibc now has strict Redox-target runtime proof for `signalfd` / `timerfd` / `eventfd` through the repaired test runner; broader desktop/runtime hardening still continues | | P3 POSIX + input | 🚧 In progress | relibc now has strict Redox-target runtime proof for `signalfd` / `timerfd` / `eventfd` through the repaired test runner; broader desktop/runtime hardening still continues |
| P4 Wayland runtime | 🚧 In progress | bounded Wayland runtime validation builds to a bootable image and reaches its packaged runtime entrypoint in QEMU/UEFI | | P4 Wayland runtime | 🚧 In progress | bounded Wayland runtime validation builds to a bootable image and reaches its packaged runtime entrypoint in QEMU/UEFI |
@@ -123,6 +125,15 @@ The current total order is: low-level controllers first, then USB, then Wi-Fi, t
only after those runtime services are credible should heavier desktop/session compatibility layers only after those runtime services are credible should heavier desktop/session compatibility layers
expand on top of them. expand on top of them.
For PCI, IRQ, MSI/MSI-X, and IOMMU quality specifically, the canonical current plan is
`local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md`.
Current validation language should be read this way:
- compile-visible infrastructure is not the same as runtime proof,
- bounded QEMU/runtime proof is not the same as hardware validation,
- and PCI/IRQ robustness claims should stay evidence-qualified until broader hardware proof exists.
## What's Different from Upstream Redox ## What's Different from Upstream Redox
| Component | Status | Detail | | Component | Status | Detail |
@@ -130,10 +141,10 @@ expand on top of them.
| AMD GPU driver (amdgpu) | 🚧 Bounded path builds | redox-drm + Red Bear AMD display glue compile; imported Linux AMD DC/TTM/core remain under compile triage; quirk-aware MSI-X/MSI/legacy IRQ fallback present (no HW validation) | | AMD GPU driver (amdgpu) | 🚧 Bounded path builds | redox-drm + Red Bear AMD display glue compile; imported Linux AMD DC/TTM/core remain under compile triage; quirk-aware MSI-X/MSI/legacy IRQ fallback present (no HW validation) |
| Intel GPU driver | ✅ Compiles | Display pipe modesetting + quirk-aware MSI-X/MSI/legacy IRQ fallback (no HW validation) | | Intel GPU driver | ✅ Compiles | Display pipe modesetting + quirk-aware MSI-X/MSI/legacy IRQ fallback (no HW validation) |
| ext4 filesystem | ✅ Compiles | Read/write ext4 alongside RedoxFS | | ext4 filesystem | ✅ Compiles | Read/write ext4 alongside RedoxFS |
| ACPI for AMD bare metal | ✅ Materially complete (historical boot baseline) | x2APIC, MADT, FADT shutdown/reboot, power methods; not release-grade complete; see `local/docs/ACPI-IMPROVEMENT-PLAN.md` for remaining ownership, robustness, sleep-state, and validation work | | ACPI boot baseline | ✅ Materially complete (historical boot baseline) | x2APIC, MADT, FADT shutdown/reboot, explicit `RSDP_ADDR` forwarding into `acpid`, x86 BIOS-search AML fallback, power methods, and bounded AML-backed power enumeration exist; the explicit AML bootstrap producer contract, shutdown robustness, sleep-state scope, and validation depth still remain open — see `local/docs/ACPI-IMPROVEMENT-PLAN.md` |
| Wired networking | 🚧 Improved | native net stack present, Redox-native `netctl` shipped, RTL8125 autoload wired through the existing Realtek path | | Wired networking | 🚧 Improved | native net stack present, Redox-native `netctl` shipped, RTL8125 autoload wired through the existing Realtek path |
| Custom branding | ✅ | Boot identity, hostname, os-release | | Custom branding | ✅ | Boot identity, hostname, os-release |
| POSIX gaps (relibc) | 🚧 In progress | implementations exist in-tree; runtime validation against Wayland stack is still ongoing | | POSIX gaps (relibc) | 🚧 In progress | the active relibc recipe patch chain provides bounded Wayland-facing and IPC-facing compatibility layers, but broad runtime trust and several completeness gaps remain open |
## Project Structure ## Project Structure
@@ -158,17 +169,16 @@ expand on top of them.
Requires a Linux x86_64 host with Rust nightly, QEMU, and standard build tools. See the [Redox Build Instructions](https://doc.redox-os.org/book/podman-build.html) for full prerequisites. Requires a Linux x86_64 host with Rust nightly, QEMU, and standard build tools. See the [Redox Build Instructions](https://doc.redox-os.org/book/podman-build.html) for full prerequisites.
```bash ```bash
make all # Default tracked KWin Wayland desktop target make all CONFIG_NAME=redbear-full # Tracked desktop-capable target
make all CONFIG_NAME=redbear-kde # Explicit KWin Wayland desktop target make all CONFIG_NAME=redbear-mini # Tracked minimal non-desktop target
make all CONFIG_NAME=redbear-full # Broader integration slice + custom drivers
make all CONFIG_NAME=redbear-minimal # Minimal server
make all CONFIG_NAME=redbear-full-grub # Broader integration slice with GRUB boot manager make all CONFIG_NAME=redbear-full-grub # Broader integration slice with GRUB boot manager
make live CONFIG_NAME=redbear-live # Live install ISO (redbear-live.iso) make live CONFIG_NAME=redbear-live-full # Live install ISO for real bare metal (redbear-live.iso)
make live CONFIG_NAME=redbear-live-mini # Tiny boot-test live ISO (~256 MiB image) make live CONFIG_NAME=redbear-live-mini # Tiny bare-metal live ISO for minimal/recovery use (~256 MiB image)
make qemu # Boot the default tracked KWin Wayland desktop target in QEMU make qemu CONFIG_NAME=redbear-full # Boot the tracked desktop-capable target in QEMU
make qemu CONFIG_NAME=redbear-kde # Explicit KWin Wayland desktop target in QEMU
``` ```
Live `.iso` outputs are for real bare-metal boot and install workflows. They are not the virtual/QEMU target surface; use `make qemu` and `harddrive.img`-based flows for virtualization.
### GRUB Boot Manager (optional) ### GRUB Boot Manager (optional)
Red Bear OS can use GNU GRUB as an alternative boot manager with Linux-compatible CLI: Red Bear OS can use GNU GRUB as an alternative boot manager with Linux-compatible CLI:
+17 -13
View File
@@ -37,9 +37,9 @@ Key syscalls: `open`, `close`, `read`, `write`, `seek`, `fmap`, `funmap`, `dup`,
### Userspace-ification Trend ### Userspace-ification Trend
Redox is actively moving POSIX functionality out of the kernel: Redox is actively moving POSIX functionality out of the kernel:
- **fork/exec** → userspace via `thisproc:` scheme - fork/exec goes to userspace via `thisproc:` scheme
- **Signal handling** → userspace with kernel-shared page for low-cost `sigprocmask` - signal handling goes to userspace with a kernel-shared page for low-cost `sigprocmask`
- **Process manager** → planned userspace daemon - process manager is planned as a userspace daemon
This reduces TCB and allows faster iteration without kernel changes. This reduces TCB and allows faster iteration without kernel changes.
@@ -128,7 +128,10 @@ driven wired setup.
**Display**: vesad (VESA framebuffer), virtio-gpud (VirtIO 2D) **Display**: vesad (VESA framebuffer), virtio-gpud (VirtIO 2D)
**Other**: pcid (PCI enumeration), acpid (ACPI), usbhidd (USB HID), inputd (input multiplexor) **Other**: pcid (PCI enumeration), acpid (ACPI / AML daemon: FADT parsing, shutdown/reboot,
`kstop` eventing, and provisional `/scheme/acpi/power` exposure; known gaps remain around the
userspace `RSDP_ADDR` handoff contract, PCI-gated AML readiness, and broader shutdown robustness),
usbhidd (USB HID), inputd (input multiplexor)
### GPU Driver Status ### GPU Driver Status
@@ -192,18 +195,19 @@ Architectures: i586, x86_64, aarch64, riscv64gc.
### Known POSIX Gaps (blocking Wayland) ### Known POSIX Gaps (blocking Wayland)
These were the specific missing features originally identified from libwayland's `redox.patch`. These were the specific missing features originally identified from libwayland's `redox.patch`.
Today, most exist in-tree in relibc, but downstream Wayland consumers still carry compatibility Today, most are provided by the active relibc recipe patch chain rather than by plain upstream-only
patches, so this table is a current-state summary rather than an untouched historical claim. source convergence, and downstream Wayland consumers still carry compatibility patches, so this
table is a bounded current-state summary rather than an untouched historical claim.
| Missing API | Used By | Status | | Missing API | Used By | Status |
|-------------|---------|--------| |-------------|---------|--------|
| `signalfd` / `SFD_CLOEXEC` | libwayland event loop | Implemented in-tree; downstream libwayland still patched around usage | | `signalfd` / `SFD_CLOEXEC` | libwayland event loop | Active relibc recipe-applied surface; downstream libwayland still patched around usage |
| `timerfd` / `TFD_CLOEXEC` / `TFD_TIMER_ABSTIME` | libwayland timers | Implemented in-tree; downstream libwayland still patched around usage | | `timerfd` / `TFD_CLOEXEC` / `TFD_TIMER_ABSTIME` | libwayland timers | Active relibc recipe-applied surface; downstream libwayland still patched around usage |
| `eventfd` / `EFD_CLOEXEC` | libwayland server | Implemented in-tree; downstream libwayland still patched around usage | | `eventfd` / `EFD_CLOEXEC` | libwayland server | Active relibc recipe-applied surface; downstream libwayland still patched around usage |
| `F_DUPFD_CLOEXEC` | libwayland fd management | Implemented in-tree | | `F_DUPFD_CLOEXEC` | libwayland fd management | Active relibc recipe-applied surface |
| `MSG_CMSG_CLOEXEC` | libwayland socket recv | Implemented in-tree | | `MSG_CMSG_CLOEXEC` | libwayland socket recv | Active relibc recipe-applied surface |
| `MSG_NOSIGNAL` | libwayland connection | Implemented in-tree; downstream libwayland still omits flag | | `MSG_NOSIGNAL` | libwayland connection | Active relibc recipe-applied surface; downstream libwayland still omits flag |
| `open_memstream` | libdrm, libwayland | Implemented in-tree; downstream libwayland still bypasses usage | | `open_memstream` | libdrm, libwayland | Active relibc recipe-applied surface; downstream libwayland still bypasses usage |
## 6. Build System (This Repository) ## 6. Build System (This Repository)
+16 -12
View File
@@ -19,13 +19,13 @@ Use the matrix below as the authoritative phase summary before reading the older
| Layer / Phase | Current repo state | Evidence | | Layer / Phase | Current repo state | Evidence |
|---|---|---| |---|---|---|
| P0 ACPI / bare-metal boot | **Materially complete for the historical boot baseline, not release-grade complete.** Implemented: kernel RSDP/RSDT/XSDT/MADT/FADT parsing, typed `StartupError` in `acpid`, AML mutex real state (`aml_physmem.rs`), EC widened accesses via byte transactions (`ec.rs`), kstop-based shutdown eventing (kernel registers `/scheme/kernel.acpi/kstop`, `acpid` subscribes, `redbear-sessiond` emits D-Bus `PrepareForShutdown`). Sleep state transitions (`\_Sx` beyond `\_S5`) and sleep eventing are **known gaps**. DMAR module remains present in `acpid` but not wired; ownership is still transitional/orphaned rather than cleanly transferred. Bare-metal validation remains bounded rather than broad. | `local/docs/ACPI-FIXES.md`, `local/docs/ACPI-IMPROVEMENT-PLAN.md`, `local/patches/kernel/redox.patch`, `local/patches/base/redox.patch`, `recipes/core/base/source/drivers/acpid/src/main.rs`, `recipes/core/base/source/drivers/acpid/src/aml_physmem.rs`, `recipes/core/base/source/drivers/acpid/src/ec.rs`, `local/recipes/system/redbear-sessiond/source/src/acpi_watcher.rs` | | P0 ACPI / bare-metal boot | **Materially complete for the historical boot baseline, not release-grade complete.** Implemented: kernel RSDP/RSDT/XSDT/MADT/FADT parsing, AML mutex real state (`aml_physmem.rs`), EC widened accesses via byte transactions (`ec.rs`), kstop-based shutdown eventing (kernel registers `/scheme/kernel.acpi/kstop`, `acpid` subscribes, `redbear-sessiond` emits D-Bus `PrepareForShutdown`), explicit `RSDP_ADDR` forwarding into `acpid`, x86 BIOS-search AML fallback, and real-but-provisional AML-backed power enumeration. `acpid` startup hardening is still open in the current tree, the explicit boot-path producer contract for AML bootstrap is still underdocumented, and PCI registration timing still gates AML readiness. Sleep state transitions (`\_Sx` beyond `\_S5`) and sleep eventing are **known gaps**. DMAR module remains present in `acpid` but not wired; ownership is still transitional/orphaned rather than cleanly transferred. Bare-metal validation remains bounded rather than broad. | `local/docs/ACPI-FIXES.md`, `local/docs/ACPI-IMPROVEMENT-PLAN.md`, `local/patches/kernel/redox.patch`, `local/patches/base/redox.patch`, `recipes/core/base/source/drivers/acpid/src/main.rs`, `recipes/core/base/source/drivers/acpid/src/aml_physmem.rs`, `recipes/core/base/source/drivers/acpid/src/ec.rs`, `local/recipes/system/redbear-sessiond/source/src/acpi_watcher.rs` |
| P1 driver infrastructure | Complete in-tree, compile-oriented | `local/recipes/drivers/redox-driver-sys/`, `local/recipes/drivers/linux-kpi/`, `local/recipes/system/firmware-loader/` | | P1 driver infrastructure | Complete in-tree, compile-oriented | `local/recipes/drivers/redox-driver-sys/`, `local/recipes/drivers/linux-kpi/`, `local/recipes/system/firmware-loader/` |
| P2 DRM / AMD+Intel display | Partial — redox-drm + bounded AMD display glue build in-tree; imported Linux AMD DC/TTM/core remain under compile triage; hardware validation pending | `local/docs/AMD-FIRST-INTEGRATION.md`, `local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md`, `local/recipes/gpu/redox-drm/`, `local/recipes/gpu/amdgpu/` | | P2 DRM / AMD+Intel display | Partial — redox-drm + bounded AMD display glue build in-tree; imported Linux AMD DC/TTM/core remain under compile triage; hardware validation pending | `local/docs/AMD-FIRST-INTEGRATION.md`, `local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md`, `local/recipes/gpu/redox-drm/`, `local/recipes/gpu/amdgpu/` |
| P3 POSIX + input | Implemented in-tree; consumer-visible `signalfd`/`timerfd`/`eventfd`/`open_memstream` header-export path fixed in this repo pass; strict Redox-target relibc runtime proof now exists for the fd-event slice | `local/patches/relibc/`, `recipes/core/relibc/recipe.toml`, `recipes/tests/relibc-tests-bins/recipe.toml`, `local/recipes/system/evdevd/`, `local/recipes/system/udev-shim/` | | P3 POSIX + input | The active Red Bear relibc build carries a bounded recipe-applied `signalfd`/`timerfd`/`eventfd`/`waitid()`/semaphore compatibility surface; the live upstream-owned source tree still lags that active build in several areas | `local/patches/relibc/`, `recipes/core/relibc/recipe.toml`, `local/recipes/system/evdevd/`, `local/recipes/system/udev-shim/` |
| P4 Wayland stack | Partially complete | `recipes/wip/wayland/`, `recipes/wip/libs/other/libinput/`, `recipes/wip/services/seatd/` | | P4 Wayland stack | Partially complete | `recipes/wip/wayland/`, `recipes/wip/libs/other/libinput/`, `recipes/wip/services/seatd/` |
| P5 AMD acceleration / IOMMU | Partial, but no longer blocked on basic QEMU first-use proof | `local/recipes/gpu/amdgpu/`, `local/recipes/system/iommu/` | | P5 AMD acceleration / IOMMU | Partial, but no longer blocked on basic QEMU first-use proof | `local/recipes/gpu/amdgpu/`, `local/recipes/system/iommu/` |
| P6 KDE Plasma | In progress with mixed real builds and stubs/shims | `config/redbear-kde.toml`, `local/recipes/kde/`, `local/docs/QT6-PORT-STATUS.md` | | P6 KDE Plasma | In progress with mixed real builds and stubs/shims | `config/redbear-full.toml`, `local/recipes/kde/`, `local/docs/QT6-PORT-STATUS.md` |
### Ordered Remaining Gaps ### Ordered Remaining Gaps
@@ -67,19 +67,19 @@ implemented phase with its own config/recipe/doc boundary.
| API | Status | Where to implement | Effort | | API | Status | Where to implement | Effort |
|-----|--------|--------------------|--------| |-----|--------|--------------------|--------|
| `signalfd`/`signalfd4` | **Implemented and runtime-tested in-tree** | `relibc/src/header/signal/mod.rs` + `signal/signalfd.rs` | Strict Redox-target relibc runtime test now passes; broader consumer semantics still need continued confirmation | | `signalfd`/`signalfd4` | **Recipe-applied in the active build** | `local/patches/relibc/P3-signalfd.patch` | The active build carries it |
| `timerfd_create/settime/gettime` | **Implemented and runtime-tested in-tree** | `relibc/src/header/sys_timerfd/` | Strict Redox-target relibc runtime test now passes; broader consumer semantics still need continued confirmation | | `timerfd_create/settime/gettime` | **Recipe-applied in the active build** | `local/patches/relibc/P3-timerfd.patch` | The active build carries it |
| `eventfd`/`eventfd_read`/`eventfd_write` | **Implemented and runtime-tested in-tree** | `relibc/src/header/sys_eventfd/` | Strict Redox-target relibc runtime test now passes; broader consumer semantics still need continued confirmation | | `eventfd`/`eventfd_read`/`eventfd_write` | **Recipe-applied in the active build** | `local/patches/relibc/P3-eventfd.patch` | The active build carries it through `/scheme/event/eventfd/...` |
| `F_DUPFD_CLOEXEC` | **Implemented in-tree** | `relibc/src/header/fcntl/mod.rs` | Verify against downstream consumers | | `F_DUPFD_CLOEXEC` | **Partly plain-source, partly patch-carried behavior** | `relibc/src/header/fcntl/mod.rs`, `local/patches/relibc/redox.patch` | Keep the support language evidence-qualified |
| `MSG_CMSG_CLOEXEC` | **Implemented in-tree** | `relibc/src/header/sys_socket/mod.rs` | Verify against downstream consumers | | `MSG_CMSG_CLOEXEC` | **Needs evidence-qualified wording** | `relibc/src/header/sys_socket/mod.rs` | Do not overstate broader downstream semantics |
| `MSG_NOSIGNAL` | **Implemented in-tree** | `relibc/src/header/sys_socket/mod.rs` | Verify against downstream consumers | | `MSG_NOSIGNAL` | **Needs evidence-qualified wording** | `relibc/src/header/sys_socket/mod.rs` | Do not overstate broader downstream semantics |
| `open_memstream` | **Implemented in-tree** | `relibc/src/header/stdio/open_memstream.rs` | Verify against downstream consumers | | `open_memstream` | **Patch-carried in the active build** | `local/patches/relibc/P3-open-memstream.patch` | Active compatibility surface |
| UDS + FD passing | **Done** | Already implemented | — | | UDS + FD passing | **Done** | Already implemented | — |
| `epoll` (event scheme) | **Done** | Redox `scheme:event` | — | | `epoll` (event scheme) | **Done** | Redox `scheme:event` | — |
| `mmap`/`mprotect` | **Done** | Kernel syscalls | — | | `mmap`/`mprotect` | **Done** | Kernel syscalls | — |
| `fork`/`exec` | **Done** | Userspace via `thisproc:` scheme | — | | `fork`/`exec` | **Done** | Userspace via `thisproc:` scheme | — |
**Current blocker**: The build-side relibc/libwayland bridge is now in place, but downstream Wayland still needs runtime validation and the wider compositor stack (`evdevd`/`seatd`/DRM/GBM) is still incomplete. **Current blocker**: The active relibc build now carries the needed bounded compatibility surface, but downstream Wayland still needs runtime validation and the wider compositor stack (`evdevd`/`seatd`/DRM/GBM) is still incomplete.
### Layer 2: GPU / Display Infrastructure ### Layer 2: GPU / Display Infrastructure
@@ -105,7 +105,7 @@ implemented phase with its own config/recipe/doc boundary.
| udev shim | **Present in-tree** | `local/recipes/system/udev-shim/` | `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` | | udev shim | **Present in-tree** | `local/recipes/system/udev-shim/` | `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` |
| libinput | **Present as WIP port** | `recipes/wip/libs/other/libinput/` | `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` | | libinput | **Present as WIP port** | `recipes/wip/libs/other/libinput/` | `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` |
| XKB layouts | **Done** | `xkeyboard-config` ported | — | | XKB layouts | **Done** | `xkeyboard-config` ported | — |
| seatd | Builds and is wired into KDE config, runtime unvalidated | `recipes/wip/services/seatd/`, `config/redbear-kde.toml` | — | | seatd | Builds and is wired into the desktop-capable config, runtime unvalidated | `recipes/wip/services/seatd/`, `config/redbear-full.toml` | — |
### Layer 4: Wayland Protocol ### Layer 4: Wayland Protocol
@@ -142,6 +142,10 @@ implemented phase with its own config/recipe/doc boundary.
## Concrete Roadmap with Milestones ## Concrete Roadmap with Milestones
> **Historical roadmap note:** the milestone list below is retained for continuity and dependency
> explanation, not as the current execution authority. For current sequencing and acceptance truth,
> prefer `docs/07-RED-BEAR-OS-IMPLEMENTATION-PLAN.md` plus the active plans under `local/docs/`.
### Milestone M1: "libwayland works natively" (2-4 weeks) ### Milestone M1: "libwayland works natively" (2-4 weeks)
- Build-side part now substantially complete: relibc exports the needed consumer-visible POSIX headers/symbols and `libwayland` rebuilds with only residual Redox-specific build tweaks - Build-side part now substantially complete: relibc exports the needed consumer-visible POSIX headers/symbols and `libwayland` rebuilds with only residual Redox-specific build tweaks
- Remaining work: runtime validation (`wayland-rs_simple_window`, compositor bring-up) - Remaining work: runtime validation (`wayland-rs_simple_window`, compositor bring-up)
+9 -8
View File
@@ -13,6 +13,11 @@
> >
> The phase and step labels below are retained for historical structure. They are not the current > The phase and step labels below are retained for historical structure. They are not the current
> planning authority for KDE/desktop sequencing. > planning authority for KDE/desktop sequencing.
>
> For the current greeter/login boundary specifically, use
> `local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md` together with
> `local/docs/DESKTOP-STACK-CURRENT-STATUS.md` rather than the launch snippets or phase language in
> this historical document.
## Current State Snapshot ## Current State Snapshot
@@ -21,7 +26,7 @@
| Qt6 | Built in-tree (`qtbase`, `qtdeclarative`, `qtsvg`, `qtwayland`) | | Qt6 | Built in-tree (`qtbase`, `qtdeclarative`, `qtsvg`, `qtwayland`) |
| KF6 | All 32/32 built (some still shimmed or stubbed) | | KF6 | All 32/32 built (some still shimmed or stubbed) |
| `config/redbear-kde.toml` | Present with KDE session launcher | | `config/redbear-kde.toml` | Present with KDE session launcher |
| `kwin`, `plasma-workspace`, `plasma-desktop` | Recipes exist, still marked TODO | | `kwin`, `plasma-workspace`, `plasma-desktop` | Recipes exist; build/runtime trust is still incomplete and some recipe/source TODO markers remain |
| `kirigami` | Stub-only package for dependency resolution | | `kirigami` | Stub-only package for dependency resolution |
| `kf6-kio` | Heavy shim-based build recipe | | `kf6-kio` | Heavy shim-based build recipe |
| `kf6-kcmutils` | Stripped widget-only build recipe | | `kf6-kcmutils` | Stripped widget-only build recipe |
@@ -84,9 +89,7 @@ Blocked on: KWin shimmed/stubbed deps resolution, KWin runtime integration, Plas
#### Historical Step 1: Port `qtbase` (6-8 weeks) #### Historical Step 1: Port `qtbase` (6-8 weeks)
> **Historical recipe note:** the `recipes/wip/qt/...` path below is retained as design history. > **Historical note:** the `recipes/wip/qt/...` path below is retained as design history. For current Red Bear ownership and shipping decisions, use the WIP ownership policy and current local overlay docs.
> For current Red Bear ownership and shipping decisions, use the WIP ownership policy and current
> local overlay docs rather than assuming upstream WIP is the preferred final source.
**Create recipe**: `recipes/wip/qt/qtbase/recipe.toml` **Create recipe**: `recipes/wip/qt/qtbase/recipe.toml`
@@ -248,9 +251,7 @@ These have minimal dependencies — just Qt and CMake.
**Recipe pattern** (same for all Tier 1): **Recipe pattern** (same for all Tier 1):
> **Historical recipe pattern note:** the `recipes/wip/kde/...` examples below show the original > **Historical note:** the `recipes/wip/kde/...` examples below show the original upstream-oriented porting pattern. Current Red Bear-owned KDE shipping work should prefer `local/recipes/kde/`.
> upstream-oriented porting pattern. Current Red Bear-owned KDE shipping work should prefer
> `local/recipes/kde/` while upstream KDE recipes remain WIP.
```toml ```toml
# recipes/wip/kde/kcoreaddons/recipe.toml # recipes/wip/kde/kcoreaddons/recipe.toml
@@ -480,7 +481,7 @@ dbus-daemon --system &
eval $(dbus-launch --sh-syntax) eval $(dbus-launch --sh-syntax)
# Start KWin (Wayland compositor + window manager) # Start KWin (Wayland compositor + window manager)
kwin_wayland --replace & kwin_wayland_wrapper --drm &
# Start Plasma Shell # Start Plasma Shell
sleep 2 sleep 2
+10 -18
View File
@@ -98,18 +98,9 @@ echo 'PODMAN_BUILD?=0' > .config
### Select Build Configuration ### Select Build Configuration
Mainline configs still exist, but tracked Red Bear work should normally be built and validated Tracked Red Bear work should normally be built and validated through the four supported
through the four supported `redbear-*` compile targets. For desktop work specifically, `redbear-*` compile targets. For desktop work specifically, `redbear-full` is the tracked
`redbear-full` is the tracked desktop-capable target. desktop-capable target.
Available configs (in `config/`):
| Config | Description |
|---|---|
| `redbear-mini` | Minimal tracked Red Bear image |
| `redbear-live-mini` | Live/recovery variant of the minimal target |
| `redbear-full` | Desktop-capable tracked Red Bear image |
| `redbear-live-full` | Live/recovery variant of the desktop-capable target |
## Building ## Building
@@ -119,7 +110,7 @@ Available configs (in `config/`):
make all make all
``` ```
This produces the image for the selected target, such as `build/x86_64/redbear-full/harddrive.img`. This produces the image for the selected target, such as `build/x86_64/harddrive.img`.
### Export External Toolchain ### Export External Toolchain
@@ -160,9 +151,11 @@ For tracked Red Bear work, prefer these four compile targets over older historic
```bash ```bash
make live CONFIG_NAME=redbear-live-full make live CONFIG_NAME=redbear-live-full
# Produces: build/x86_64/redbear-live-full/redox-live.iso # Produces: build/x86_64/redbear-live.iso
``` ```
Live `.iso` outputs are for real bare-metal boot, install, recovery, and demo workflows. They are not the VM/QEMU execution surface; for virtualization, use `make qemu` and the `harddrive.img` path instead.
### Rebuild After Changes ### Rebuild After Changes
```bash ```bash
@@ -200,7 +193,7 @@ make virtualbox
```bash ```bash
# Write image to USB device (replace sdX with your device): # Write image to USB device (replace sdX with your device):
sudo dd if=build/x86_64/redbear-kde/harddrive.img of=/dev/sdX bs=4M status=progress sudo dd if=build/x86_64/harddrive.img of=/dev/sdX bs=4M status=progress
``` ```
## Building Specific Packages (Recipes) ## Building Specific Packages (Recipes)
@@ -262,7 +255,7 @@ cp target/release/myapp ${COOKBOOK_STAGE}/usr/bin/
| Variable | Default | Description | | Variable | Default | Description |
|---|---|---| |---|---|---|
| `ARCH` | Host arch | Target architecture (x86_64, aarch64, i586, riscv64gc) | | `ARCH` | Host arch | Target architecture (x86_64, aarch64, i586, riscv64gc) |
| `CONFIG_NAME` | `redbear-kde` | Build config name | | `CONFIG_NAME` | `redbear-full` | Build config name |
| `PODMAN_BUILD` | `1` | Use Podman container | | `PODMAN_BUILD` | `1` | Use Podman container |
| `PREFIX_BINARY` | `1` | Use prebuilt toolchain (faster) | | `PREFIX_BINARY` | `1` | Use prebuilt toolchain (faster) |
| `REPO_BINARY` | `0` | Use prebuilt packages (faster, no compilation) | | `REPO_BINARY` | `0` | Use prebuilt packages (faster, no compilation) |
@@ -324,9 +317,8 @@ make distclean
redox-master/ redox-master/
├── build/ ├── build/
│ └── x86_64/ │ └── x86_64/
│ └── redbear-kde/
│ ├── harddrive.img # Bootable disk image │ ├── harddrive.img # Bootable disk image
├── redox-live.iso # Live CD ISO │ ├── redbear-live.iso # Live CD ISO
│ ├── filesystem/ # Mounted filesystem (during build) │ ├── filesystem/ # Mounted filesystem (during build)
│ └── repo.tag # Build completion marker │ └── repo.tag # Build completion marker
├── prefix/ ├── prefix/
+7 -4
View File
@@ -127,7 +127,7 @@ Scope:
### `redbear-live-mini` ### `redbear-live-mini`
Live/demo/recovery form of the mini baseline. Live/demo/recovery form of the mini baseline for real bare metal.
Scope: Scope:
@@ -137,7 +137,7 @@ Scope:
### `redbear-live-full` ### `redbear-live-full`
Live/demo/recovery form of the full desktop target. Live/demo/recovery form of the full desktop target for real bare metal.
Scope: Scope:
@@ -150,6 +150,7 @@ Scope:
- Desktop/graphics are available only on `redbear-full` and `redbear-live-full`. - Desktop/graphics are available only on `redbear-full` and `redbear-live-full`.
- Validation work that does not require graphics should prefer `redbear-mini` or `redbear-live-mini`. - Validation work that does not require graphics should prefer `redbear-mini` or `redbear-live-mini`.
- Live `.iso` outputs are for real bare-metal boot/install workflows, not for VM/QEMU execution; virtualization should use the `harddrive.img`-based target surface.
## Current State Baseline ## Current State Baseline
@@ -166,7 +167,7 @@ The current evidence-backed baseline is:
- Wayland-facing relibc compatibility surfaces now rebuild from a refreshed upstream relibc source - Wayland-facing relibc compatibility surfaces now rebuild from a refreshed upstream relibc source
tree via local patch carriers, tree via local patch carriers,
- `libwayland` and `qtbase` build successfully from the reconstructed relibc state, - `libwayland` and `qtbase` build successfully from the reconstructed relibc state,
- KDE session work is in progress but not yet a stable runtime claim, - the Red Bear-native greeter/login path now has a bounded passing runtime proof, while broader KDE/KWin session stability is still not yet a general runtime claim,
- USB, Wi-Fi, Bluetooth, and low-level controller quality remain first-class unfinished workstreams. - USB, Wi-Fi, Bluetooth, and low-level controller quality remain first-class unfinished workstreams.
### What is current versus historical ### What is current versus historical
@@ -376,6 +377,7 @@ Canonical references:
- `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` — canonical desktop path from console to hardware-accelerated KDE Plasma on Wayland - `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` — canonical desktop path from console to hardware-accelerated KDE Plasma on Wayland
- `local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` — canonical Wayland subsystem plan beneath the desktop path - `local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` — canonical Wayland subsystem plan beneath the desktop path
- `local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md` — canonical greeter/login plan beneath the desktop path
- `local/docs/QT6-PORT-STATUS.md` - `local/docs/QT6-PORT-STATUS.md`
- `local/docs/DESKTOP-STACK-CURRENT-STATUS.md` - `local/docs/DESKTOP-STACK-CURRENT-STATUS.md`
- `docs/05-KDE-PLASMA-ON-REDOX.md` — historical KDE implementation rationale - `docs/05-KDE-PLASMA-ON-REDOX.md` — historical KDE implementation rationale
@@ -384,7 +386,7 @@ Acceptance:
- `redbear-wayland` remains the narrow runtime validation slice, - `redbear-wayland` remains the narrow runtime validation slice,
- `redbear-full` remains the broader desktop/session plumbing slice, - `redbear-full` remains the broader desktop/session plumbing slice,
- `redbear-kde` reaches documented session viability with honest limitations. - the active desktop-capable tracked targets keep honest session-viability language tied to `redbear-full` / `redbear-live-full`, not older historical target names.
### 8. Hardware validation and support labeling ### 8. Hardware validation and support labeling
@@ -409,6 +411,7 @@ The current subsystem plans to treat as first-class are:
- `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` — canonical desktop path plan - `local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md` — canonical desktop path plan
- `local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` — canonical Wayland subsystem plan - `local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` — canonical Wayland subsystem plan
- `local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md` — canonical greeter/login plan
- `local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md` - `local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md`
- `local/docs/USB-IMPLEMENTATION-PLAN.md` - `local/docs/USB-IMPLEMENTATION-PLAN.md`
- `local/docs/WIFI-IMPLEMENTATION-PLAN.md` - `local/docs/WIFI-IMPLEMENTATION-PLAN.md`
+20 -7
View File
@@ -69,16 +69,27 @@ current local subsystem plan.
- `../local/docs/BLUETOOTH-VALIDATION-RUNBOOK.md` — canonical operator path for the bounded Bluetooth Battery Level QEMU validation slice - `../local/docs/BLUETOOTH-VALIDATION-RUNBOOK.md` — canonical operator path for the bounded Bluetooth Battery Level QEMU validation slice
- `../local/docs/ACPI-IMPROVEMENT-PLAN.md` — current ACPI ownership, robustness, and validation plan - `../local/docs/ACPI-IMPROVEMENT-PLAN.md` — current ACPI ownership, robustness, and validation plan
- `../local/docs/ACPI-FIXES.md` — historical P0 ACPI bring-up ledger and status record - `../local/docs/ACPI-FIXES.md` — historical P0 ACPI bring-up ledger and status record
- `../local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md` — current low-level controller and IRQ blocker plan - `../local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md` — canonical current plan for PCI/IRQ quality, low-level controller robustness, MSI/MSI-X follow-up, and controller runtime-proof sequencing
- `../local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md` — current DRM-focused execution plan beneath the canonical desktop path, with equal Intel/AMD evidence bars - `../local/docs/DRM-MODERNIZATION-EXECUTION-PLAN.md` — current DRM-focused execution plan beneath the canonical desktop path, with equal Intel/AMD evidence bars
- `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` — canonical Wayland subsystem plan beneath the desktop path - `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` — canonical Wayland subsystem plan beneath the desktop path
- `../local/docs/RELIBC-COMPLETENESS-AND-ENHANCEMENT-PLAN.md` — canonical relibc quality/completeness/robustness assessment and improvement plan
- `../local/docs/RELIBC-IPC-ASSESSMENT-AND-IMPROVEMENT-PLAN.md` — IPC-focused companion plan for the active relibc compatibility surface
- `../local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md` — canonical greeter/login plan for the Red Bear-native login boundary on `redbear-full`
- PCI vendor/device names in Red Bear runtime tools now come from the shipped `pciids` database; PCI quirk policy still lives in `../local/docs/QUIRKS-SYSTEM.md` - PCI vendor/device names in Red Bear runtime tools now come from the shipped `pciids` database; PCI quirk policy still lives in `../local/docs/QUIRKS-SYSTEM.md`
- `../local/docs/AMD-FIRST-INTEGRATION.md` — AMD-focused technical roadmap and hardware detail only, not the canonical desktop plan - `../local/docs/AMD-FIRST-INTEGRATION.md` — AMD-focused technical roadmap and hardware detail only, not the canonical desktop plan
- `../local/docs/DESKTOP-STACK-CURRENT-STATUS.md` — canonical current build/runtime truth summary for the desktop stack - `../local/docs/DESKTOP-STACK-CURRENT-STATUS.md` — canonical current build/runtime truth summary for the desktop stack
These local Red Bear plans should be treated as first-class subsystem references for USB, Wi-Fi, These local Red Bear plans should be treated as first-class subsystem references for desktop/session,
Bluetooth, and low-level controller work. They carry blocker detail that the public docs summarize USB, Wi-Fi, Bluetooth, and low-level controller work. They carry blocker detail that the public docs
at a higher level. 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.
## Related Red Bear-local governance docs ## Related Red Bear-local governance docs
@@ -97,7 +108,8 @@ This summary is only a quick orientation layer. For canonical current-state deta
- and the active subsystem plans under `local/docs/` for detailed current workstreams. - and the active subsystem plans under `local/docs/` for detailed current workstreams.
- **Compile targets**: the supported compile targets are `redbear-mini`, `redbear-live-mini`, `redbear-full`, and `redbear-live-full` - **Compile targets**: the supported compile targets are `redbear-mini`, `redbear-live-mini`, `redbear-full`, and `redbear-live-full`
- **Wayland**: libwayland + wayland-protocols built. Runtime compositor proof remains incomplete. - **Live ISO policy**: live `.iso` outputs (`redbear-live-mini`, `redbear-live-full`) 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.0 (Core+Gui+Widgets+DBus+Wayland), qtdeclarative, qtsvg, qtwayland ALL BUILT - **Qt6**: qtbase 6.11.0 (Core+Gui+Widgets+DBus+Wayland), qtdeclarative, qtsvg, qtwayland ALL BUILT
- **D-Bus**: 1.16.2 built for Redox. Qt6DBus enabled. - **D-Bus**: 1.16.2 built for Redox. Qt6DBus enabled.
- **KF6 Frameworks**: all 32/32 built. Some packages remain shimmed or stubbed (kirigami stub-only, kf6-kio heavy shim). - **KF6 Frameworks**: all 32/32 built. Some packages remain shimmed or stubbed (kirigami stub-only, kf6-kio heavy shim).
@@ -105,10 +117,11 @@ This summary is only a quick orientation layer. For canonical current-state deta
- **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 under compile triage. Hardware validation is still pending. - **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 under compile triage. Hardware validation is still pending.
- **Input**: evdevd compiled, libevdev built, libinput 1.30.2 built - **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. - **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. - **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 - **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` / `redbear-live-full` carry the desktop-capable target surface, and the runtime stack is still incomplete. - **Desktop direction**: `redbear-full` / `redbear-live-full` carry 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: typed startup errors in `acpid`, AML mutex real state, EC widened accesses via byte transactions, kstop-based shutdown eventing; **known gaps**: sleep state transitions and sleep eventing; DMAR remains present in `acpid` but not wired, with ownership still transitional/orphaned rather than cleanly transferred; bare-metal validation remains bounded and still outstanding. See `local/docs/ACPI-IMPROVEMENT-PLAN.md`. - **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. - **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. - **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. - **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.