44 Commits

Author SHA1 Message Date
vasilito b9cefe0806 docs: comprehensive audit fixes (build paths, python314, stubs, my-→redbear-, immutability)
Top-level + local docs audit (2026-06-18). Findings and fixes:

1. AGENTS.md CONVENTIONS section — corrected 'my-' prefix contradiction.
   The legacy 'my-*' prefix is deprecated and git-ignored. Use 'redbear-*'
   for tracked first-class configs.

2. README.md quick-start — promoted 'local/scripts/build-redbear.sh' to
   the recommended entry point. Bare 'scripts/run.sh --build' remains as
   a secondary path. Added note about build-redbear.sh's policy gates
   (.config checking, REDBEAR_ALLOW_PROTECTED_FETCH=1).

3. docs/06-BUILD-SYSTEM-SETUP.md — restructured Building section to put
   'build-redbear.sh' first, then 'make all' as legacy/advanced with
   clear notes on what gates it bypasses.

4. docs/05-KDE-PLASMA-ON-REDOX.md — replaced 'Stub-only package for
   dependency resolution' wording for kirigami. Per project policy
   (local/AGENTS.md STUB AND WORKAROUND POLICY — ZERO TOLERANCE),
   stubs are forbidden. The kirigami build is blocked at the QML gate;
   the recipe is honest and ships no fake/fallback package.

5. local/docs/BUILD-TOOLS-PORTING-PLAN.md — replaced all 'python312'
   references with 'python314' (matches V8.3 P0 bump from earlier).

6. local/AGENTS.md — added 'LOCAL RECIPE SOURCE IMMUTABILITY' section
   documenting the cb8b093564 guarantee. Any path matching
   /local/recipes/ is unconditionally immutable; no env var or flag
   can override. REDBEAR_ALLOW_LOCAL_UNFETCH=1 was removed as a kill
   switch and is now dead code. distclean-nuclear is now a no-op for
   local recipes.
2026-06-18 15:29:11 +03:00
vasilito 9af8da420a feat: build system transition to release fork + archive hardening
Release fork infrastructure:
- REDBEAR_RELEASE=0.1.1 with offline enforcement (fetch/distclean/unfetch blocked)
- 195 BLAKE3-verified source archives in standard format
- Atomic provisioning via provision-release.sh (staging + .complete sentry)
- 5-phase improvement plan: restore format auto-detection, source tree
  validation (validate-source-trees.py), archive-map.json, REPO_BINARY fallback

Archive normalization:
- Removed 87 duplicate/unversioned archives from shared pool
- Regenerated all archives in consistent format with source/ + recipe.toml
- BLAKE3SUMS and manifest.json generated from stable tarball set

Patch management:
- verify-patches.sh: pre-sync dry-run report (OK/REVERSED/CONFLICT)
- 121 upstream-absorbed patches moved to absorbed/ directories
- 43 active patches verified clean against rebased sources
- Stress test: base updated to upstream HEAD, relibc reset and patched

Compilation fixes:
- relibc: Vec imports in redox-rt (proc.rs, lib.rs, sys.rs)
- relibc: unsafe from_raw_parts in mod.rs (2024 edition)
- fetch.rs: rev comparison handles short/full hash prefixes
- kibi recipe: corrected rev mismatch

New scripts: restore-sources.sh, provision-release.sh, verify-sources-archived.sh,
check-upstream-releases.sh, validate-source-trees.py, verify-patches.sh,
repair-archive-format.sh, generate-manifest.py

