Commit Graph

96 Commits

Author SHA1 Message Date
vasilito 0a80946457 Desktop Phase 1: add 42 tests to redox-drm scheme/driver and redbear-hwutils 2026-04-25 01:32:35 +01:00
vasilito c829dc704b Desktop Phase 1: add 19 tests to redox-drm KMS modules 2026-04-25 01:16:30 +01:00
vasilito 3ec32b3351 Desktop Phase 1: add 77 tests to evdevd, udev-shim, firmware-loader
Phase 1 desktop substrate test coverage for the three runtime services
that must be runtime-trusted before compositor work begins:

- evdevd device.rs: 44 tests (input device constructors, capability
  bitmaps, key/led state tracking, abs_info defaults/overrides,
  bitmap_from_codes edge cases)
- udev-shim device_db.rs: 13 tests (DeviceInfo construction, subsystem
  naming, id_path formatting, input kind detection, property formatting
  for GPU/keyboard/mouse, device_info/uevent output, PCI fallback)
- firmware-loader scheme.rs: 20 tests (openat validation, read offsets,
  fstat/fsize, EROFS enforcement, mmap_prep bounds, mmap/munmap/on_close
  deferred cleanup lifecycle)

Total: 65 evdevd, 15 udev-shim, 24 firmware-loader — all passing.
2026-04-25 01:05:14 +01:00
vasilito a1fdf9782b Bluetooth B3: GATT scheme endpoints and HciBackend real GATT workflow
Add GATT client helpers to btusb scheme (GattDiscoverServices,
GattDiscoverChars, GattReadChar, GattServices, GattCharacteristics)
with ATT-over-ACL transport. Wire HciBackend::read_char to perform
real GATT workflow through scheme filesystem (discover services →
discover characteristics → read value) instead of hardcoded stub.
209 tests passing (151 btusb + 56 btctl + 2 wifictl).
2026-04-25 00:37:33 +01:00
vasilito ec7ab293d2 B3 ATT/GATT groundwork, i2c-hidd InputProducer migration, plan doc update
Add ATT/GATT protocol types to btusb hci.rs: AttPdu with 8 builder
methods, GattService/GattCharacteristic discovery types, ATT response
parsers, ATT-over-ACL L2CAP helpers. 12 new tests (137 total btusb).

Migrate i2c-hidd from legacy ProducerHandle to InputProducer with
named producer fallback (i2c-hid), completing U3 driver migrations.

Update BLUETOOTH-IMPLEMENTATION-PLAN.md with B1/B2 completion evidence,
exit criteria assessment, and updated support language.
2026-04-24 23:25:19 +01:00
vasilito 8ff8c084f5 Bluetooth B2: HCI scheme daemon and HciBackend transport bridge
Add scheme.rs to btusb daemon serving scheme:hciN with full SchemeSync
implementation (status, info, command, events, ACL, LE scan/connect/
disconnect). Add hci_backend.rs to btctl implementing Backend trait via
scheme filesystem reads/writes instead of stub data. Backend selection
via REDBEAR_BTCTL_BACKEND=hci env var, StubBackend remains default.

Fix daemon_main to use correct redox-scheme 0.11 API (Socket::create,
next_request/handle_sync/write_response loop) instead of non-existent
SchemeBlock.

125 btusb tests, 45 btctl tests, 2 wifictl tests passing.
2026-04-24 23:14:56 +01:00
vasilito f392c7bf7d Bluetooth B1: HCI protocol types, USB transport, daemon state machine
Add complete HCI protocol module (hci.rs) with packet types, 55+ constants,
command builders (Reset, Read BD Addr, Read Local Version, LE scan/connect),
event parsers, and structured result types. Add USB transport abstraction
(usb_transport.rs) with UsbHciTransport trait and StubTransport for testing.

Wire btusb daemon with endpoint descriptor parsing, HCI init sequence
(Reset → Read BD Addr → Read Local Version), ControllerState state machine,
and enhanced status output. Replace all expect()/unwrap() calls in btctl
and wifictl with proper error handling and graceful fallback.

91 btusb tests, 27 btctl tests, 2 wifictl tests passing.
2026-04-24 22:46:35 +01:00
vasilito 08bea46575 Fix boot-to-login: override pcid-spawner to oneshot_async, add U3 input producers, Intel HDA phases A-D
- Override 00_pcid-spawner.service to oneshot_async in redbear-legacy-base.toml:
  rootfs phase no longer blocks on PCI driver init; getty/login starts immediately.
  Confirmed working on both QEMU and bare metal (redbear-live-mini).
