watchthelight labs

xe: 2026-10-30 (full run, window 2026-10-29 10:04 UTC to 2026-10-30)

The useful reading today is downstream of us. ArrowWhatever, a patch set on our XeGfx 0.0.44 for another 275HX laptop, has written down several fixes in the display path that we should compare with our current code. zep245 worked on brightness, which is still open on our side.

Actionable

Mountainatic/ArrowWhatever: patches on our XeGfx for a MECHREVO Yaoshi 16 Ultra (275HX, 8086:7D67). Repo. It is built on NvGfx xe 5a19a73f (XeGfx 0.0.44) and credits us. WindowServer composes on the Arrow Lake iGPU at about 60 fps (2560x1600). The panel is still lit by the firmware. Four patches are worth a line-by-line comparison with our current tree:

  • 0006: WindowServer hands the plugin read-only host memory, so they import only writable ranges and copy the rest (nvmtl_range_writable). Before that they saw EFAULT and DEVICE_LOST.
  • 0001: a page hold/unwire race in userptr import.
  • 0008 and 0009 (K9): a zero-copy flip through spare GGTT slots, with the plane address armed only after the GPU is idle. Their no-wait experiment broke the ordering between GPU writes and scanout. That is the same family as the band bug we fixed today (I-119), on the display side.
  • 0018, 0020, 0021: EDID over AUX and an Intel-named framebuffer subclass, so CoreDisplay shows a real display name.

Their docs/cursor.md uses a software cursor only and says nothing about a square around the cursor. The patches are PolyForm Noncommercial, the same licence as XeGfx. Confidence: High on the content, Medium on whether each one applies to our current code.

zep245/IrisXe-macos-driver: brightness that survives login. Commits 6dd5d05c, 62e231d5, b3b1bb68 and da5bd8ab, all in nmx_fb.cpp. They keep the user's level apart from the macOS dim factor, treat values of 3 or less as a dim request, ignore jumps of more than 10 points above the user level, and re-sync the stored parameters a few times after boot because macOS restores its saved slider value at login. No SPDX licence, so we take the idea only. High confidence on what it does.

Notable

  • zep245 fda03b89 bounds the i915 commit fence wait during boot and logs fences that never signal. Worth keeping in mind for our freeze hunt (I-116); no link proven.
  • zep245 b44e0a40 binds the address table with a dynamic offset, so draws that change only buffers reuse their descriptor set. A frame-cost idea for our ANV path.
  • steelbrain/metal2vulkan merges a copied host buffer back at its completion turn (76d89d87, 3fd1f667, 44eaa098). That matches how we fixed the bands: the writer waits for its work before the reader sees the surface. The rest of the 43 commits are NVIDIA conformance work.
  • JulioNectar #20: their Metal adapter replaced the JVM's SIGSEGV and SIGBUS handlers and IntelliJ crashed. A plugin loaded into every Metal app must not install signal handlers. We will check ours.

Noise

kitsuneislife/nmx-intel (renders on the NVIDIA card, Intel only presents), dssoftx X1 Carbon #1 (NootedGreen on Raptor Lake-U), VedCloud research notes, pongpan-bk #4 and WhateverXe-Graphics #1 (device ID requests). Discovery: OpenCore-Modernity-Patcher, Dell-Inspiron-5410, Dell-Latitude-7420 and xstation-v2 are Tiger Lake EFIs on WhateverXe.