D-Bus Phase 3/4: upgrade sessiond, services, add StatusNotifierWatcher, consolidate configs
- redbear-sessiond: add Manager.Inhibit (pipe FD), CanPowerOff/CanReboot/ CanSuspend/CanHibernate/CanHybridSleep/CanSleep (return na), PowerOff/ Reboot/Suspend stubs, GetSessionByPID, ListUsers, ListSeats, ListInhibitors, ActivateSession/LockSession/UnlockSession/TerminateSession - redbear-sessiond: add Session SetIdleHint, SetLockedHint, SetType, Terminate methods; wire PauseDevice/ResumeDevice/Lock/Unlock signal emission via SignalEmitter injection; add dynamic device enumeration scanning /scheme/drm/card* and /dev/input/event* at startup - redbear-sessiond: replace infinite pending() with stoppable shutdown via tokio watch channel + control socket shutdown command - redbear-upower: add Changed signal emission with 30s periodic polling and power state snapshot comparison - redbear-notifications: add ActionInvoked signal, expand capabilities to body + body-markup + actions - redbear-polkit, redbear-udisks: replace pending() with stoppable shutdown via signal handling + watch channel - Add redbear-statusnotifierwatcher: new session bus service implementing org.freedesktop.StatusNotifierWatcher for KDE system tray - Add D-Bus activation file for StatusNotifierWatcher - KWin session.cpp: try LogindSession before NoopSession fallback - Consolidate config profiles: remove obsolete redbear-desktop, redbear-kde, redbear-live-*, redbear-minimal-*, redbear-wayland configs; simplify to three supported targets (redbear-full, redbear-mini, redbear-grub) - Update DBUS-INTEGRATION-PLAN.md and DESKTOP-STACK-CURRENT-STATUS.md with Phase 3/4 fragility assessment, KWin readiness matrix, and completeness gap analysis
This commit is contained in:
@@ -105,7 +105,7 @@ echo 'PODMAN_BUILD?=0' > .config
|
||||
|
||||
### Select Build Configuration
|
||||
|
||||
Tracked Red Bear work should normally be built and validated through the four supported
|
||||
Tracked Red Bear work should normally be built and validated through the three supported
|
||||
`redbear-*` compile targets. For desktop work specifically, `redbear-full` is the tracked
|
||||
desktop-capable target.
|
||||
|
||||
@@ -144,20 +144,19 @@ For the full layout and rationale, see `local/docs/EXTERNAL-TOOLCHAIN.md`.
|
||||
```bash
|
||||
# Preferred Red Bear wrapper:
|
||||
./local/scripts/build-redbear.sh redbear-mini
|
||||
./local/scripts/build-redbear.sh redbear-live-mini
|
||||
./local/scripts/build-redbear.sh redbear-full
|
||||
./local/scripts/build-redbear.sh redbear-live-full
|
||||
./local/scripts/build-redbear.sh redbear-grub
|
||||
|
||||
# Direct make is still valid when needed:
|
||||
make all CONFIG_NAME=redbear-full
|
||||
```
|
||||
|
||||
For tracked Red Bear work, prefer these four compile targets over older historical names.
|
||||
For tracked Red Bear work, prefer these three compile targets over older historical names.
|
||||
|
||||
### Build a Live ISO
|
||||
|
||||
```bash
|
||||
make live CONFIG_NAME=redbear-live-full
|
||||
make live CONFIG_NAME=redbear-full
|
||||
# Produces: build/x86_64/redbear-live.iso
|
||||
```
|
||||
|
||||
|
||||
@@ -93,14 +93,13 @@ That means:
|
||||
The tracked Red Bear compile targets are:
|
||||
|
||||
- `redbear-mini`
|
||||
- `redbear-live-mini`
|
||||
- `redbear-full`
|
||||
- `redbear-live-full`
|
||||
- `redbear-grub`
|
||||
|
||||
These are the only supported compile targets. Older names such as `redbear-minimal`,
|
||||
`redbear-desktop`, `redbear-wayland`, `redbear-kde`, and `redbear-live` may still appear in
|
||||
historical notes or legacy implementation details, but they are not the current compile-target
|
||||
surface.
|
||||
`redbear-desktop`, `redbear-wayland`, `redbear-kde`, `redbear-live`, `redbear-live-mini`,
|
||||
and `redbear-live-full` may still appear in historical notes or legacy implementation details,
|
||||
but they are not the current compile-target surface.
|
||||
|
||||
### `redbear-mini`
|
||||
|
||||
@@ -125,31 +124,20 @@ Scope:
|
||||
- Qt base integration,
|
||||
- the active desktop-capable target surface.
|
||||
|
||||
### `redbear-live-mini`
|
||||
### `redbear-grub`
|
||||
|
||||
Live/demo/recovery form of the mini baseline for real bare metal.
|
||||
Text-only console/recovery target with GRUB boot manager for real bare metal.
|
||||
|
||||
Scope:
|
||||
|
||||
- diagnostics,
|
||||
- recovery workflows,
|
||||
- installability for the non-graphics target.
|
||||
|
||||
### `redbear-live-full`
|
||||
|
||||
Live/demo/recovery form of the full desktop target for real bare metal.
|
||||
|
||||
Scope:
|
||||
|
||||
- diagnostics,
|
||||
- recovery workflows,
|
||||
- installability,
|
||||
- live desktop-capable system identity.
|
||||
- multi-boot bare-metal install with GRUB chainload.
|
||||
|
||||
### Desktop policy
|
||||
|
||||
- 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`.
|
||||
- Desktop/graphics are available only on `redbear-full`.
|
||||
- Validation work that does not require graphics should prefer `redbear-mini` or `redbear-grub`.
|
||||
- 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
|
||||
@@ -384,9 +372,9 @@ Canonical references:
|
||||
|
||||
Acceptance:
|
||||
|
||||
- `redbear-wayland` remains the narrow runtime validation slice,
|
||||
- `redbear-full` remains the broader desktop/session plumbing slice,
|
||||
- the active desktop-capable tracked targets keep honest session-viability language tied to `redbear-full` / `redbear-live-full`, not older historical target names.
|
||||
- `redbear-full` remains the broader desktop/session plumbing slice (the Wayland validation slice
|
||||
is handled within `redbear-full`),
|
||||
- the active desktop-capable tracked targets keep honest session-viability language tied to `redbear-full`, not older historical target names.
|
||||
|
||||
### 8. Hardware validation and support labeling
|
||||
|
||||
|
||||
+3
-3
@@ -107,8 +107,8 @@ This summary is only a quick orientation layer. For canonical current-state deta
|
||||
- `local/docs/PROFILE-MATRIX.md` for support-language by tracked profile,
|
||||
- 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`
|
||||
- **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.
|
||||
- **Compile targets**: the supported compile targets are `redbear-mini`, `redbear-full`, and `redbear-grub`
|
||||
- **Live ISO policy**: live `.iso` outputs (`make live`) 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.
|
||||
@@ -120,7 +120,7 @@ This summary is only a quick orientation layer. For canonical current-state deta
|
||||
- **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 Wi‑Fi 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; the bounded greeter/login slice now passes, while the wider desktop runtime stack is still incomplete.
|
||||
- **Desktop direction**: `redbear-full` carries 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.
|
||||
|
||||
Reference in New Issue
Block a user