xshadertoy(6)

πŸ“¦ version 6.15, in alpine 3.24, arch rolling, nixpkgs unstable

πŸ’… 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 πŸŽ€

  • --visual visual β€” 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 πŸ¦‹
  • --delay number β€” per-frame delay, in microseconds. default: 20000 (that's 0.02 seconds, for the record ⏱️)
  • --speed number β€” animation speed. 2.0 means twice as fast, 0.5 means half as fast. go fast, go slow, you do you πŸ”₯
  • --scale number β€” frame buffer resolution. 0.5 means halve the resolution for better performance but lower quality output. default 1.0, full quality. aesthetic vs. fps, the eternal struggle 😭
  • --program0 file
  • --program1 file
  • --program2 file
  • --program3 file
  • --program4 file β€” GLSL code, each one as an input to the previous. it's a whole pipeline, bestie, shaders feeding shaders 🫢
  • --program-common file β€” 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-speed ratio β€” how fast. default 1.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 the RESOURCE_MANAGER property.
  • 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 Β© 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