diff --git a/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md b/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md index a87b57726a..575d2119cf 100644 --- a/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md +++ b/local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md @@ -979,7 +979,7 @@ buffer. This is the change the plan now calls **v6.0**. | Phase 1.6: virtio-inputd → EvdevProducerHandle | ✅ **DONE** (pre-existing) | virtio-inputd uses `EvdevProducerHandle` directly via `write_evdev_event` adapter (line 253). Converts virtio_input_event → EV_KEY/EV_REL/EV_ABS/EV_SYN. No orbclient fallback. | | Phase 1.7: evdevd consumes from /scheme/input/evdev | ✅ **DONE** (pre-existing) | evdevd opens `/scheme/input/evdev` for reading and relays 8-byte events to `/dev/input/eventN` for libinput. | | Phase 1.8: config wiring for evdevd in init | ✅ **DONE** | `redbear-mini.toml` defines `10_evdevd.service` (inherited by `redbear-full.toml`); runs `evdevd` as `oneshot_async`. Initfs `10_inputd.service` updated to register `input/evdev` scheme. Rootfs `29_activate_console.service` overridden in `redbear-legacy-base.toml` to skip the obsolete `inputd -A 2` invocation. | -| Phase 1.9: udev-shim `/dev/input/eventN` mapping | 🚧 Pending | Phase 4 work. | +| Phase 1.9: udev-shim `/dev/input/eventN` mapping | ✅ **DONE (pre-existing)** | `local/recipes/system/udev-shim/source/src/scheme.rs:132-149` probes `/scheme/evdev/eventN` paths and creates `/dev/input/eventN` nodes for libinput. Heuristic: event0=keyboard, event1=mouse, others=generic. | | Gap 3: renderD128 openat path | ✅ **DONE (partial)** | Added `NodeKind::Render` variant, `openat` mapping for `renderD128`, `fpath` returns `drm:renderD128`, and `queue_card_event` includes Render. Mesa can now open the render node. | | Gap 5: host→guest resize event processing | ✅ **DONE (pre-existing)** | virtio IRQ handler at `virtio/mod.rs:366-403` reads `VIRTIO_GPU_EVENT_DISPLAY` and calls `refresh_connectors`. Scheme layer queues `hotplug` events. | | Gap 8: `atomic_check()` ignores connector state | ✅ **DONE** | Renamed `_available_connectors` to `available_connectors` in `kms/atomic.rs`. Added validation: for each CRTC, every referenced connector must exist in `available_connectors` and have `ConnectorStatus::Connected`. Returns `CrtcNotFound` or `ConnectorDisconnected` for invalid commits. |