Documentation: AGENTS.md, README.md, local/AGENTS.md updated for release fork model
2026-05-02 01:41:17 +01:00
vasilito f14f8a1b33 docs: Oracle final — remove stale shim/stub language from README and 05
Replaced obsolete stub/shim descriptions with "blocked by QML gate"
per current honest state.
2026-05-01 02:50:35 +01:00
vasilito 4aa45fdc9e docs: round 16 — final stale doc references sweep
KERNEL-IPC-CREDENTIAL, 05-KDE, RELIBC-IPC, AGENTS.md, wip/AGENTS
all updated: COMPREHENSIVE-OS-ASSESSMENT, QT6-PORT-STATUS,
RELIBC-COMPLETENESS replaced with CONSOLE-TO-KDE-DESKTOP-PLAN.md
2026-05-01 02:46:15 +01:00
vasilito a736d897ca docs: round 15 — remaining deleted-doc refs in KERNEL-IPC, WAYLAND, 05-KDE
Fixed stale references to COMPREHENSIVE-OS-ASSESSMENT, DESKTOP-STACK,
QT6-PORT in subsystem plans. All now point to CONSOLE-TO-KDE v4.0.
2026-05-01 02:41:02 +01:00
vasilito 5c1a481aae fix: Oracle round 10 — AGENTS stale state, config stray keys, redbear-kde→full
1. local/AGENTS.md: KWin/greeter/KF6 status updated to current truth
2. config/redbear-full.toml: konsole + kf6-pty moved under [packages]
3. docs/05 + BLUETOOTH + VFAT: redbear-kde.toml → redbear-full.toml
4. All remaining fixable Oracle issues from round 9 resolved
2026-05-01 02:10:10 +01:00
vasilito 6b79a7b98c fix: Oracle round 6 — wayland config + doc consistency
1. config/wayland.toml: kwin_wayland_wrapper → redbear-compositor
   (redbear-compositor IS the Wayland compositor)
2. docs/README.md: removed stale 2026-04-14 status note
   (referenced docs were already deleted)
3. docs/07: redbear-compositor serves as Wayland compositor
   (not "provides kwin_wayland binary")
2026-05-01 01:31:16 +01:00
vasilito 9d4ae88e25 fix: Oracle round 5 — all remaining issues resolved
1. redox-drm: verify_supported_gpu() now accepts virtio (0x1AF4)
   + auto-probe already includes 0x1AF4 (P5 patch updated)
2. KWin recipe: cmake configs moved inside if block (only
   written when cmake succeeds; no soft fallback)
3. local/AGENTS.md: all v2.0 references → v4.0
4. docs/README.md: date consistency (2026-04-30 → 2026-05-01)
2026-05-01 01:25:19 +01:00
vasilito c4ce98a006 fix: Oracle review 4 — all remaining issues resolved
1. KWin || true removed from sed commands (lines 53-57)
2. docs/07: RELIBC-COMPLETENESS+IMPLEMENTATION → KERNEL-IPC-CREDENTIAL
3. docs/README: v2.0 note → v4.0, date 2026-04-18 → 2026-05-01
4. local/AGENTS.md: v2.0 reference → v4.0
5. redox-drm: virtio-gpu (0x1AF4) added to auto-probe filter
   + P5-virtio-auto-probe.patch wired in recipe.toml
6. KWin cmake configs kept (downstream dependency, not KWin stub)
2026-05-01 01:17:17 +01:00
vasilito 16b4d535c6 docs: final consistency pass — KWin status, KF6 count, 07 ph 3-5
- docs/07: Phase 3-5 descriptions updated (no stubs, honest blockers)
- docs/README: KF6 count 32/32 → 36/48 built, 12 blocked by QML
- KWin recipe: clarified cmake configs are for downstream plasma-*
  packages, not for KWin itself
2026-05-01 01:07:09 +01:00
vasilito 165046c401 docs: final stale reference cleanup — all dead doc links removed
Fixed remaining Oracle-found issues:
- docs/AGENTS.md: RELIBC-COMPLETENESS → CONSOLE-TO-KDE,
  RELIBC-IMPLEMENTATION → KERNEL-IPC-CREDENTIAL
- docs/07: QT6-PORT-STATUS + DESKTOP-STACK → CONSOLE-TO-KDE
- CONSOLE-TO-KDE: KWin status updated (no longer has wrapper
  scripts; redbear-compositor provides kwin_wayland separately)

All 13 deleted docs now have zero references in canonical docs.
2026-05-01 01:04:09 +01:00
vasilito b7e174344d docs: fix all broken references to 13 deleted docs
Updated references in:
- AGENTS.md (root): AMD-FIRST-INTEGRATION → CONSOLE-TO-KDE, DESKTOP-STACK → CONSOLE-TO-KDE
- docs/AGENTS.md: removed entries for DESKTOP-STACK, QT6-PORT, AMD-FIRST, RELIBC-COMPLETENESS
- docs/README.md: removed AMD-FIRST, QT6-PORT, DESKTOP-STACK references

