Userspace transport shim for ANV: sync_file emulation, mapping by ioctl, PCI identity #6
watchthelight 2026-10-21
Mesa ANV on the i915 uAPI refuses to start without dma-buf sync_file import/export (VK_ERROR_INCOMPATIBLE_DRIVER). A kext cannot create those file descriptors, so a small userspace layer between libdrm/ANV and the DRM node has to emulate them on a kernel timeline object, map GEM objects through an ioctl (a kext cannot implement mmap on a device), and answer DRM_IOCTL_GET_PCIINFO. NullMoth's Darwin libdrm patch covers the last two; see NvGfx branch xe.