Files
RedBear-OS/local/recipes/system/redbear-hwutils/source/Cargo.toml
T
vasilito 0ec7bd46bb Phase 3: GPU 3D drivers + Phase 1-2 stability fixes — full rollup
ROLLUP of all Phase 1-3 work on branch 0.3.0, targeting a production-ready
console + full graphical desktop under Intel and Virgl/VirtIO-GPU.

=== Phase 1 — Stability ===
 - fbcond: Enter key handler (scancode 0x1C→\n), display map buffering,
   control-char filter in all 7 keymaps, write_event assert
 - build-redbear.sh: auto-rebuild-prefix when fork timestamps are newer
   than prefix/x86_64-unknown-redox/sysroot (was warning-only). Added
   configurable REDBEAR_SKIP_PREFIX_REBUILD guard.
 - build-redbear.sh: set explicit keymap '-K us' in console activation
 - config/redbear-device-services.toml: remove spurious init.d service
   files for redbear-acmd/ecmd/usbaudiod. These USB device daemons are
   spawned dynamically by pcid-spawner, not as boot-time init services.
   Starting them without args panicked the boot flow.
 - relibc: grantpt/unlockpt/ptsname (then deduplicated against stdlib)
 - userutils: cherry-pick upstream getty commit 2834434 (standard C
   ptsname/grantpt/unlockpt)
 - base fork: Russian (ЙЦУКЕН) keymap + inputd control-char filter
   (K_ESC/K_BKSP/K_ENTER → \0, commit 73e44d81 in submodule/base)

=== Phase 2 — Login & Console ===
 - login.rs: restored to 0.2.5-known-good liner-based prompt
 - redbear-upower: removed tokio full/signal features → protection fault fix
 - redbear-power: excluded temporarily (being fixed in other session)
 - tlc version: updated to 0.3.0

=== Phase 3 — GPU/3D Drivers (commit 0898332f7a) ===
Intel i915: FULLY implemented — real ring buffer + MMIO command
submission via GEM DMA → GGTT → i915 render ring, with hardware
head-pointer polling (2M iterations, 50µs backoff). Zero stubs.

VirtIO GPU/Virgl (VirtioTransport): 11 VIRTGPU ioctls (GETPARAM,
GET_CAPS, RESOURCE_CREATE, RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER,
WAIT, TRANSFER_TO_HOST, TRANSFER_FROM_HOST, MAP, CREATE_BLOB) ported
from Linux 7.1 virtgpu_ioctl.c and virtgpu_vq.c.
 - driver.rs: 8 virgl_* trait methods (default Unsupported)
 - scheme.rs: 11 ioctl constants + 8 wire structures + dispatch
 - virtio/transport.rs: PCI capability discovery, feature negotiation,
   control+cursor virtqueue setup, vring descriptor building
 - virtio/mod.rs: real implementations for all 8 virgl_* methods
 - intel/mod.rs: explicit virgl Unsupported stubs

Other changes from active sessions: Cargo.toml version bumps, linux-kpi
headers, libpciaccess recipe, mesa/recipe.toml, kf6 patches, expat,
driver-manager, redbear-sessiond, redbear-compositor, cub, tlc, and
many other local recipes.
2026-07-09 20:29:28 +03:00

153 lines
3.5 KiB
TOML