All now point to CONSOLE-TO-KDE-DESKTOP-PLAN.md v4.0 as single authority.
2026-05-01 00:57:30 +01:00
vasilito 5a8a73e7af docs: consolidate — CONSOLE-TO-KDE v4.0 supersedes all individual plans
CONSOLE-TO-KDE-DESKTOP-PLAN.md rewritten as v4.0 comprehensive plan:
- Single authority for all desktop-path decisions
- Full layer reassessment: DRM→Mesa→Wayland→KDE (6 layers)
- Honest blocker map with effort estimates
- Credential syscalls marked RESOLVED
- Software-rendered path: 8-14 weeks
- Hardware-accelerated path: 20-34 weeks

Stale docs deleted (13, consolidated):
- COMPREHENSIVE-OS-ASSESSMENT, DESKTOP-STACK-CURRENT-STATUS
- AMD-FIRST-INTEGRATION, HARDWARE-3D-ASSESSMENT, DMA-BUF-IMPROVEMENT, INPUT-SCHEME-ENHANCEMENT
- BOOT-PROCESS-ASSESSMENT, LINUX-BORROWING-RUST
- QT6-PORT-STATUS, REDBEAR-INFO-RUNTIME-REPORT
- RELIBC-COMPREHENSIVE, RELIBC-COMPLETENESS, RELIBC-IMPLEMENTATION

docs/README.md: updated status matrix, removed dead references
2026-04-30 23:59:36 +01:00
vasilito 1829a0ef07 state: Qt6::Sensors + libinput both built — 2 of 3 platform prerequisites resolved
Platform prerequisite status:
- Qt6::Sensors: BUILT (v6.11.0, 520KB pkgar, dummy backend)
- libinput: BUILT (v1.30.2, with libevdev v1.13.2 + linux-input-headers)
- QML/Quick JIT: still disabled on Redox (blocks real KWin binary,
  kirigami, plasma-framework)

KWin: now attempts real cmake build with Sensors + libinput deps
enabled. Falls back to redbear-compositor shim on cmake failure
(QML/Quick gate). Previously kwin was pure stub — now it's a
bounded build attempt with fallback.

Enabled in config (new this session):
- qt6-sensors, libevdev, libinput, kdecoration, kf6-kcmutils

Previously OOTB dependencies now resolved:
- libevdev → libinput → KWin real build path opened
- linux-input-headers → libevdev → libinput chain
- qt6-sensors → KWin Sensors dependency satisfied
2026-04-30 08:47:15 +01:00
vasilito a86717be2f state: 36/48 KDE packages build, 12 blocked — honest final state
The literal task 'build ALL KDE packages' cannot be 100% completed
because 12 packages require upstream dependencies not available on Redox:
- kirigami + plasma* (4): QML JIT disabled — no QQuickWindow/QQmlEngine
- kwin real build (1): Qt6::Sensors port needed
- breeze + kf6-kio + kf6-knewstuff + kde-cli-tools (4): source issues
- plasma extras (3): transitive blockers

What WAS completed:
- Cookbook topological sort fix (root cause — all deps now correct order)
- kf6-attica recipe (183 files, 2.4MB pkgar)
- 12 I2C/GPIO/UCSI daemons archived as durable patches
- Source archival system (make sources)
- Config + all docs synced, no contradictions
2026-04-30 01:54:09 +01:00
vasilito b6ec5c027f docs: implementation plan updated with all workstream current state
USB, Wi-Fi, Bluetooth sections updated with enhanced checkers,
unified harnesses, and accurate current infrastructure counts.

All 7 master plan workstreams now reflect honest current state.
2026-04-29 12:52:10 +01:00
vasilito 18b304bc73 milestone: IRQ & low-level controllers — enhanced checkers + unified harness
PCI IRQ checker: MSI-X capability detection, spurious IRQ accounting,
interrupt affinity probe using redox-driver-sys IrqHandle

IOMMU checker: vendor detection (AMD-Vi/Intel VT-d), control-scheme unit
initialization probe, event drain probe, wire-format tests

Unified harness: test-irq-runtime.sh (guest + QEMU modes) following
Phase 1-5 pattern — exit-code-based, explicit binary checks

Zero warnings, all tests pass.
2026-04-29 11:50:45 +01:00
vasilito 6fa895652f milestone: Phase 4-5 completion + KF6 honesty + KDE session + GPU CS ioctl
Phase 4 KDE Plasma:
- 20 KF6 + kglobalacceld + plasma-workspace + plasma-desktop + plasma-framework enabled
- kf6-kio honest reduced build (package-local QtNetwork compat headers, no sysroot fakery)
- kf6-kdeclarative enabled
- redbear-kde-session launcher (DRM/virtual backend, plasmashell/kded6, readiness markers)
- Phase 4 checker: required plasmashell/kded6 process checks (FAIL on absence)

