watchthelight labs

xe: 2026-10-28 (full run, window 2026-10-27 18:11 to 2026-10-28 11:30 UTC)

Two forks from the same NullMoth xe lineage as XeGfx, one on our exact CPU, now have answers to our next three problems: scaled HiDPI sizes, the slow copy into the firmware framebuffer, and the stale squares near the cursor.

Actionable

zep245/IrisXe-macos-driver 1.0.0: panel fitter, hardware cursor and page flips on Tiger Lake. The repo tagged 1.0.0. Its framebuffer bridge (gpu-port/xkpi/override/src/nmx_fb_bridge.c) runs scaled desktops such as 1680x1050 on a 2560x1600 panel by keeping the panel's timing and giving i915 a smaller source in a drm modeset, so i915 programs the pipe's panel fitter itself. The cursor goes through drm_mode_cursor2_ioctl into i915's cursor plane (256x256 ARGB, falls back to the software cursor if the plane refuses), and frames reach the panel by a nonblocking atomic flip of the primary plane (about 1.3 ms). For us this is a design input for scaled sizes on Intel (NvGfx #19): our XeGfxIntelFB 0.7 got the panel's EDID and the 1280x800 HiDPI mode, and stops at the scaler. Its DESIGN.md also says Tahoe lands on a scaled 1x mode there, not true 2x. Licence PolyForm Noncommercial 1.0.0. High confidence on what it does.

zep245: the plugin's stand-in copy and invisible letters, a lead for our I-119. DESIGN.md (entry 10-25): typed letters stayed invisible until the next key in accelerated mode, because the plugin copied small newTiledTextureWithBytesNoCopy buffers (512 KB or less) once and never read them again, while Core Animation updates them in place. Our plugin comes from the same tree, and our I-119 (clear squares that trail the cursor on the Intel desktop) looks like stale content. Medium confidence that it is the same cause.

Mountainatic/ArrowWhatever: zero-copy GGTT flip and a deferred flip at about 60 fps (275HX, 7D67). Patches 0008 and 0009 (a77d9df, d39f908, docs/zero-copy-flip.md) reserve three unevictable 16,384,000-byte GGTT slots, map the compositor's IOSurface pages into one and write PLANE_SURF_1_A (0x7019c), with a live switch back to the CPU copy. 2,837 flips in 200 s, no panic. Patch b0e2fa2 (docs/k9-deferred-flip.md) then lets WindowServer submit without waiting and has a worker write PLANE_SURF only once every engine is idle: about 60 fps at 2560x1600, up from about 15, with no tearing. Our frames still go through a copy into the firmware framebuffer. Patches against XeGfx 0.0.44. High confidence.

Notable

ArrowWhatever's userptr panic is our I-121. docs/userptr-panic.md (patch 0001) has the same panic text, "freeing wired page ... (ref 0x1)" from i915_gem_userptr_put_pages, with the same cause: a pin landing between the last unwire and the free. They fixed it with one unwire under xg_vm_mtx and a private hold bit; XeGfx 0.0.46 (6e3dec4) takes the wiring under the table lock only while the count is above zero. Found independently on both sides. High confidence it is the same bug.

ArrowWhatever patch 0010 (58ccd9c): 1280x800 HiDPI through IOFBDetailedTimings, and the same conclusion we reached: other scaled sizes need the pipe scaler. docs/refresh.md adds that CVDisplayLink reported 30 Hz until the min and max pixel clock were equal. High confidence.

zep245: NVRAM breadcrumbs made flips take about 700 ms, the same slow firmware write we turned off to stop the I-116 freeze. Also a SAGV PCODE request in the commit tail that never returned (they make intel_has_sagv() return false) and PSR1 halving idle power (10.7 W to 5.2 W). Medium confidence for Arrow Lake.

WhateverXe 0.6.1 (release): experimental eDP and guarded PWM brightness for Alder Lake and Raptor Lake. A reference for backlight (NvGfx #17), not our generation.

Noise

JulioNectar's XPS 13 Plus repo (Apple's Metal driver path, gesture app, logger fix), WhateverXe-RaptorLakeP (OpenGL URB work on Raptor Lake-P), and the discovery candidate SwanAndTomato/Lenovo-E15-Gen-4-EFI-1235U (an EFI on JulioNectar's stack).