Windy Live Wallpaper
Android live wallpaper visualizing local wind patterns. Inspired by the Pixel 2017 live wallpaper, but rewritten from scratch.
Features
More themes, longer battery life, better rendering, and updated wind data.
Compatibility
The original one doesn't run at all on some newer phones, and draws jagged, flickering lines on others.
Lower resource usage
The new WebGPU-based render pipeline is much more efficient than the original one.
Static mode
Optionally draws a single image for each update, then stops entirely, making battery life almost as long as a static wallpaper.
More themes
The six from the original, plus six new ones.
Custom themes
All colors and streamline options can be modified in the app.
Generated themes
Automatically generate a theme from any color with multiple styles.
Updated wind data
The wind forecast is refreshed several times a day, instead of being stuck in 2019.
No ads or tracking
All permissions are optional, and location data never leaves the device.
Open source
The app is written in Java and Rust, and the source code is available on GitHub.
Themes
A theme is four colors: slow wind, fast wind, and two background colors. Streamlines are tinted between the slow and fast colors based on the wind speed.
Screenshots
Preview, tweak, and generate themes in real-time.
Live data
The wind field is generated from
NOAA Global
Forecast System 0.25° ANL data (updated every 6 hours) using
the wind vector values (UGRD, VGRD) at
850 mb elevation, mapped into an equirectangular RGB image:
east/north in red and green, magnitude (0 to 30 m/s) in blue.
What's new
Version 12
- Generate custom themes from a color.
- Automatically determine wallpaper color.
Version 11
- Add matrix theme.
- Tweak deep blue theme colors.
- Make the animation smoother with higher wind speeds.
- Add theme export dev option.
- Reduce APK size.
- Update dependencies.
Version 10
- Custom theme support.
- Fix missing permissions after app reinstall.
- Improve UI.
- Lots of internal refactoring.
Version 9
- Add preview activity.
- Add settings screen.
- Make location updates configurable.
- Make data updates configurable and opt-in.
- Make data URL configurable.
- Make max framerate configurable.
- Add static mode (eliminates background cpu/gpu/power usage).
- Add deep blue theme.
- Refactor render thread.
- Improve frame timing.
- Reproducible builds.
Version 8
- Rewrote everything in rust.
- Completely new pipeline from scratch.
- Much cleaner code.
- Use compute shaders instead of ping-pong texture buffers.
- Fix rendering issues.
- Fix rendering inconsistencies at different frame rates.
- Fix color issues on some devices.
- Fix inconsistent rendering on high-dpi displays.
- Use WebGPU (via wgpu on Vulkan) instead of GLES (via GDX).
Version 7
- Fix shader compilation on some devices.
Version 6
- Apply wind field texture filter server-side.
- Fix blur only applying vertically.
Version 5
- Use GitHub Actions for releases.
More versions
Version 4
- Fix location update bugs.
Version 3
- Fix incorrect preview image.
Version 2
- Work around connectivity issues on some VPNs.
- Refactor a bunch of stuff.
- Minor bugfixes.
Version 1
- First release.