Download xsnow

The current version is 3.7.5.

Note1: xsnow has been tested and runs on Ubuntu 18.04, 19.04, 19.10, 20.04, Mint-19 and Raspbian 11 (bullseye). It also runs with the FVWM window manager.

Note2: since version 3.1.2, xsnow should also compile and run on slackware-14.2. The user interface will be disabled and you have to use command-line flags.

Note3: since version 3.1.4, xsnow should also compile and run on fedora-33, even in combination with musl-libc-1.2.1

The file README in the tarball contains installation instructions.


Download source: xsnow-3.7.5.tar.gz

Download previous version: xsnow-3.7.4.tar.gz


 umask 022
 tar xf xsnow-3.7.5.tar.gz
 # Make sure you have installed the packages mentioned in the file xsnow-3.7.5/dependencies
 cd xsnow-3.7.5
 sudo make install

xsnow should now be installed as /usr/local/games/xsnow .

Previous versions are available on sourceforge

Inspired by being on vacation, on a campsite, I will not offer Debian versions for download any more. Let me know if you really need a Debian package or maybe an AppImage.

Advice: search the Web for 'dangers of AppImages' and 'dangers of .deb files'. If you want to be on the safe side, install xsnow using your package manager, e.g. for Debian-like distributions (Ubuntu, Linux mint, ...):

  apt install xsnow

Of course, most of the time, the distributions do not offer the newest version.

How it all began

The current xsnow wouldn't have existed without Rick Jansen's xsnow-1.42. That version is still available here .

Startup scripts

Download scripts to start xsnow on a particular desktop: startondesktop or all desktops: startonalldesktops. This is obsolete now, because xsnow runs by default on all desktops, but maybe it is an inspiration for somebody.


 startondesktop -d <desktop-nr> -a xsnow xsnow -nomenu
 startonalldesktops -a xsnow xsnow -nomenu    # this script uses startondesktop

 The scripts use 'wmctrl' (debian package: wmctrl) and 'xmessage' (debian package x11-utils)

Example script for window placement

Download example script for placement of windows: getwindowcoordinates