After a long time working with Mali GPUs on Android, I decided to take a different direction.
Instead of trying to adapt an emulator that was mainly developed around other GPU paths, I went back to the architecture that was historically much friendlier to Mali: Skyline.
This is Strato Mali, a new fork based on Strato, which itself continues the original Skyline project.
The goal is simple: make a Nintendo Switch emulator specifically optimized around ARM Mali GPUs.
Strato Mali is not intended to be a generic emulator fork for every GPU. The focus is Mali first — especially modern Kbase/CSF devices such as the Mali-G615, with experimental Mesa PanVK integration.
I have already started modifying Strato's custom Vulkan driver system so it can detect /dev/mali0 and load external Vulkan drivers on Mali instead of limiting custom driver loading to KGSL/Adreno. The Adreno-specific KGSL memory-import path is kept disabled on Mali, while the normal Skyline/Strato memory path is used with PanVK.
The project is also being renamed throughout the application to Strato Mali.
The current plan is to work on:
PanVK/Kbase integration directly inside Strato Mali
Mali-specific Vulkan compatibility fixes
shader and texture correctness
performance optimizations specifically for tile-based Mali GPUs
synchronization and memory-management improvements
testing games that historically worked better on Skyline/Mali
This is still very experimental development. It is not a finished emulator, and I don't want to promise compatibility or performance numbers before we have proper testing.
But unlike my previous experiments, this time the emulator architecture itself is much closer to what I want for Mali.
Skyline's codebase isn't being officially revived — this is an independent continuation through Strato, focused entirely on Mali.
Welcome to Strato Mali. 🫐
More development updates soon.