xshadertoy(6)
π xshadertoy π
okay so bestie, welcome to xshadertoy(6), straight out of the XScreenSaver manual β¨. This is the screen saver that runs arbitrary GLSL programs using the [shadertoy.com](https://www.shadertoy.com/) API. no cap, it's literally a whole shader playground as your screensaver π
π SYNOPSIS π
xshadertoy [--display host:display.screen] [--visual visual] [--window]
[--root] [--delay number] [--speed number] [--scale number]
[--automouse] [--automouse-speed number] [--program-common file]
[--program0 file] [--program1 file] [--program2 file] [--program3 file]
[--program4 file] [--fps]
β¨ DESCRIPTION β¨
She runs arbitrary GLSL programs that use the shadertoy.com API. that's the whole vibe π like, you feed her shaders, she makes pretty pixels. iconic behaviour only π
π OPTIONS π
--visualvisual β pick which visual to use, bestie. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual. yes, hex is allowed, we're fancy like that π--windowβ draw on a newly-created window. this is the default, so it's giving main character energy by default πΈ--rootβ draw on the root window instead. going full background mode π¦--delaynumber β per-frame delay, in microseconds. default:20000(that's 0.02 seconds, for the record β±οΈ)--speednumber β animation speed.2.0means twice as fast,0.5means half as fast. go fast, go slow, you do you π₯--scalenumber β frame buffer resolution.0.5means halve the resolution for better performance but lower quality output. default1.0, full quality. aesthetic vs. fps, the eternal struggle π--program0file--program1file--program2file--program3file--program4file β GLSL code, each one as an input to the previous. it's a whole pipeline, bestie, shaders feeding shaders π«Ά--program-commonfile β GLSL code to prepend to each program. like a little header for all of them, so cute π§--automouse|--no-automouseβ whether to pretend to drag the mouse around sinusoidally. default false. lowkey unhinged and I love it πβ¨--automouse-speedratio β how fast. default1.0π¨--fps|--no-fpsβ whether to show a frames-per-second display at the bottom of the screen. numbers on screen go brrr β
πΈ ENVIRONMENT πΈ
DISPLAYβ to get the default host and display number. classic x11 behaviour, iykyk πXENVIRONMENTβ to get the name of a resource file that overrides the global resources stored in theRESOURCE_MANAGERproperty.XSCREENSAVER_WINDOWβ the window ID to use with--root.
π¦ SEE ALSO π¦
X(1), xscreensaver(1), https://www.shadertoy.com/
like, go read the source of truth fr fr π
π COPYRIGHT π
Copyright Β© 2025 by Jamie Zawinski. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
okay so that's the legal bit β no warranty, use at your own risk, but like, in a lawyer way π
π AUTHOR π
Jamie Zawinski.
alright bestie that's the whole page π«Ά this was xshadertoy(6) from X Version 11, version 6.15, dated 30-Mar-2026 β slay, go make some shaders, periodt πβ¨
π¦ where this page comes from
- alpine 3.24: xscreensaver-doc 6.15-r0 Β· GPL-2.0-or-later GPL-3.0-or-later 0BSD MIT
- arch rolling: xscreensaver 6.15-1 Β· LicenseRef-XScreenSaver
- nixpkgs unstable: xscreensaver 6.15
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms