glsnake — OpenGL enhanced Rubik's Snake cyclewaster.


glsnake [-display host:display.screen] [-window] [-root] [-visual visual] [-delay microseconds] [-fps] [-wireframe] [-altcolour] [-angvel angular] [-explode distance] [-statictime milliseconds] [-yangvel angle] [-zangvel angle]


glsnake is an imitation of Rubiks' Snake, using OpenGL.


glsnake accepts the following options:
Draw on a newly-created window. This is the default.
Draw on the root window.
Install a private colormap for the window.
-visual visual
Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.
Display the current frame rate, CPU load, and polygon count.
Display the snake in wireframe mode, rather than the default solid mode.
Use the alternate colour scheme for the snake. Shape identification using colour will be disabled.
-angvel angular
Change the speed at which the snake morphs to a new shape.
-explode distance
Change the distance between the nodes of a snake.
-statictime milliseconds
Change the time between morphs.
-yangvel angle
Change the angle of rotation around the Y axis per frame.
-zangvel angle
Change the angle of rotation around the Z axis per frame.


to get the default host and display number.
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.


This XScreenSaver will attempt to read model files installed with the interactive glsnake.


The snake will happily intersect itself while morphing (this is not a bug).

The rotation/camera position sucks.


Jamie Wilkinson <>, Andrew Bennetts <>, and Peter Aylett <>. Ported to XScreenSaver by Jamie Wilkinson.