Phase 5 Hardware GPU:
- CS ioctl checker (GEM allocation, PRIME sharing, private CS submit/wait over /scheme/drm/card0)
- Enhanced GPU checker with hardware rendering readiness summary
- test-phase5-cs-runtime.sh harness

Qt6Quick honesty: qtdeclarative exports Qt6Quick metadata; downstream QML/Kirigami/KWin proof still insufficient.
Oracle-verified: Phase 4-5 (5 rounds).

Build: zero warnings.
2026-04-29 11:05:22 +01:00
vasilito c3a91a5c4b milestone: desktop path Phases 1-5
Phase 1 (Runtime Substrate): 4 check binaries, --probe, POSIX tests
Phase 2 (Wayland Compositor): bounded scaffold, zero warnings
Phase 3 (KWin Session): preflight checker (KWin stub, gated on Qt6Quick)
Phase 4 (KDE Plasma): 18 KF6 enabled, preflight checker
Phase 5 (Hardware GPU): DRM/firmware/Mesa preflight checker

Build: zero warnings, all scripts syntax-clean. Oracle-verified.
2026-04-29 09:54:06 +01:00
vasilito 2021bc6d05 boot: real Wayland compositor, Intel DRM Gen8-Gen12, kernel 4GB fix, virtio-gpu driver
Comprehensive boot process improvement across the entire stack:

Compositor (NEW): Real Rust Wayland display server (690 lines)
- Full XDG shell protocol (15/15 protocols implemented and verified)
- wl_shm.format, xdg_wm_base, xdg_surface.get_toplevel support
- wl_buffer.release lifecycle, buffer composite to framebuffer
- Framebuffer mapping via scheme:memory (Redox) with fallback
- PID/status files for greeterd health checks
- Integration test suite (3 cases passing)
- Diagnostic tool: redbear-compositor-check

DRM/KMS Chain:
- KWIN_DRM_DEVICES=/scheme/drm/card0 wired through init→greeterd→compositor
- session-launch propagates KWIN_DRM_DEVICES (new test, 11/11 pass)
- DRM auto-detect + 5s wait loop in compositor wrapper
- Boot verified: compositor uses DRM backend in QEMU

Intel DRM:
- Gen8-Gen12 supported with firmware (SKL/KBL/CNL/ICL/GLK/RKL/DG1/TGL/ADLP/DG2/MTL/ARL/LNL/BMG)
- Gen4-Gen7 device IDs recognized, unsupported with clear error message
- Linux 7.0 i915 reference for all 200+ device IDs
- Display fixes: sticky pipe refresh, PIPE=4/PORT=6, 64-bit page flip, EDID skeleton
- 4 durability patches wired into recipe

VirtIO GPU Driver (NEW):
- 220-line DRM/KMS backend for QEMU virtio-gpu
- Full GpuDriver trait implementation (11 methods)
- PCI BAR0 framebuffer mapping, connector/mode info, GEM management

Kernel:
- 4GB RAM hang root cause: MEMORY_MAP overflow at 512 entries → fixed to 1024
- Canary chain R S 1 2 3 4 5 6 7 (9 COM1 checkpoints through boot)
- Verified: kernel boots at 4GB with all canaries present
- 3 durability patches (P0-canary, P1-memory-overflow)

Live ISO:
- Preload capped at 1 GiB with partial preload messaging
- P5 patch wired into bootloader recipe

Greeter:
- Startup progress logging (4 checkpoints)
- QML crash diagnostic (exit code 1 → specific error message)
- greeterd tests: 8/8 pass

Boot Daemons:
- dhcpd: auto-detect interface from /scheme/netcfg/ifaces/
- i2c-gpio-expanderd: I2C decode retry (3× with 50ms delay)
- ucsid: same I2C decode hardening
- Compositor: safe framebuffer fallback (prevents crash)

Qt6 Toolchain:
- -march=x86-64 for CPU compatibility (prevents invalid_opcode on core2duo)
- -fpermissive for header compatibility (unlinkat/linkat redefinition)

