Force Vulkan rendering on Android, with bootloop protection built in.
SkiaVK swaps the default HWUI renderer from OpenGL to Vulkan. You get smoother UI, lower animation latency, and better GPU utilization on supported devices.
- Butter-smooth UI: Vulkan rendering means faster animations and less GPU lag.
- Bootloop guard: Auto-disables after 3 failed boots using safe atomic file writes.
- One-tap recovery: Re-enable the module and reset the counter via the Action button in your root manager.
- Software Vulkan protection: Blocks installation on emulators or devices with software renderers (SwiftShader, Lavapipe) to prevent GUI freezes.
Tested on a Samsung Galaxy S23 (Snapdragon 8 Gen 2) with KernelSU-Next. GPUWatch overlay showing active Vulkan (skiavk) pipeline:
| Requirement | Details |
|---|---|
| Android | 10.0+ (API 29+) |
| Hardware | Device with hardware Vulkan support |
| Root | Magisk, KernelSU, or APatch |
- Grab the latest
SkiaVK.zipfrom Releases. - Flash it through your root manager's Modules tab.
- Reboot to activate.
SkiaVK works via property injection. Persistent state lives in /data/adb/skia_vulkan/:
- Log:
/data/adb/skia_vulkan/skia_vulkan.log(overwritten each boot) - Boot state:
/data/adb/skia_vulkan/boot_state(bootloop counter)
Injected property (early boot):
debug.hwui.renderer=skiavk
You can also force SurfaceFlinger RenderEngine to use Vulkan (debug.renderengine.backend=skiavk).
Warning
RenderEngine Vulkan is experimental on some ROMs and may cause UI glitches or flickering. Use at your own risk.
- Enable:
su -c "touch /data/adb/skia_vulkan/enable_renderengine" - Disable:
(Reboot required to apply)
su -c "rm -f /data/adb/skia_vulkan/enable_renderengine"
This project is licensed under the MIT License. See LICENSE for details.

