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 -13
View File
@@ -37,9 +37,9 @@ Key syscalls: `open`, `close`, `read`, `write`, `seek`, `fmap`, `funmap`, `dup`,
### Userspace-ification Trend
Redox is actively moving POSIX functionality out of the kernel:
- **fork/exec** → userspace via `thisproc:` scheme
- **Signal handling** → userspace with kernel-shared page for low-cost `sigprocmask`
- **Process manager** → planned userspace daemon
- fork/exec goes to userspace via `thisproc:` scheme
- signal handling goes to userspace with a kernel-shared page for low-cost `sigprocmask`
- process manager is planned as a userspace daemon
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)
**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
@@ -192,18 +195,19 @@ Architectures: i586, x86_64, aarch64, riscv64gc.
### Known POSIX Gaps (blocking Wayland)
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
patches, so this table is a current-state summary rather than an untouched historical claim.
Today, most are provided by the active relibc recipe patch chain rather than by plain upstream-only
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 |
|-------------|---------|--------|
| `signalfd` / `SFD_CLOEXEC` | libwayland event loop | Implemented in-tree; downstream libwayland still patched around usage |
| `timerfd` / `TFD_CLOEXEC` / `TFD_TIMER_ABSTIME` | libwayland timers | Implemented in-tree; downstream libwayland still patched around usage |
| `eventfd` / `EFD_CLOEXEC` | libwayland server | Implemented in-tree; downstream libwayland still patched around usage |
| `F_DUPFD_CLOEXEC` | libwayland fd management | Implemented in-tree |
| `MSG_CMSG_CLOEXEC` | libwayland socket recv | Implemented in-tree |
| `MSG_NOSIGNAL` | libwayland connection | Implemented in-tree; downstream libwayland still omits flag |
| `open_memstream` | libdrm, libwayland | Implemented in-tree; downstream libwayland still bypasses 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 | Active relibc recipe-applied surface; 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 | Active relibc recipe-applied surface |
| `MSG_CMSG_CLOEXEC` | libwayland socket recv | Active relibc recipe-applied surface |
| `MSG_NOSIGNAL` | libwayland connection | Active relibc recipe-applied surface; downstream libwayland still omits flag |
| `open_memstream` | libdrm, libwayland | Active relibc recipe-applied surface; downstream libwayland still bypasses usage |
## 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 |
|---|---|---|
| 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/` |
| 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/` |
| 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
@@ -67,19 +67,19 @@ implemented phase with its own config/recipe/doc boundary.
| 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 |
| `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 |
| `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 |
| `F_DUPFD_CLOEXEC` | **Implemented in-tree** | `relibc/src/header/fcntl/mod.rs` | Verify against downstream consumers |
| `MSG_CMSG_CLOEXEC` | **Implemented in-tree** | `relibc/src/header/sys_socket/mod.rs` | Verify against downstream consumers |
| `MSG_NOSIGNAL` | **Implemented in-tree** | `relibc/src/header/sys_socket/mod.rs` | Verify against downstream consumers |
| `open_memstream` | **Implemented in-tree** | `relibc/src/header/stdio/open_memstream.rs` | Verify against downstream consumers |
| `signalfd`/`signalfd4` | **Recipe-applied in the active build** | `local/patches/relibc/P3-signalfd.patch` | The active build carries it |
| `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` | **Recipe-applied in the active build** | `local/patches/relibc/P3-eventfd.patch` | The active build carries it through `/scheme/event/eventfd/...` |
| `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` | **Needs evidence-qualified wording** | `relibc/src/header/sys_socket/mod.rs` | Do not overstate broader downstream semantics |
| `MSG_NOSIGNAL` | **Needs evidence-qualified wording** | `relibc/src/header/sys_socket/mod.rs` | Do not overstate broader downstream semantics |
| `open_memstream` | **Patch-carried in the active build** | `local/patches/relibc/P3-open-memstream.patch` | Active compatibility surface |
| UDS + FD passing | **Done** | Already implemented | — |
| `epoll` (event scheme) | **Done** | Redox `scheme:event` | — |
| `mmap`/`mprotect` | **Done** | Kernel syscalls | — |
| `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
@@ -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` |
| libinput | **Present as WIP port** | `recipes/wip/libs/other/libinput/` | `../local/docs/WAYLAND-IMPLEMENTATION-PLAN.md` |
| 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
@@ -142,6 +142,10 @@ implemented phase with its own config/recipe/doc boundary.
## 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)
- 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)
+9 -8
View File
@@ -13,6 +13,11 @@
>
> The phase and step labels below are retained for historical structure. They are not the current
> 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
@@ -21,7 +26,7 @@
| Qt6 | Built in-tree (`qtbase`, `qtdeclarative`, `qtsvg`, `qtwayland`) |
| KF6 | All 32/32 built (some still shimmed or stubbed) |
| `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 |
| `kf6-kio` | Heavy shim-based 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 recipe 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 rather than assuming upstream WIP is the preferred final source.
> **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.
**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):
> **Historical recipe pattern 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/` while upstream KDE recipes remain WIP.
> **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/`.
```toml
# recipes/wip/kde/kcoreaddons/recipe.toml
@@ -480,7 +481,7 @@ dbus-daemon --system &
eval $(dbus-launch --sh-syntax)
# Start KWin (Wayland compositor + window manager)
kwin_wayland --replace &
kwin_wayland_wrapper --drm &
# Start Plasma Shell
sleep 2
+13 -21
View File
@@ -98,18 +98,9 @@ echo 'PODMAN_BUILD?=0' > .config
### Select Build Configuration
Mainline configs still exist, but tracked Red Bear work should normally be built and validated
through the four supported `redbear-*` compile targets. For desktop work specifically,
`redbear-full` is the tracked 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 |
Tracked Red Bear work should normally be built and validated through the four supported
`redbear-*` compile targets. For desktop work specifically, `redbear-full` is the tracked
desktop-capable target.
## Building
@@ -119,7 +110,7 @@ Available configs (in `config/`):
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
@@ -160,9 +151,11 @@ For tracked Red Bear work, prefer these four compile targets over older historic
```bash
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
```bash
@@ -200,7 +193,7 @@ make virtualbox
```bash
# 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)
@@ -262,7 +255,7 @@ cp target/release/myapp ${COOKBOOK_STAGE}/usr/bin/
| Variable | Default | Description |
|---|---|---|
| `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 |
| `PREFIX_BINARY` | `1` | Use prebuilt toolchain (faster) |
| `REPO_BINARY` | `0` | Use prebuilt packages (faster, no compilation) |
@@ -324,11 +317,10 @@ make distclean
redox-master/
├── build/
│ └── x86_64/
── redbear-kde/
├── harddrive.img # Bootable disk image
├── redox-live.iso # Live CD ISO
├── filesystem/ # Mounted filesystem (during build)
│ └── repo.tag # Build completion marker
── harddrive.img # Bootable disk image
├── redbear-live.iso # Live CD ISO
├── filesystem/ # Mounted filesystem (during build)
└── repo.tag # Build completion marker
├── prefix/
│ └── x86_64-unknown-redox/
│ └── clang-install/ # Cross-compilation toolchain
+7 -4
View File
@@ -127,7 +127,7 @@ Scope:
### `redbear-live-mini`
Live/demo/recovery form of the mini baseline.
Live/demo/recovery form of the mini baseline for real bare metal.
Scope:
@@ -137,7 +137,7 @@ Scope:
### `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:
@@ -150,6 +150,7 @@ Scope:
- 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`.
- 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
@@ -166,7 +167,7 @@ The current evidence-backed baseline is:
- Wayland-facing relibc compatibility surfaces now rebuild from a refreshed upstream relibc source
tree via local patch carriers,
- `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.
### 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/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/DESKTOP-STACK-CURRENT-STATUS.md`
- `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-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
@@ -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/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/USB-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/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/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/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`
- `../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
These local Red Bear plans should be treated as first-class subsystem references for USB, Wi-Fi,
Bluetooth, and low-level controller work. They carry blocker detail that the public docs summarize
at a higher level.
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 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
@@ -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.
- **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
- **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).
@@ -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.
- **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.
- **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.
- **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.
- **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`.
- **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: 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.
- **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.