Xscreensaver
The closest thing to a git repo of xscreensaver known to exist, because jwz Does Not Do Github. This is a READ ONLY mirror. Please send pull requests and bug reports directly to the upstream project.
Install / Use
/learn @Zygo/XscreensaverREADME
XScreenSaver
a collection of
free screen savers
for X11, macOS,
iOS and Android
By Jamie Zawinski
and many others
https://www.jwz.org/xscreensaver/
===============================================================================
This is the XScreenSaver source code distribution. It is strongly recommended that you install a binary release rather than trying to compile it yourself. Executables are available for almost all platforms, including macOS, iOS, and Android. See the XScreenSaver web site for details.
=============================================================================== To compile for a Unix system with X11:
./configure --help
./configure --prefix=/usr
make
sudo make install
xscreensaver &
xscreensaver-settings
For a debug build:
make CFLAGS="-g"
There are many compilation dependencies. The configure script will tell
you what is missing. At the least, you will need development versions of
these libraries. Append "-dev" or "-devel" to most of these:
perl attr pkg-config gettext intltool libx11 libxext libxi libxt
libxft libxinerama libxrandr libxxf86vm libgl libglu libgle
libgtk-3 libgdk-pixbuf-2.0 libjpeg libxml2 libpam libwayland
libsystemd elogind
You can build a package-manager version with "make rpm" or "make deb".
BSD systems might need gmake instead of make.
=============================================================================== To compile for macOS or iOS:
See OSX/README. Use the included Xcode project.
=============================================================================== To compile for Android:
See android/README.
=============================================================================== Interested in writing a new screen saver?
See the README.hacking file.
=============================================================================== Version History
6.15 * New hacks, worldpieces', bestill', bubblecolors', darktransit',
downfall', driftclouds', goldenapollian', noxfire', prococean', rigrekt', trainmandala', trizm' and universeball'. * mapscroller' shows the name of the nearest major city, and has an
updated list of available map tile servers.
* Higher resolution Earth imagery in glplanet', dymaxionmap'
sphereeversion', cubocteversion' and platonicfolding'. * X11: xscreensaver-settings' has a search field.
* X11: Excised the last remnants of XLFD-style font parsing.
* macOS, iOS: Text in right-to-left languages is rendered properly.
* Android: Most things display text properly.
6.14.1 * macOS: the new shader savers were crashing at startup.
6.14 * Added the ability to run shadertoy.com programs as screen savers.
* New shader-based savers: alienbeacon', batteredplanet',
elementalring', fluxcore', gimbalharmonics', hexplasma',
logarithmiccircles', neongravity', neontriangulator', protophore', selfreflect', skyline', stardome', starnest',
stripeytorus', synthwavecity', topologica' and truchetzoom'.
* Better label wrapping in carousel' and photopile'.
* Fixed `glslideshow' preferences and title display.
* X11: Decrufted PAM, including /etc/pam.d/xscreensaver.
* macOS: Sparkle 2.8.
* iOS: Clicking links in preferences opens in Safari again.
6.13 * Added a number of historical full chess games to endgame'. * Rewrote glslideshow' to add more image-transition effects.
* Hacks that display images and their filenames will display their
titles intead, if the image originated in an RSS feed (or has
the "user.dublincore.title" xattr).
* X11: Wayland fixes.
* X11: Some hacks were calling glXSwapBuffers before the first call
to glXMakeCurrent; allow it.
* X11: Added configuration files to allow building of a non-insane
`.deb' installer package.
6.12 * X11: DPMS works on Wayland. * X11: Fading uses GL now which should be more performant.
6.11 * X11: Now supports Wayland (blanking only, not locking). * X11: More reliable and timely DPMS activation. * X11: Dead keys work in password input. * X11: Fixed a couple of minor Y2038 bugs.
6.10 * New hacks, dumpsterfire', hopffibration', platonicfolding' and klondike'.
* Rewrote the VT100 emulator for 'apple2' and 'phosphor'.
Supports inverse and DEC Special Graphics.
* X11: `phosphor' scrolls fast again on "modern" Linux systems.
* BSOD supports systemd and bitlocker.
* Android: Fixed bug where photo access was not being requested.
6.09 * New hacks,kallisti' and highvoltage'.
* Formal-wear for `headroom'.
6.08 * macOS: Worked around a macOS 14.0 bug where savers would continue running invisibly in the background after un-blanking. * macOS: Upgraded Sparkle (the "Check for Updates" library) for macOS 14.0 compatibility.
6.07 * New hacks, droste', skulloop', papercube' and cubocteversion'.
* xscreensaver-settings' was sometimes turning off the DPMS checkbox. * Log pid of caller of deactivate' command, to give a hint about who
is preventing the screen from blanking.
* recanim uses libffmpeg.
* Updates to sphereeversion'. * Added some new map sources to mapscroller'.
* macOS: Worked around a macOS 13.4 bug where multi-head systems would
fail to launch savers on some or all screens.
* Minimum compiler target is now ISO C99 instead of ANSI C89.
Didn't want to rush into it.
* macOS, Android: Better looking thunbmail images.
* Various other minor bug fixes.
6.06 * New hack, hextrail'. * marbling' works again.
* Adjusted some of the very old hacks, which were written when pixels
were larger, to be more visible on today's higher rez displays.
* X11: More robust desktop image grabbing.
* X11: Various improvements to xscreensaver-settings'. * X11: Silence new new Perl warnings from xscreensaver-getimage-file'.
* X11: Supports "Lock" messages from systemd, e.g. when logind.conf
has "HandleLidSwitch=lock" instead of "suspend".
6.05 * X11: Cope with dumb DPMS settings that existed pre-startup.
* X11: Silence new Perl warnings from xscreensaver-getimage-file'. * X11: Fix sonar' pthreads crash on recent Pi systems.
* X11: Removed dependence on gdk-pixbuf-xlib-2.0'. * X11: GTK 3 is now required. * macOS: Fixed the "Run savers on screens" preference in Random mode on multi-screen M1 systems. * Retired thornbird', which is redundant with `discrete'.
6.04 * New hacks, nakagin' and chompytower'.
* Settings dialog shows diagnostics for bad image folders and feeds.
* URLs for imageDirectory' can now point at archive.org collections. * Sliders for various "Speed" preferences are easier to use. * X11: Settings dialog shows saver description below embedded preview. * X11: Better behavior when zero monitors are attached. * X11: Improvements to inhibiting blanking while videos are playing: No longer necessary to hack GNOME and KDE to get them to not usurp the org.freedesktop.ScreenSaver endpoint. * X11: unicrud' displays character names.
* Updated `webcollage'.
6.03 * New hack, squirtorus'. * New hack, mapscroller' (X11 and macOS only).
* sphereeversion' now has corrugation-mode, and can evert the Earth. * glplanet' is higher resolution, and displays time zones.
* glslideshow' displays relative pathnames again. * iOS: Apple broke drag-to-rotate again. Fixed. * macOS: fixed spurious error message in auto-update installer. * X11: fixed sonar' failing to ping on some Linux systems.
* X11: Touch-screens work.
* X11: Hold down Backspace to clear the whole password field.
6.02 * New hacks, marbling' and binaryhorizon'.
* atlantis' behaviors are more random and lifelike. * headroom' is now Mask Headroom.
* X11: fontglide' skips fonts that can't display ASCII. * X11: Use asterisks in the password dialog if the system fonts don't have bullets in them. * X11: "Disable Screen Saver" was behaving like "Blank Screen Only". * Android: These hacks work now: antinspect', barcode', energystream', fliptext', fontglide', glsnake', raverhoop',
starwars', unicrud'.
6.01 * X11: Properly disable the server's built-in screen saver.
* X11: The passwdTimeout option was being ignored.
* X11: The display of the unlock thermometer was weird.
* X11: Fixed password entry on old-school multi-screen setups (:0.1).
* X11: Worked around a KDE 5 compositor bug that caused the desktop
to momentarily become visible when cycling.
* X11: Fixed possible high CPU usage in xscreensaver-systemd'. * X11: Fixed some spurious warnings in xscreensaver-text'.
* X11: Warn when Wayland is in use, since it makes both screen saving
and locking impossible.
6.00 * X11: Major refactor of the xscreensaver' daemon for improved security, dividing it into three programs: xscreensaver',
xscreensaver-gfx' and xscreensaver-auth'.
* X11: Dropped support for systems older than X11R7 (2009).
* X11: Renamed xscreensaver-demo' to xscreensaver-settings'.
* X11: Unlock dialog has user-selectable color schemes.
* X11: Everything uses XFreeType for fonts now.
* X11: Install a few custom fonts needed by some savers.
* X11: Fading works on systems without gamma (e.g. Rasp