- Clean up 00_base legacy script: remove dead notify ipcd/ptyd calls, keep sudo --daemon.
- Add U3 named input producers: inputd supports per-device named producers with
  fan-out to both device-specific consumers and legacy VT consumers. Migrate ps2d
  and usbhidd to InputProducer trait. RESERVED_DEVICE_NAMES deduplicated.
- Add Intel HDA audio driver phases A-D: ihdad error handling (37 fixes), audio
  quirks, codec path enumeration, mixer/volume control.
- Add init service start/readiness logging (always visible, not debug-gated).
- Update BOOT-PROCESS-ASSESSMENT.md: Phase 6 complete, boot procedure documented,
  validation matrix updated with confirmed boot status.
- Update USB-IMPLEMENTATION-PLAN.md and INPUT-SCHEME-ENHANCEMENT.md for U2/U3 status.
2026-04-24 20:25:00 +01:00
vasilito 55af4d097b Update IRQ plan doc with all waves complete, add lspci runtime-mode observability (Wave 5) 2026-04-24 14:45:40 +01:00
vasilito d3d8ca0239 Fix KDE KIO and KXMLGui source compatibility for Redox
workerinterface.cpp: add missing include for poll-compatible wait.
kswitchlanguagedialog_p.cpp: guard locale-gen call behind
Redox build define to avoid missing binary at runtime.
2026-04-23 20:29:41 +01:00
vasilito 3878b9a45b Fix KDE KF6 CMakeLists builds for Redox target
Ten KF6 recipe CMakeLists patches: disable missing dependencies
(qt6-qttools linguist, qt6-qtshadertools), skip unavailable tests,
and add find-module fallbacks for Redox-specific library paths.
2026-04-23 20:29:32 +01:00
vasilito 78e5d99fb8 acpi-i2c-hid: implement wave 1 boot-path diagnostics and service wiring 2026-04-22 21:31:19 +01:00
vasilito fdc670d852 Add ACPI I2C-HID quirk carriers 2026-04-22 12:41:39 +01:00
vasilito b5ae8b2760 Integrate Red Bear boot and packaging updates 2026-04-22 10:22:09 +01:00
vasilito 7f2979f25e Refresh KDE source compatibility patches
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito 360a62f22d Adjust KDE recipe patches for Qt private APIs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito b083e7cd3f Activate the greeter VT after startup
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito ed738b28d3 Require a local RedoxFS module for GRUB builds
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:16 +01:00
vasilito 4275949ede Advance KDE, Qt, and Wayland recipe sources 2026-04-20 18:37:35 +01:00
vasilito f3e6b09811 Advance Red Bear runtime services and tools 2026-04-20 18:37:35 +01:00
vasilito 9880e0a5b2 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 47ed12f483 Fix AMDGPU recipe glue assumptions 2026-04-18 21:38:31 +01:00
vasilito 082643e763 Expose proof helpers in runtime surfaces 2026-04-18 21:38:30 +01:00
vasilito a01d9f1782 Add PS/2 and timer proof binaries 2026-04-18 21:38:30 +01:00
vasilito ec45c703de Improve IOMMU self-test diagnostics 2026-04-18 21:38:30 +01:00
vasilito 52ff34b60a Strengthen PCI and IRQ helper coverage 2026-04-18 21:38:30 +01:00
vasilito 6566b29a13 Update upstream recipe TOMLs, add orbutils patch and smallvil recipe
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 17:59:21 +01:00
vasilito b029ab628f Expand hwutils, udev-shim, and redbear-sessiond system recipes
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 17:59:10 +01:00
vasilito f863872591 Update libdisplay-info and libudev stubs, fix Qt toolchain cmake
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 17:59:04 +01:00
vasilito 85a5ceaa3c Advance KWin Wayland port for Red Bear desktop session
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 17:58:57 +01:00
vasilito 5451f25a7a Fix KF6 framework recipes for Redox build compatibility
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 17:58:52 +01:00
vasilito 7904dc9b3d Expand redox-drm DRM scheme, amdgpu port, and update patches
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 17:58:44 +01:00
vasilito 8406627787 Clarify linux-kpi build-order marker 2026-04-18 15:43:27 +01:00
vasilito 4e6d2ff334 Wire amdgpu into redox-drm packaging 2026-04-18 15:43:15 +01:00
vasilito 355c2983ed Use canonical source grub.cfg and document both install paths 2026-04-18 01:09:29 +01:00
vasilito 44cee12a62 Remove AI slops: fix parenthetical plural, deduplicate install-grub.sh 2026-04-18 00:57:39 +01:00
vasilito 67233c9102 Add relibc syscall priority patch and clean up IOMMU recipe
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 00:48:58 +01:00
vasilito f6885d11bf Add network check improvements and QEMU test script updates
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 00:48:58 +01:00
vasilito 92628166e3 Improve D-Bus desktop service daemons (polkit, sessiond, udisks, upower)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 00:48:58 +01:00
vasilito 8ca7e02398 Refresh GRUB scripts, config, and integration documentation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 00:48:58 +01:00
vasilito 9d1954e0c4 Add FAT12/16/32 scheme daemon, management tools, and build integration
5-crate Rust workspace implementing full VFAT support: fatd scheme daemon
(FSScheme with open/read/write/mkdir/unlink/rename/fstat), fat-mkfs (create
FAT12/16/32 with labels and cluster size), fat-label (read/write BPB + root-dir
volume labels), fat-check (verify + repair dirty flags, FSInfo, lost clusters,
orphaned LFN). 60 unit tests, 0 unwrap in production code. Included in all 5
redbear configs via redbear-device-services.toml.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 00:13:34 +01:00
vasilito 7c031f95e4 Add BLAKE3 hash to GRUB source, remove redundant chain module
Add blake3 checksum for grub-2.12.tar.xz for recipe integrity
verification. Remove the chain module from grub-mkimage — the
chainloader command is built-in in GRUB 2.12, no separate module
needed. Image shrinks from 540 KiB to 512 KiB. Update module table
and size estimate in GRUB integration plan.
2026-04-17 22:27:12 +01:00
vasilito 1b785fea6a Fix GRUB reassessment findings: clean-build gap, validation, robustness
- Add grub package to redbear-full-grub.toml so make all works from
  a clean tree (the installer needs grub.efi before it runs)
