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
vasilito
550551d8bc
fix: migrate all local recipe Cargo.toml deps from local/sources/ to recipes/core/base/ symlinks
...
Systemic fix: all local recipes (~150 references across 40+ Cargo.toml files)
now resolve libredox, redox_syscall, and redox-scheme through
recipes/core/base/ symlinks instead of local/sources/ paths.
Eliminates lockfile collision between Cargo's resolution of the same
package through different path strings (local/sources/ vs recipes/core/base/).
This is required because the base recipe's workspace Cargo.toml resolves
these deps through recipes/core/base/ (via symlink chain from the
recipe copy location), and Cargo treats different path strings to the
same directory as different packages.
2026-07-09 15:31:01 +03:00