Commit Graph

313 Commits

Author SHA1 Message Date
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 98751dd55c git: bump submodule/base for ipcd SO_SNDBUF/SO_RCVBUF 2026-07-09 18:43:20 +03:00
vasilito bc3d3e09ee fix: build system — resolve lockfile collisions + Intel display + relibc
- Symlinks in recipes/core/base/ and local/sources/base/ for sibling fork resolution
- Revert redox-drm Cargo.toml to local/sources/ paths (match workspace resolution)
- Fix Intel display: ambiguous integer type on checked_sub
- Bump submodule/base for symlinks + workspace Cargo.toml fix
- Bump submodule/relibc for ENOTTY + ENOPROTOOPT imports
2026-07-09 16:09:57 +03:00
vasilito cfb6d7fc8a submodule: base — Intel GPU pipe documentation, watermark fix
Cumulative: watermark formula (vdisplay/clamp), PLANE_CTL docs,
fetch_framebuffer docs. All pipe.rs TODOs resolved.
2026-07-09 15:44:04 +03:00
vasilito a0ce684255 submodule: base — Intel GPU watermark formula (resolution-aware)
Replaced hardcoded wm_lines=2 with clamp(vdisplay/16, 8, 128)
formula, cross-referenced from Linux i915 skl_watermark.c.
2026-07-09 15:42:16 +03:00
vasilito 6ccaad67f5 git: bump submodule/relibc for ENOPROTOOPT import fix 2026-07-09 15:11:20 +03:00
vasilito a91b7f56e8 kernel: bump (unknown syscall logging) 2026-07-09 15:08:28 +03:00
vasilito 86a4f83d6c relibc: bump (setsockopt + listen fixes) 2026-07-09 15:05:49 +03:00
vasilito eb6e74f2ee fix: redox-drm lockfile collisions + missing relibc ENOTTY import
- Add redox-scheme symlink in recipes/core/base/ to resolve path collision
  when daemon workspace resolves ../redox-scheme from the recipe copy location
- Remove redundant libredox direct dep from redox-drm Cargo.toml
  (arrives transitively through daemon; direct dep creates lockfile collision)
- Align redox-drm's redox-scheme path to recipes/core/base/redox-scheme
  symlink to match daemon's workspace resolution path
- Fix missing ENOTTY import in relibc src/header/sys_ioctl/redox/mod.rs
2026-07-09 15:00:32 +03:00
vasilito 1f71972db8 submodule: base — Intel GPU hardware cursor plane (Kaby Lake+)
Replaced ihdgd cursor stub with real Intel CURCNTR/CURBASE/CURPOS
register programming for Gen9+ hardware cursor. 64x64 ARGB8888
cursor surface with signed 16-bit screen position tracking.