[package]
name = "redbear-hwutils"
version = "0.3.0"
edition = "2024"
[[bin]]
name = "lspci"
path = "src/bin/lspci.rs"
[[bin]]
name = "lsusb"
path = "src/bin/lsusb.rs"
[[bin]]
name = "redbear-evtest"
path = "src/bin/evtest-rbos.rs"
[[bin]]
name = "redbear-input-inject"
path = "src/bin/input-inject-rbos.rs"
[[bin]]
name = "redbear-phase3-input-check"
path = "src/bin/redbear-phase3-input-check.rs"
[[bin]]
name = "redbear-phase4-wayland-check"
path = "src/bin/redbear-phase4-wayland-check.rs"
[[bin]]
name = "redbear-bluetooth-battery-check"
path = "src/bin/redbear-bluetooth-battery-check.rs"
[[bin]]
name = "redbear-phase5-network-check"
path = "src/bin/redbear-phase5-network-check.rs"
[[bin]]
name = "redbear-phase5-wifi-check"
path = "src/bin/redbear-phase5-wifi-check.rs"
[[bin]]
name = "redbear-phase5-wifi-capture"
path = "src/bin/redbear-phase5-wifi-capture.rs"
[[bin]]
name = "redbear-phase5-wifi-run"
path = "src/bin/redbear-phase5-wifi-run.rs"
[[bin]]
name = "redbear-phase5-wifi-analyze"
path = "src/bin/redbear-phase5-wifi-analyze.rs"
[[bin]]
name = "redbear-phase5-wifi-link-check"
path = "src/bin/redbear-phase5-wifi-link-check.rs"
[[bin]]
name = "redbear-phase6-kde-check"
path = "src/bin/redbear-phase6-kde-check.rs"
[[bin]]
name = "redbear-greeter-check"
path = "src/bin/redbear-greeter-check.rs"
[[bin]]
name = "redbear-drm-display-check"
path = "src/bin/redbear-drm-display-check.rs"
[[bin]]
name = "redbear-phase-iommu-check"
path = "src/bin/redbear-phase-iommu-check.rs"
[[bin]]
name = "redbear-phase-ps2-check"
path = "src/bin/redbear-phase-ps2-check.rs"
[[bin]]
name = "cmdline"
path = "src/bin/cmdline.rs"
[[bin]]
name = "redbear-phase-timer-check"
path = "src/bin/redbear-phase-timer-check.rs"
[[bin]]
name = "redbear-phase-dma-check"
path = "src/bin/redbear-phase-dma-check.rs"
[[bin]]
name = "redbear-phase-acpi-check"
path = "src/bin/redbear-phase-acpi-check.rs"
[[bin]]
name = "redbear-phase-pci-irq-check"
path = "src/bin/redbear-phase-pci-irq-check.rs"
[[bin]]
name = "redbear-phase1-evdev-check"
path = "src/bin/redbear-phase1-evdev-check.rs"
[[bin]]
name = "redbear-phase1-udev-check"
path = "src/bin/redbear-phase1-udev-check.rs"
[[bin]]
name = "redbear-usb-check"
path = "src/bin/redbear-usb-check.rs"
[[bin]]
name = "redbear-usb-storage-check"
path = "src/bin/redbear-usb-storage-check.rs"
[[bin]]
name = "redbear-phase1-firmware-check"
path = "src/bin/redbear-phase1-firmware-check.rs"
[[bin]]
name = "redbear-phase1-drm-check"
path = "src/bin/redbear-phase1-drm-check.rs"
[[bin]]
name = "redbear-phase2-wayland-check"
path = "src/bin/redbear-phase2-wayland-check.rs"
[[bin]]
name = "redbear-phase3-kwin-check"
path = "src/bin/redbear-phase3-kwin-check.rs"
[[bin]]
name = "redbear-phase4-kde-check"
path = "src/bin/redbear-phase4-kde-check.rs"
[[bin]]
name = "redbear-phase5-gpu-check"
path = "src/bin/redbear-phase5-gpu-check.rs"
[[bin]]
name = "redbear-boot-check"
path = "src/bin/redbear-boot-check.rs"
[dependencies]
redbear-login-protocol = { path = "../../redbear-login-protocol/source" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
orbclient = "0.3"
redox-driver-sys = { path = "../../../drivers/redox-driver-sys/source" }
libredox = { path = "../../../../../local/sources/libredox" }
syscall = { path = "../../../../../local/sources/syscall", package = "redox_syscall", features = ["std"] }
[patch.crates-io]
libredox = { path = "../../../../../local/sources/libredox" }
redox_syscall = { path = "../../../../../local/sources/syscall" }