XScreenSaver is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
collection of 240+
[
]
screensaver
A screensaver (or screen saver) is a computer program that blanks the display screen or fills it with moving images or patterns when the computer has been idle for a designated time. The original purpose of screensavers was to prevent phosphor ...
s for
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
and
Android operating systems. It was created by
Jamie Zawinski
Jamie Zawinski (born November 3, 1968), commonly known as jwz, is an American computer programmer, blogger and impresario. He is best known for his role in the creation of Netscape Navigator, Netscape Mail, Lucid Emacs, Mozilla.org, and XScree ...
in 1992 and is still maintained by him, with new releases coming out several times a year.
Platforms
The
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
and
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems running the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
(such as
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
) use XScreenSaver almost exclusively. On those systems, there are several packages: one for the screen-saving and locking framework, and two or more for the display modes, divided somewhat arbitrarily.
On
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
systems, XScreenSaver works with the built-in
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
screen saver.
On
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
systems, XScreenSaver is a stand-alone app that can run any of the hacks full-screen.
On
Android systems, the XScreenSaver display modes work either as normal screen savers (which Android sometimes refers to as "Daydreams") or as
live wallpapers.
There is no official version for
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
, and the developer discourages anyone from porting it. The author considers Microsoft to be "a company with vicious, predatory, anti-competitive business practices"
and says that, as one of the original authors of
Netscape Navigator
Netscape Navigator was a web browser, and the original browser of the Netscape line, from versions 1 to 4.08, and 9.x. It was the flagship product of the Netscape Communications Corp and was the dominant web browser in terms of usage share in ...
, he holds a "personal grudge" against Microsoft because of its behavior during the
First Browser War
A browser war is competition for dominance in the usage share of web browsers. The "first browser war," (1995-2001) pitted Microsoft's Internet Explorer against Netscape's Navigator. Browser wars continued with the decline of Internet Explorer ...
.
Software Architecture
The XScreenSaver
daemon
Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy.
The word ...
is responsible for detecting idle-ness, blanking and locking the screen, and launching the display modes. The display modes (termed "hacks" from the historical usage "
display hack
A screensaver (or screen saver) is a computer program that blanks the display screen or fills it with moving images or patterns when the computer has been idle for a designated time. The original purpose of screensavers was to prevent phosphor ...
") are each stand-alone programs.
This is an important security feature, in that the display modes are
sandboxed
In computer security, a sandbox is a security mechanism for separating running programs, usually in an effort to mitigate system failures and/or software Vulnerability (computing), vulnerabilities from spreading. The isolation metaphor is taken ...
into a separate process from the screen locking framework. This means that a programming error in one of the graphical display modes cannot compromise the screen locker itself (e.g., a crash in a display mode will not unlock the screen).
It also means that a third-party screen saver can be written in any language or with any graphics library, so long as it is capable of rendering onto an externally provided window.
For historical and portability reasons, the included hacks are all written in
ANSI C
ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and the ...
. About half of them use the
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
API, and about half use the
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
1.3 API.
Rather than forking the code-base and re-writing the hacks to target different platforms, XScreenSaver contains a number of compatibility layers.
* To allow the X11-based hacks to run natively on
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
and
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
, XScreenSaver contains a complete implementation of the
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
API built on top of
Cocoa
Cocoa may refer to:
Chocolate
* Chocolate
* ''Theobroma cacao'', the cocoa tree
* Cocoa bean, seed of ''Theobroma cacao''
* Chocolate liquor, or cocoa liquor, pure, liquid chocolate extracted from the cocoa bean, including both cocoa butter and ...
("jwxyz").
[
]
* To allow the OpenGL 1.3-based hacks to run natively on
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
and
Android systems, which only support
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accel ...
, XScreenSaver contains an implementation of the
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
1.3 API built in top of
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accel ...
1.0 ("jwzgles").
* And to allow the X11-based hacks to run natively on
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
and
Android, XScreenSaver also contains an implementation of the X11 API in terms of
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accel ...
1.0.
Security
In addition to
sandboxing the display modes, the XScreenSaver daemon links with as few libraries as possible. In particular, it does not link against GUI frameworks like
GTK
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and propriet ...
or
KDE
KDE is an international Free software movement, free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-know ...
, but uses only raw
Xlib
Xlib (also known as libX11) is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the d ...
for rendering the unlock dialog box.
In recent years, some
Linux distributions
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
have begun using the
gnome-screensaver
Up until GNOME 3.5, GNOME Screensaver was the GNOME project's official screen blanking and locking framework. With the release of GNOME 3.5.5, screen locking functionality became a function of GDM and GNOME Shell by default.
History
GNOME Scree ...
or
kscreensaver screen-blanking frameworks by default instead of the framework included with XScreenSaver.
In 2011,
gnome-screensaver
Up until GNOME 3.5, GNOME Screensaver was the GNOME project's official screen blanking and locking framework. With the release of GNOME 3.5.5, screen locking functionality became a function of GDM and GNOME Shell by default.
History
GNOME Scree ...
was forked as both
mate-screensaver and
cinnamon-screensaver. Earlier versions of these frameworks still depended upon the XScreenSaver collection of screen savers, which is over 90% of the package.
However, in 2011,
gnome-screensaver
Up until GNOME 3.5, GNOME Screensaver was the GNOME project's official screen blanking and locking framework. With the release of GNOME 3.5.5, screen locking functionality became a function of GDM and GNOME Shell by default.
History
GNOME Scree ...
version 3 dropped support for screensavers completely, supporting only simple screen blanking,
and as of 2018,
Linux Mint
Linux Mint is a community-driven Linux distribution based on Ubuntu (which is in turn based on Debian), bundled with a variety of free and open-source applications. It can provide full out-of-the-box multimedia support for those who choose to i ...
's
cinnamon-screensaver 4.0.8 no longer supports the XScreenSaver hacks.
Those Linux distributions that have replaced XScreenSaver with other screen-locking frameworks have suffered notable security problems. Those other frameworks have a history of security bugs that allow the screen to be un-locked without a password, e.g., by simply holding a key down until the locker crashes.
In 2004, Zawinski had written about the architectural decisions made in XScreenSaver with the goal of avoiding this very class of bug,
leading him to quip in 2015, "If you are not running XScreenSaver on Linux, then it is safe to assume that your screen does not lock."
Display Modes
The included hacks are highly varied, ranging from simple 2D
psychedelia
Psychedelia refers to the psychedelic subculture of the 1960s and the psychedelic experience. This includes psychedelic art, psychedelic music and style of dress during that era. This was primarily generated by people who used psychedelic ...
, to 3D demonstrations of complex mathematical principles, to simulations of other computer systems, to re-creations of artifacts and effects from movies.
Though many of the newer hacks take full advantage of the power of modern computers, the age of the project means that some of the older hacks may look dated to modern eyes, as they were originally written for much less powerful computers.
Examples of hacks include:
*''Atlantis'' – an
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
animation showing whales and dolphins.
*''BSOD'' – shows fake fatal
screen of death
In computing, a screen of death is an informal term for a type of computer operating system error message displayed onscreen when the system has experienced a fatal system error. Computer users have dubbed these messages "screens of death" because ...
variants from many computer systems, including
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
Blue Screen of Death, a Linux
kernel panic
A kernel panic (sometimes abbreviated as KP) is a safety measure taken by an operating system's kernel upon detecting an internal fatal error in which either it is unable to safely recover or continuing to run the system would have a higher ...
, a
Darwin crash, an
Amiga
Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
"
Guru Meditation
Guru Meditation started as an error notice displayed by the Amiga computer when it crashes. It is now also used by Varnish, a software component used by many content-heavy websites. This has led to many internet users seeing a "Guru Meditation ...
" error, a
sad Mac
The classic Macintosh startup sequence includes hardware tests which may trigger the startup chime, Happy Mac, Sad Mac, and Chimes of Death. On Macs running macOS Big Sur or later the startup sound is enabled by default, but can be disabled by ...
, and more.
*''Apple2'' – simulates an
Apple II
The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
computer, showing a user entering a simple
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
program and running it. When run from the command-line, it is a fully functional
terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote termin ...
(as is ''Phosphor''.)
*''Barcode'' – a number of coloured
barcode
A barcode or bar code is a method of representing data in a visual, machine-readable form. Initially, barcodes represented data by varying the widths, spacings and sizes of parallel lines. These barcodes, now commonly referred to as linear or o ...
s scroll across the screen.
*''Flow'' – a 3D display of
strange attractor
In the mathematical field of dynamical systems, an attractor is a set of states toward which a system tends to evolve, for a wide variety of starting conditions of the system. System values that get close enough to the attractor values remain ...
s.
*''Flying toasters'' – 3D toasters fly around, inspired by the classic
After Dark screensaver.
*''Gears'' – an OpenGL animation of inter-meshing
gear
A gear is a rotating circular machine part having cut teeth or, in the case of a cogwheel or gearwheel, inserted teeth (called ''cogs''), which mesh with another (compatible) toothed part to transmit (convert) torque and speed. The basic pr ...
s and
planetary gear
An epicyclic gear train (also known as a planetary gearset) consists of two gears mounted so that the center of one gear revolves around the center of the other. A carrier connects the centers of the two gears and rotates the planet and sun gea ...
s.
*''GLMatrix'' – an OpenGL animation similar to the "
digital rain" title sequence seen in the
Matrix trilogy
''The Matrix'' is an American media franchise consisting of four feature films, beginning with '' The Matrix'' (1999) and continuing with three sequels, '' The Matrix Reloaded'', ''The Matrix Revolutions'' (both 2003), and '' The Matrix Resurre ...
.
*''Molecule'' – an OpenGL animation showing
space-filling or
ball-and-stick models of a series of common drugs and other molecules, of which thirty-eight (38) are built in. It can also read
PDB (Protein Data Bank) from a file, or files placed in a directory, as input.
*''Penrose'' – tiles the screen aperiodically with coloured
Penrose tiles.
*''Spotlight'' – puts a moving spotlight across the desktop in the style of the
James Bond
The ''James Bond'' series focuses on a fictional British Secret Service agent created in 1953 by writer Ian Fleming, who featured him in twelve novels and two short-story collections. Since Fleming's death in 1964, eight other authors have ...
film opening sequences.
*''Sproingies'' – an animation in the style of the video game ''
Q*bert
''Q*bert'' (also known as ''Qbert'') is an arcade video game developed and published for the North American market by Gottlieb in 1982. It is a 2D action game with puzzle elements that uses isometric graphics to create a pseudo-3D effect. The ...
''.
*''Webcollage'' – creates collages out of random images found on the Web.
*''XAnalogTV'' – simulates an analog
cathode ray tube
A cathode-ray tube (CRT) is a vacuum tube containing one or more electron guns, which emit electron beams that are manipulated to display images on a phosphorescent screen. The images may represent electrical waveforms ( oscilloscope), pictu ...
television set, including visual artifacts and reception issues.
*''XPlanet'' – draws
planet
A planet is a large, rounded astronomical body that is neither a star nor its remnant. The best available theory of planet formation is the nebular hypothesis, which posits that an interstellar cloud collapses out of a nebula to create a you ...
s and other celestial bodies that update in real time.
*''XMatrix'' – animations similar to the "
digital rain" sequence seen in the
Matrix trilogy
''The Matrix'' is an American media franchise consisting of four feature films, beginning with '' The Matrix'' (1999) and continuing with three sequels, '' The Matrix Reloaded'', ''The Matrix Revolutions'' (both 2003), and '' The Matrix Resurre ...
.
Some of the included hacks are very similar to
demo effect
Demo effect is computer-based real-time visual effects found in demos created by the demoscene.
The main purpose of demo effects in demos is to show off the skills of the programmer. Because of this, demo coders have often attempted to create n ...
s created by the
demoscene
The demoscene is an international computer art subculture focused on producing demos: self-contained, sometimes extremely small, computer programs that produce audiovisual presentations. The purpose of a demo is to show off programming, visual ...
:
* ''Boing'' – based on the 1984 program regarded as the first
Amiga demo ever, showing the bouncing red and white ball.
* ''Bumps'' – an implementation of full-screen 2D
bump mapping
Bump mapping is a texture mapping technique in computer graphics for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the surface normals of the object and using the perturbed normal during lighting cal ...
.
* ''
Metaballs
In computer graphics, metaballs are organic-looking ''n''-dimensional isosurfaces, characterised by their ability to meld together when in close proximity to create single, contiguous objects.
In solid modelling, polygon meshes are commonly ...
'' – another common demo effect.
* ''Moire2'' – moving
interference circles similar to those common in older Amiga demos.
* ''ShadeBobs'' – another effect common in older Amiga demos.
* ''XFlame'' – the filter-based fire effect, also known as flame effect.
See also
XScreenSaver was featured in Sleep Mode: The Art of the Screensaver,
[
]
a gallery exhibition curated by
Rafaël Rozendaal
Rafaël Rozendaal (born 1980) is a Dutch-Brazilian visual artist currently living and working in New York City. He is known as a pioneer of Internet Art.
BYOB
Rozendaal founded BYOB (Bring Your Own Beamer), an open source exhibition concept. The ...
at Rotterdam's
Het Nieuwe Instituut
Het Nieuwe Instituut (HNI, English: The New Institute) is a cultural centre in Rotterdam, the Netherlands. It focuses on architecture, design, and digital culture. HNI is in a building designed by Jo Coenen at Museumpark 25 in the centre of Rott ...
in 2017.
References
External links
*
*
*
{{Portal bar, Linux, Free and open-source software
Screensavers
Utilities for macOS
X Window programs