vasilito
63f711c805
test: add redox target configs for redox-drm and iommu
...
Both crates now compile tests for x86_64-unknown-redox target.
Tests compile successfully (cannot run — need Redox kernel).
All 8 host-testable crates: 229 tests, 0 failures.
Crates with redox-target configs:
- redox-drm: 2 warnings, 0 errors
- iommu: 0 warnings, 0 errors
2026-04-28 06:44:55 +01:00
vasilito
10caab7085
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
8644e8b6d0
fix(relibc): implement getrlimit defaults + getdtablesize return; add kwin stub; kernel graphical_debug defer
2026-04-27 01:57:14 +01:00
vasilito
70a84cefee
Add kwin full source tree, greeter login, zsh, pcid service, and build system improvements
2026-04-26 22:31:07 +01:00
vasilito
ae1cac1d64
Convert kwin to stub recipe with cmake configs
...
Real KWin build requires Qt6Quick/QML + Wayland compositor runtime.
Stub installs KWin/KWinEffects INTERFACE cmake targets, dummy
libkwin.a, and kwin_wayland wrapper script. Inspect CMakeLists
updated to remove Qml and Declarative from required components
for future real-build attempts.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 21:43:36 +01:00
vasilito
8e4b8d6107
Restore kirigami stub cmake configs approach
...
Qt6Quick isn't fully cross-compiled for Redox yet. Stub provides
KF6::Kirigami and KF6::Kirigami2 INTERFACE cmake targets for
downstream dependency resolution.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 21:43:24 +01:00
vasilito
449ffcafe2
Fix kf6-kdeclarative sed pattern for v6.10.0 source
...
The sed pattern was stale — source v6.10.0 has 'REQUIRED Qml Quick Gui'
but the old pattern only matched the previous format. Fixed to remove
both Qml and Quick from find_package.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 21:43:13 +01:00
vasilito
e62acb2ebb
Stabilize DRM core contracts: fix latent panics, add diagnostics and tests
...
Production code fixes:
- scheme.rs: replace unwrap() after checked_mul with match binding,
eliminating a latent panic if code is reordered
- main.rs: log request context_id (PID) on request handling failure
instead of silently discarding the error
- drivers/amd/display.rs: split silent EDID read fallback into
separate match arms with log::warn diagnostics for short reads
and read failures, including byte count and connector index
Test coverage:
- gem.rs: add 4 basic tests for GemManager (create+verify,
close+verify removal, double-close error, invalid handle error)
2026-04-25 19:52:21 +01:00
vasilito
65acab85bb
Split base cumulative patch and add relibc AIO stubs, KDE recipes
...
Base patch extraction (8 topic-grouped patches from the 17k-line monolith):
- P2-ps2d-improvements: PS/2 controller flush/retry, mouse state machine, named producers
- P2-storage-error-handling: AHCI/IDE/NVMe/VirtIO unwrap/expect removal
- P2-usb-pm-and-drivers: suspend/resume, SCSI enablement, staged port fallback
- P2-network-error-handling: e1000/ixgbe/rtl8139/rtl8168d/virtio-net error propagation
- P2-pcid-cfg-access: PCI config I/O port and ECAM graceful fallbacks
- P2-ihdad-hda-stream: InputStream support, public stream types, Debug derives
- P2-init-acpid-wiring: acpid weak dependency on drivers/hwd/pcid-spawner
- P2-misc-daemon-fixes: audiod/usbhidd/zerod graceful degradation
relibc P3-aio.patch: synchronous POSIX AIO fallback (aio_read, aio_write,
aio_error, aio_return, aio_cancel, aio_suspend, aio_fsync, lio_listio)
for Qt6 QIODevice compatibility. 36 patches total in relibc recipe.
KDE recipes: breeze (widget style, decorations disabled), kde-cli-tools
(kioclient, kreadconfig, etc., kdesu disabled).
2026-04-25 19:10:00 +01:00
vasilito
02ff2f554f
Fix IOMMU unassign bug and add translate opcode
...
unassign_device: clear DTE and submit hardware INVALIDATE_DEVTAB_ENTRY
and INVALIDATE_INTERRUPT_TABLE commands with completion wait (was
previously only clearing the software HashMap).
TRANSLATE opcode (0x0012): walk IOMMU page tables for IOVA-to-physical
address resolution.
fstat: return proper MODE_DIR/MODE_FILE and sizes for all handle kinds
(Root, Control, Domain, Device).
Remove #TODO from recipe.toml.
2026-04-25 18:07:58 +01:00
vasilito
fdb62413a6
Add login-protocol recipe and system recipe symlinks
2026-04-25 17:38:39 +01:00
vasilito
4fe9460a33
Red Bear OS 0.2.0 Liliya branding with updated banner and MOTD
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 14:50:29 +01:00
vasilito
bd9eabaaec
Fix KIO workerinterface and KXMLGui language dialog for Redox build
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 14:50:17 +01:00
vasilito
5b88e515df
Fix KDE CMake find_package resolution for Qt6 and Wayland dependencies
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 14:50:06 +01:00
vasilito
965141d67c
Add kded6 source with pre-generated D-Bus XML and fix CMake prefix path
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 14:49:51 +01:00
vasilito
da53c400b4
Add kglobalacceld recipe with D-Bus service wiring and config entry
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-04-25 14:49:39 +01:00
vasilito
58edf0df0b
Add kded6 recipe and rewrite kirigami for real Qt6Quick build
...
Phase 4 KDE Plasma preparation:
kded6: new recipe at local/recipes/kde/kf6-kded6/ building the KDE
daemon from source. Depends on kf6-kconfig, kf6-kcoreaddons,
kf6-kcrash, kf6-kdbusaddons, kf6-kservice — all already built.
Added to redbear-full.toml package list. D-Bus activation file
already existed; removed TODO now that recipe exists.
kirigami: rewrite from stub to real CMake build. qtdeclarative
(Qt6Quick) is now available, so the real Kirigami can be built
instead of installing dummy cmake configs and a static lib placeholder.
Added qtshadertools and qtsvg as additional dependencies.
2026-04-25 13:20:33 +01:00
vasilito
38013bbf16
Wire evdevd input devices into udev-shim and enable udev in libinput
...
Phase 3 input chain wiring:
udev-shim: when scheme:evdev is registered (by evdevd), probe for
event0..event7 devices and create /dev/input/eventN nodes pointing to
scheme:evdev/eventN. This bridges evdevd's evdev devices into the
/dev/input namespace that libinput and compositors expect.
libinput: remove -Dudev=false and add libudev-stub as a dependency.
The libudev-stub recipe provides libudev.so that reads from scheme:udev
(udev-shim), giving libinput a working udev enumeration path instead of
stub functions that return NULL.
Input chain is now: hardware → /scheme/input → evdevd → scheme:evdev →
udev-shim → /dev/input/eventN → libudev-stub → libinput → KWin.
2026-04-25 13:15:12 +01:00
vasilito
f665929d96
Fix redbear-sessiond Redox shutdown: remove unreachable code after tokio::select!
...
The #[cfg(target_os = "redox")] variant of wait_for_shutdown had dead code
after the tokio::select! block. The select already returns Result<(), _>, so
the trailing Ok(()) was unreachable and caused a type mismatch when the compiler
tried to coerce the select result into (). Remove the dead code.
2026-04-25 12:22:33 +01:00
vasilito
dc69317ddf
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
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