Removes the 'not yet implemented' stub in handle_cursor().
2026-07-09 14:40:13 +03:00
vasilito a09e214825 base: bump (ihdgd GGTT 64-bit doc) 2026-07-09 14:36:19 +03:00
vasilito 7683a409fc netcfg: route/lookup rw node 2026-07-09 13:19:58 +03:00
vasilito 0595c5c962 0.3.0: bump relibc submodule 2026-07-09 13:09:06 +03:00
vasilito c673bc7f3c base: bump (ihdgd GMBUS write) 2026-07-09 12:55:55 +03:00
vasilito acc59bc28b base: bump (ihdgd Kaby Lake DDI port regs) 2026-07-09 12:52:11 +03:00
vasilito 82b618e28d base: bump (virtio-gpud VirGL 3D enable) 2026-07-09 12:45:06 +03:00
vasilito e277f0bc15 arp: max 1024 entries with LRU eviction 2026-07-09 12:33:30 +03:00
vasilito 9959cb6f89 base: bump (cursor no-op fix) 2026-07-09 12:29:50 +03:00
vasilito 8d67101e7e udp: sendmsg/sendto support 2026-07-09 12:26:21 +03:00
vasilito 05fb9b0132 base: bump (virtio-netd MAC fallback) 2026-07-09 12:24:20 +03:00
vasilito 0387242cec relibc: bump (setitimer implementation) 2026-07-09 12:21:54 +03:00
vasilito 59f99a0a21 relibc: bump (mremap implementation) 2026-07-09 12:20:14 +03:00
vasilito ef497c2029 kernel: bump to d64482f1..ea16a1b5 (FACS mapping) 2026-07-09 12:07:25 +03:00
vasilito ef08f2821b relibc: bump (clock_settime implementation) 2026-07-09 11:50:48 +03:00
vasilito 3ba16cd969 vxlan/gre/ipip: parent device integration 2026-07-09 11:47:59 +03:00
vasilito 811803dedf base: bump (hwd LegacyBackend implementation) 2026-07-09 11:43:37 +03:00
vasilito 9b65ff1988 relibc: bump (add syncfs to Pal trait) 2026-07-09 11:36:46 +03:00
vasilito 0dafc80b48 vlan: parent device + docs: Phase 4 completion + VLAN status 2026-07-09 11:26:03 +03:00
vasilito 19312a3e29 syscall+kernel+relibc: SYS_SYNC + SYS_SYNCFS implementation 2026-07-09 11:25:07 +03:00
vasilito 544e0f4870 route: direct route support + flush 2026-07-09 11:19:50 +03:00
vasilito 10819348f0 kernel: bump (FADT offset fix + FUTEX_REQUEUE import) 2026-07-09 11:17:50 +03:00
vasilito d6bb1c1ae2 route: flush all routes 2026-07-09 11:16:49 +03:00
vasilito 26e5f4a691 kernel: bump (/proc/self sub-path resolution) 2026-07-09 11:16:15 +03:00
vasilito 04b6440daa netcfg: version info + enhanced help 2026-07-09 11:14:27 +03:00
vasilito 258dc18b68 kernel: bump (FADT offset fix) 2026-07-09 11:13:38 +03:00
vasilito 0f23075eed netcfg: help node + nat bindings + multi-adapter fix 2026-07-09 11:10:59 +03:00
vasilito a791a9fc4c nat: active SNAT binding tracking 2026-07-09 11:04:41 +03:00
vasilito fbd60fa8ec kernel: bump (FUTEX_REQUEUE) 2026-07-09 10:48:49 +03:00
vasilito a728c9ec61 route: metric/preference field 2026-07-09 10:48:09 +03:00
vasilito b98aa6b54d kernel: bump (/proc/self) 2026-07-09 10:42:39 +03:00
vasilito 43b7fe4171 conntrack: max_entries limit 2026-07-09 10:41:26 +03:00
vasilito f069dcfa18 conntrack: icmp_error_count 2026-07-09 10:19:22 +03:00
vasilito 5afa28d13b kernel: bump (/proc/filesystems) 2026-07-09 10:15:58 +03:00
vasilito 84c7287bb2 kernel: bump (/proc/version) 2026-07-09 10:13:01 +03:00
vasilito e541be43fb netcfg: standalone conntrack node 2026-07-09 10:08:55 +03:00
vasilito 51c7fe66dd kernel: bump (/proc/loadavg) 2026-07-09 10:08:33 +03:00
vasilito f11d3300f9 netcfg: TCP socket queue sizes in sockets/list 2026-07-09 10:06:00 +03:00
vasilito 07eb4d0fa4 kernel: bump (/proc/uptime) 2026-07-09 10:04:12 +03:00
vasilito 8bf238a0dc filter: --ctstate flag + case-insensitive + CSV 2026-07-09 10:01:48 +03:00
vasilito 25213b5850 submodule: base — commit operator WIP conntrack ICMP error tracking
Committed previously-unstaged operator work-in-progress:
- Added ConnState::Error variant for ICMP error packets
- Added is_error detection (ICMPv4/v6 Dest Unreachable, Time Exceeded)
- Added track_icmp_error() for embedded original packet tuple extraction
- Mirrors Linux 7.1 nf_conntrack_icmp_error()

Previously caused E0599 cross-compilation errors. Now stabilizes
the base fork build.
2026-07-09 09:58:13 +03:00