Built for N-202 (branch intel-xe a7a5aac + 0.2 claim fix). Two findings and two changes:
- In BIOS Hybrid mode the RTX 5070 is not on PCI under macOS (root port RP01 logs
nolink, link status 0x5081), while Linux enumerates it at boot. The firmware leaves the dGPU powered down in Hybrid and expects the OS to run the PXP power resource's_ON(Linux and Windows do through_PR0); macOS never does. New SSDT (native/acpi/SSDT-DGPU-ON.dslin the project repo, Legion-specific): an_INIunder_OSI("Darwin")that, only when the GPU is absent, runs Lenovo's ownPON+L23Dand the root-port enable fromPXP._ON, with a bounded 500 ms wait instead of the original unbounded loop and without the EC write. - NVAccel needs a head-0 NVIDIA framebuffer for its device handle, VRAM and RM handles, and in Hybrid NVIDIA has no display. NVRMFB proxy head (boot-arg
nvfbigpu=1): when NVKMS lists no connected display and the boot console is the iGPU's stolen-memory range (recorded by IGPUConsoleRange), head 0 still starts: NVIDIA device and VRAM as usual, one mode at the panel's size, aperture = the Intel framebuffer, and the scanout it reports to NVAccel is a CPU mapping with no VRAM address, so NVAccel takes its existing copy path (flips are refused). The class stays NVRMNVDAFramebuffer, so CoreDisplay keeps SkyLight's Metal compositor. IGPUConsoleRange 0.2 holds the iGPU's framebuffer slot in this mode (only when an NVIDIA GPU is on PCI), so Apple's IONDRV does not put a second display on the same memory.
Expected on success: NVIDIA on PCI, NVRMFB: fb0: no NVIDIA display; PROXY for the Intel panel 2560x1600, WindowServer Metal compositor activated, NVAccel frame counters rising. Fallback if the dGPU does not come up: Apple's IONDRV software desktop (N-201).