Documentation:
- BOOT-PROCESS-IMPROVEMENT-PLAN.md (comprehensive, 320 lines)
- PROFILE-MATRIX.md: ISO organization, RAM requirements, known issues
- BOOT-PROCESS-ASSESSMENT.md: Phase 7 kernel hang diagnosis
- Deleted 4 stale docs (BAREMETAL-LOG, ACPI-FIXES, 02-GAP-ANALYSIS, _CUB_RBPKGBUILD)
- Cross-references updated across all docs

KWin stubs replaced with real compositor delegation.
redbear-kde-session script created for post-login session launch.
30+ files, 10 patches, 3 binaries, 22 tests, 0 errors.
2026-04-28 06:18:37 +01:00
vasilito 20162fccf8 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
2026-04-25 12:01:25 +01:00
vasilito ac2792ef73 Document local-first package sourcing policy 2026-04-21 16:15:16 +01:00
vasilito a475de7c75 Refresh repository docs and references 2026-04-20 18:37:35 +01:00
vasilito e3d776aa9a Advance redbear-full Wayland, greeter, and Qt integration
Consolidate the active desktop path around redbear-full while landing the greeter/session stack and the runtime fixes needed to keep Wayland and KWin bring-up moving forward.
2026-04-19 17:59:58 +01:00
vasilito f46b2fad04 Update public docs for four compile targets 2026-04-19 17:57:20 +01:00
vasilito 95c632307c Document Linux borrowing guidance 2026-04-18 21:38:31 +01:00
vasilito 13bc13160d Refine subsystem planning docs 2026-04-18 21:38:31 +01:00
vasilito 9b79692876 Refresh architecture and integration docs 2026-04-18 17:58:32 +01:00
vasilito 62e5cca2f7 Normalize KDE and AMD GPU status docs 2026-04-18 15:44:20 +01:00
vasilito f29e6408ac Mark Wayland and driver-compat docs as historical references 2026-04-18 15:43:46 +01:00
vasilito 52df3ad5f6 Refresh project documentation 2026-04-17 13:34:49 +01:00
vasilito 5d7d3a2761 Refresh project documentation 2026-04-17 00:05:20 +01:00
vasilito e210f6d0cb Expand linux-kpi wireless scaffolding, consolidate desktop plan, remove historical report
Add channel/band/rate/BSS/RX-TX structures to linux-kpi wireless
scaffolding (mac80211.rs, wireless.rs, net.rs, C headers), extend
redbear-iwlwifi linux_port.c with comprehensive PCIe transport, and
create consolidated CONSOLE-TO-KDE-DESKTOP-PLAN.md as the canonical
desktop path document. Remove stale INTEGRATION_REPORT.md (1388 lines)
in favor of current local/docs/ references. Update AGENTS.md, README,
and docs index to point to the new plan.
2026-04-16 13:52:09 +01:00
vasilito 2ce2e408c5 Refresh project documentation
Red Bear OS Team
2026-04-16 12:46:07 +01:00
vasilito f5a130575d Annotate historical driver and KDE docs 2026-04-15 12:57:07 +01:00
vasilito c416834c8b Annotate historical Wayland gap docs 2026-04-15 12:57:07 +01:00
vasilito 8422452444 Clarify architecture and build references 2026-04-15 12:57:07 +01:00
vasilito 7970084d4f Redraft the master implementation plan 2026-04-15 12:57:07 +01:00
vasilito 10bda5a299 Refresh public docs navigation 2026-04-15 12:57:07 +01:00
vasilito a8bb15797f Document Phase 1 governance and profile surfaces 2026-04-14 11:43:37 +01:00
vasilito 5404799f12 Add Red Bear OS implementation plan document 2026-04-14 11:20:01 +01:00
vasilito 2d4baebbe0 Refresh status docs and add a visible changelog 2026-04-14 10:50:04 +01:00
vasilito 2140bcad79 Add CUB implementation plan spec and update project documentation
New docs/_CUB_RBPKGBUILD_IMPL_PLAN.md with full CUB package builder specification
covering RBPKGBUILD format, CLI commands, build flow, BUR repository, and AUR conversion.
Updated AGENTS.md with pkgutils extensions and CUB integration details.
Updated AMD GPU integration docs with current P2 progress.
2026-04-12 23:52:47 +01:00
vasilito 50b731f1b7 Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
2026-04-12 19:05:00 +01:00