- Original Gemini boot animation from the Google Pixel 10
- Clean and modern animated splash screen
- Seamlessly integrates with the system via Magisk/KernelSU/APatch
- Automatic environment detection — works on standard setups and KernelSU + SUSFS
- Lightweight — no performance impact
- Compatible with Android 9+
- Optimized and tested on devices with 1080 × 2340 pixels
Modern Android versions support offset functions in boot animations — frames are positioned relative to the screen center. Older ROMs and custom recoveries don't understand this and render the animation incorrectly.
To fix this, a custom script was written that processes every single frame individually and bakes the position directly into each frame — stabilizing and fixing the animation so it displays correctly on all Android versions and ROMs.
| Requirement | Details |
|---|---|
| Root Solution | Magisk v20.4+ / KernelSU / APatch |
| Android Version | Android 9+ |
| Architecture | arm64-v8a, armeabi-v7a |
Five variants are available in Releases:
| File | For |
|---|---|
GeminiBootAnimation-standard-*.zip |
Google Pixel, stock Android, OnePlus, Realme, most AOSP-based ROMs |
GeminiBootAnimation-MIUI-*.zip |
Xiaomi devices running MIUI |
GeminiBootAnimation-MTK-*.zip |
Devices with MediaTek (MTK) chipsets on stock firmware |
GeminiBootAnimation-Motorola-*.zip |
Motorola devices on stock firmware (OEM partition at /oem/media/) |
GeminiBootAnimation-EMUI-*.zip |
Huawei devices running EMUI (/system/etc/media/) |
Not sure? Start with the standard variant. If the animation doesn't appear after reboot, try the variant matching your chipset or ROM.
| Variant | Paths installed |
|---|---|
| standard | /product/media/ · /system/media/ |
| MIUI | /product/media/ · /system/media/ · /system_ext/media/ · /system/media/theme/ |
| MTK | /product/media/ · /system/media/ · /custom/media/ |
| Motorola | /product/media/ · /system/media/ · /oem/media/ |
| EMUI | /product/media/ · /system/media/ · /system/etc/media/ |
Download the correct .zip for your device from Releases, then follow the instructions for your root solution below.
- Open the Magisk app
- Tap the Modules tab at the bottom
- Tap Install from storage
- Navigate to the downloaded
.zipand select it - Wait for the installation to finish
- Tap Reboot
- Open the KernelSU app
- Tap the Module tab at the bottom
- Tap the + button in the top right corner
- Navigate to the downloaded
.zipand select it - Wait for the installation to finish
- Tap Reboot
- Open the APatch app
- Tap Modules in the navigation
- Tap the + button
- Navigate to the downloaded
.zipand select it - Wait for the installation to finish
- Tap Reboot
- Open Magisk / KernelSU / APatch Manager
- Find Gemini Boot Animation in the module list
- Tap Remove
- Reboot your device
Your original boot animation will be automatically restored.
| Setup | Method | Status |
|---|---|---|
| Magisk | Magic Mount | ✅ Tested |
| KernelSU | Magic Mount | ✅ Tested |
| KernelSU + SUSFS | Direct write via service.sh |
✅ Tested |
| APatch | Magic Mount | ✅ Tested |
The installer detects your root environment at install time and the module adapts automatically:
- Magisk / standard KernelSU — uses Magic Mount (overlay on
/product/mediaand/system/media) - KernelSU + SUSFS — SUSFS hides Magic Mount overlays from system processes; instead,
service.shruns on every boot and writes the animation files directly to the partition (requires dm-verity to be disabled, which is typical on custom ROMs like crDroid)
v1.3: service.sh was extended for the Motorola and EMUI variants — on KernelSU + SUSFS setups it also writes directly to the variant-specific paths (/oem/media/ and /system/etc/media/ respectively).
Note: On KernelSU + SUSFS setups the animation will appear starting from the second reboot after installation (first boot:
service.shwrites the files; second boot: animation plays from partition).Some ROMs ship
bootanimation-dark.zipas a symlink tobootanimation.zip. The module handles this automatically — the symlink is replaced with a real file.
This module installs bootanimation.zip to both paths for maximum compatibility:
/product/media/bootanimation.zip— higher priority (Android 9+, Pixel, most modern devices)/system/media/bootanimation.zip— fallback for older devices and ROMs
Android checks paths in this priority order:
/apex/com.android.bootanimation/etc/bootanimation.zip(Android 10+)/oem/media/bootanimation.zip← Motorola variant/product/media/bootanimation.zip← this module (primary)/system/media/bootanimation.zip← this module (fallback)
Depending on your device and ROM, a file in a higher-priority path may still take precedence. The following manufacturers are known to use non-standard paths or proprietary formats:
Samsung does not use bootanimation.zip. Instead, it uses a proprietary QMG format:
/system/media/bootsamsung.qmg— plays once at boot/system/media/bootsamsungloop.qmg— loops until boot is complete
This module will not work on stock Samsung One UI firmware. It may work on Samsung devices running a custom ROM (GSI or AOSP-based).
Huawei uses a non-standard path and a proprietary rendering pipeline:
- EMUI:
/system/etc/media/or/data/cust/media/ - HarmonyOS: proprietary pipeline — standard
bootanimation.zipreplacement is generally ineffective
Use the EMUI variant for Huawei devices running EMUI — it installs to /system/etc/media/ in addition to the standard paths. On KernelSU + SUSFS setups, service.sh also writes directly to /system/etc/media/ (v1.3+).
HarmonyOS is not supported — its rendering pipeline is proprietary and does not use
bootanimation.zip.
Boot animations on Motorola devices are stored on a dedicated OEM partition at /oem/media/bootanimation.zip, which is a separate block device — not /system/media/. Replacing the file in /system/media/ has no effect on stock Motorola firmware.
Use the Motorola variant — it additionally installs to /oem/media/ so the OEM partition path is covered. On KernelSU + SUSFS setups, service.sh also writes directly to /oem/media/ (v1.3+).
MIUI checks multiple paths simultaneously. Reliable modules must replace the file in all of them:
/system/media/bootanimation.zip/system/product/media/bootanimation.zip/system_ext/media/bootanimation.zip/system/media/theme/bootanimation.zip
Use the MIUI variant of this module — it automatically installs to all required paths.
HyperOS may bypass the standard bootanimation lookup entirely. Even replacing all known paths does not guarantee the animation plays. A dedicated Magisk module with post-fs-data.sh hooks may be required.
MTK vendor builds add an additional high-priority path checked before all standard paths:
/custom/media/bootanimation.zip
If this file exists on your device, it will override what this module installs. Removing or replacing it manually may be necessary.
See CHANGELOG.md for the full version history.
- Google — Original Gemini animation from the Pixel 10
- docbt — Porting & Magisk module packaging
This project is licensed under the MIT License.
The boot animation itself is the property of Google LLC. This port is provided for personal, non-commercial use only.
Made with love for the Android community
⭐ If you like this module, consider leaving a star!