- Fix stat -f%z (macOS-only) to stat -c%s (Linux) in GRUB recipe
- Normalize bootloader config value to lowercase in install_inner so
  bootloader = "GRUB" from config files is accepted
- Add bad-cluster marker (0x0FFFFFF7) check in fat_tool.py
  _next_cluster to prevent potential infinite loops on degraded media
- Fix file handle leak in fat_tool.py if _read_bpb raises
- Clean up temp directory in fetch_bootloaders on error
- Update AGENTS.md with GRUB recipe and installer documentation
- Update GRUB plan with clean-build prerequisite note
2026-04-17 22:21:08 +01:00
vasilito 8bc64b0a5e Harden GRUB recipe with error guards and host-tool verification
Add || exit 1 to all critical build steps (mkdir, cd, touch, configure,
make, grub-mkimage) so failures surface immediately instead of silently
continuing. Verify gcc/make/bison/flex are present before starting the
build. Update grub.cfg help text to reference fat_tool.py instead of
unavailable mtools.
2026-04-17 22:02:47 +01:00
vasilito 4d9e5ed59e Fix GRUB bootloader lookup, eliminate duplicate recipe, harden recipe build
install-grub.sh now searches both recipes/core/bootloader/target and
local/recipes/core/bootloader/target for the Redox bootloader artifact.

The WIP grub recipe (recipes/wip/services/grub) is now a full directory
symlink to local/recipes/core/grub instead of just recipe.toml, ensuring
COOKBOOK_RECIPE resolves to a directory that contains grub.cfg. This also
eliminates the duplicate recipe warning from the cookbook.

The GRUB recipe now fails hard (exit 1) if grub.cfg is missing instead of
just warning.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-17 21:45:38 +01:00
vasilito ee761276de Add GRUB EFI build recipe and chainload configuration
Builds GRUB 2.12 for the host machine (not Redox target) using template=custom.
Produces a 540 KiB standalone PE32+ EFI binary with GPT, FAT, ext2,
chainloader, and utility modules. The grub.cfg chainloads the Redox
bootloader from EFI/REDBEAR/redbear.efi.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-17 21:04:39 +01:00
vasilito 31ecfd29a9 Add step-by-step D-Bus connection diagnostics to sessiond and upower
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-17 13:45:00 +01:00
vasilito 84a7000759 Fix D-Bus system bus socket path for Redox
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-17 13:43:39 +01:00
vasilito 9bc9111de8 Update linux-kpi and redox-drm recipe metadata
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-17 13:34:37 +01:00
vasilito 83b77dbbea Update KDE framework recipes
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-17 13:34:03 +01:00