Streamlines of wind flowing across a blue background

Windy Live Wallpaper

Android live wallpaper visualizing local wind patterns. Inspired by the Pixel 2017 live wallpaper, but rewritten from scratch.

Version 12 Android 11+ AGPL-3.0

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.

Windy, Blue theme
Windy, Blue
Windy, Green theme
Windy, Green
Windy, Blush theme
Windy, Blush
Windy, Midnight theme
Windy, Midnight
Windy, Deep blue theme
Windy, Deep blue
Windy, Maroon theme
Windy, Maroon
Windy, Sepia theme
Windy, Sepia
Your whirled, Sunset theme
Your whirled, Sunset
Your whirled, Turquoise theme
Your whirled, Turquoise
Your whirled, Sky blue theme
Your whirled, Sky blue
Your whirled, Spark theme
Your whirled, Spark
Otherwhirled, Matrix theme
Otherwhirled, Matrix
Windy, Custom

Screenshots

Preview, tweak, and generate themes in real-time.

The app's main screen showing a live wallpaper preview and a theme picker
Live preview and theme selector.
The custom theme editor with the advanced parameter sliders open
Custom colors and particle parameters.
The generate colors dialog, with a color picker and a style dropdown
Generating a theme from a color.
A phone lock screen with the wallpaper running behind the clock
The wallpaper on the lock screen.
The settings screen showing location, data, and rendering options
Location, data, and rendering settings.
Android's live wallpaper picker listing the Windy themes
Each theme is a separate entry in the system picker.

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.

The current wind field: an equirectangular world map with the wind vector encoded into the red, green, and blue channels

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.