glitchpeg(6)
π glitchpeg β the XScreenSaver manual, bestie edition π
okay so you're reading the glitchpeg(6) page and honestly? iconic of you. this is the one that lives in the XScreenSaver manual and it's about to ruin some JPEGs for art. let's go π
β¨ NAME β¨
glitchpeg β a glitched image screen saver. that's it. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
glitchpeg [--display host:display.screen] [--visual visual] [--window]
[--root] [--window-id number] [--delay number] [--duration number]
[--count number]
π DESCRIPTION π
so what it does is: it loads an image, corrupts it, and then displays the corrupted version, several times a second. yeah. that's the whole bit. after a while, it finds a new image to corrupt. main character energy, honestly. π₯
the way it glitches the image? it alters random bytes in the compressed image file before de-compressing it. this creates interesting visual effects on JPEG files π β but ngl, it doesn't work well on PNG files, since PNG contains checksums that detect simple corruption. so likeβ¦ JPEG slays here, PNG is just sitting there doing its little checksum thing. π
π OPTIONS π
--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. pick your fighter β¨--windowβ draw on a newly-created window. this is the default, so like, no pressure π«Ά--rootβ draw on the root window. go big, go desktop-wide π--window-id numberβ draw on the specified window. very specific. very demure.--delay numberβ per-frame delay, in microseconds. default:30000(0.03 seconds). yes, microseconds. yes, that's fast. π₯--duration numberβ how many seconds before loading a new image. default:120. two whole minutes of glitch before we move on π¦--count numberβ number of glitches to introduce per iteration. default:400. four hundred little oopses per round, no cap π
π ENVIRONMENT π
DISPLAYβ to get the default host and display number. the classic.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.
π¨ SECURITY π¨
okay bestie, listen, this part is serious, so put the emoji down for a sec π
because this program is feeding intentionally-invalid data into your operating system's image-decoding libraries, it is possible that it may crash as a result of that corrupted data. π
that should not be possible β but it might be. fr fr.
please note that if this happens, that indicates a serious security bug in your system's image libraries! it likely means that your libraries are susceptible to buffer overflow attacks or similar, which can lead to remote code execution. you should report that bug to the maintainers of those image libraries. yes, actually report it. this is not a drill. π
in the context of xscreensaver, when configured to load only local image files, this should not be a direct security concern: this screen saver crashing will not affect the xscreensaver daemon and will not unlock your screen. so like, your screen stays locked. phew. π«Ά
π¦ SEE ALSO π¦
X(1), xscreensaver(1)
π COPYRIGHT π
copyright Β© 2018 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.
(translation: it's free, just keep the notice, and no promises that it won't do something weird. which, given this program, is very on brand. π )
β AUTHOR β
Jamie Zawinski. legend behaviour, honestly. π
and that's the page, bestie!! π this manual came to you from X Version 11, version 6.15 dated 30-Mar-2026 β write it down, cite it in your essay, whatever, go forth and glitch some JPEGs π§ββοΈβ¨πΈ
π¦ 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