KytyPlus v4.8
The AGC driver no longer aborts during startup when the kernel puts its memory somewhere else —
which is what stopped an Apple Silicon Mac once v4.7 had got it a Vulkan device.
Boot / Graphics5Driver
- The driver DMEM is now mapped at a fixed address. libagc asked for its 2 MB driver DMEM at a
preferred address but passed no fixed flag, so the kernel was free to return any aligned free
range — and the driver then asserted the address had come back exactly as requested. Windows and
Linux happened to get the address they asked for; macOS did not, so every Apple Silicon launch
aborted during startup. The mapping is now required rather than suggested, and if the address
cannot be reserved the failure names both addresses instead of a bare condition. - This is the first release to change how guest memory is mapped. The macOS and Linux builds
compile clean on CI, but no one here has run it on Apple Silicon hardware.
Diagnostics
- A failed image allocation now says why. Image creation returned a boolean, so a title dying at
failed to create imagegave no way to tell device-memory exhaustion from a driver rejecting the
create flags. The abort now carries the Vulkan result together with the usage, flags and sample
count. This came out of the Demon's Souls (PPSA01341) reports, where a 4K RGBA16F render target
failed to allocate after several hundred shaders had compiled.
Known issues
- Demon's Souls is not fixed. Its remaining failure is exactly that image allocation, and the
logs reaching us are missing the heap-budget lines the emulator prints on every failure. If you
can reproduce it, please attach the complete log rather than an excerpt — the next one is
diagnosable, this one wasn't. - Whether LEGO Voyagers (PPSA23732) now gets past the AGC abort on an M1 is unconfirmed: the fix was
read out of the reporter's log, not off a Mac.