GNOME Shell Extension - Hanabi
July 23, 2026 · View on GitHub
Live Wallpaper for GNOME
Hanabi 花火【はなび】(n) fireworks
( ・ω・)o─━・*:'・:・゜'・:※
GNOME Shell Extension - Hanabi
If you like my project, please consider buying me a coffee!! (⁎˃ ꇴ ˂⁎)ッ
Also please don't forget to hit that star button! 🌟
Feel free to open an issue for problems or suggestions 🤗
Your support is truly appreciated!
Join our Discord!
Demo 📽️
Please click on the image to view (redirect to YouTube)
Hanabi has migrated to TypeScript!
Important
The TypeScript rewrite has landed on the main branch~ ✨ Better type safety and maintainability, targeting GNOME 50+, Wayland only.
The javascript branch is in maintenance mode for GNOME 45–50 — bugs still
get fixed there, but no new fireworks. (・ω・)ノ
GNOME Shell Support
| Version | 42–44 | 45–50 | 50+ |
|---|---|---|---|
| Status | ⚠️ | ✅ | ✅ |
| Branch | legacy | javascript | main |
Installation
- Clone the branch for your GNOME Shell version
-
GNOME 50 and later (TypeScript, Wayland only) 🔥
git clone https://github.com/jeffshee/gnome-ext-hanabi.git -
GNOME 45–50 (JavaScript, X11 and Wayland)
git clone https://github.com/jeffshee/gnome-ext-hanabi.git -b javascript
-
Run the installation script
cd gnome-ext-hanabi make installBuild dependencies
mainbranch:meson,node, andnpmjavascriptbranch:meson
-
Restart GNOME Shell
-
Enable the Hanabi extension
-
Choose your video wallpaper in the extension preference window
Distro-specific Guides
See the distro-specific guides for installation instructions.
Troubleshooting
-
The video doesn't play / The extension is enabled but nothing happens
The GTK4 media backend is not pre-installed on some distributions (such as PopOS).To install the backend:
sudo apt install libgtk-4-media-gstreamer -
High CPU usage during video playback (proprietary NVIDIA)
Your hardware acceleration may not work properly, see this issue.To delete the GStreamer cache:
rm -rf ~/.cache/gstreamer-1.0/
After that, check ifgst-inspect-1.0 nvcodecreports all its features. -
Blur My Shell — wallpaper becomes semi-transparent
If you use the Blur My Shell extension with Applications → Applications blur → Enable all by default turned on, add an exception for the Hanabi renderer.In Blur My Shell settings, go to Applications → Applications blur → Blacklist and add:
io.github.jeffshee.HanabiRenderer
Advanced Usage
Video backend selection & scripting
Hanabi uses gtk4paintablesink (from GStreamer) as the default video sink, which offers good performance and broad compatibility.
Optionally, clappersink from Clapper can be used instead via Preferences → Developer → Prefer clappersink. Clapper must be installed from the package manager and not from Flatpak/Snap for this to work.
There is a known compatibility issue with
clappersinkon native installs with GStreamer 1.26+. If you encounter crashes after enabling this option, please disable it.
For more advanced customization, learn how to write scripts for Hanabi extension!
Check out the scripting guide for detailed instructions and examples.
Get Involved 🚀
Contributors are welcome! Let's make Hanabi extension better together~
Development
See the development guide for instructions.
Translation
If you're interested in translating, you can help on Hosted Weblate.
Contributors ✨
Made with contributors-img.
Icons made by Freepik from Flaticon
