HOME

TheInfoList



OR:

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, an ...
,
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 (computer), Mac computers. Within the market of ...
, iOS 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 XScre ...
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 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 wi ...
(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, whic ...
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 o ...
) 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. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
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 (computer), Mac computers. Within the market of ...
screen saver. On iOS 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 software, proprietary graphical user interface, graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, W ...
, 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 Explor ...
.


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 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 wit ...
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 (computer), Mac computers. Within the market of ...
and iOS, 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 wit ...
API built on top of Cocoa ("jwxyz"). * To allow the OpenGL 1.3-based hacks to run natively on iOS 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-acce ...
, 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-acce ...
1.0 ("jwzgles"). * And to allow the X11-based hacks to run natively on iOS 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-acce ...
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 propri ...
or KDE, 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 Scre ...
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 Scre ...
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 Scre ...
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 ...
'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 dru ...
, 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 variants from many computer systems, including
Microsoft Windows Windows is a group of several Proprietary software, proprietary graphical user interface, graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, W ...
Blue Screen of Death, a Linux kernel panic, 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" 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-mo ...
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 (mechanical), 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 a ...
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 Resurrectio ...
. *''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 Video game graphics, 2D action game with Puzzle video game, puzzle elements that uses Isometric video ...
''. *''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), pic ...
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 yo ...
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 Resurrectio ...
. 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 ...
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 calcu ...
. * ''
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 at Rotterdam's Het Nieuwe Instituut in 2017.


References


External links

* * * {{Portal bar, Linux, Free and open-source software Screensavers Utilities for macOS X Window programs