xscreensaver under Wayland


Well-Known Member
Dec 3, 2018
Reaction score
Given up on having a screensaver under Wayland? You don't have to. I accidently stubled upon a solution, or work around. You need to have xscreensaver installed and you need to create 2 files. Unfortunately you can't use the GUI configuration tool, you'll either need to use a VM for that or edit the text file manually.

The first file you need to create is an autostart file, located ~/.config/autostart, call it xscreensaver.desktop. In it, place the following text
[Desktop Entry]
Exec=xscreensaver -nosplash

Next, either copy this file from a VM or create it. ~/.xscreensaver and place the below text in it.
# XScreenSaver Preferences File
# Written by xscreensaver-demo 5.45 on Sun Jan  8 12:28:22 2023.
# https://www.jwz.org/xscreensaver/

timeout:    0:15:00
cycle:        0:03:00
lock:        False
lockTimeout:    0:03:00
passwdTimeout:    0:00:30
visualID:    default
installColormap:    True
verbose:    False
timestamp:    True
splash:        True
splashDuration:    0:00:05
demoCommand:    xscreensaver-demo
prefsCommand:    xscreensaver-demo -prefs
nice:        10
memoryLimit:    0
fade:        False
unfade:        False
fadeSeconds:    0:00:03
fadeTicks:    20
captureStderr:    True
font:        *-medium-r-*-140-*-m-*
dpmsEnabled:    False
dpmsQuickOff:    False
dpmsStandby:    0:30:00
dpmsSuspend:    0:30:00
dpmsOff:    0:30:00
grabDesktopImages:  False
grabVideoFrames:    False
chooseRandomImages: False

mode:        one
selected:    176

textMode:    url
textLiteral:    XScreenSaver
textProgram:    fortune
textURL:    http://fridge.ubuntu.com/node/feed

programs:                                      \
                maze -root                    \n\
  GL:                 superquadrics -root                \n\
                attraction -root                \n\
-                blitspin -root                    \n\
                greynetic -root                    \n\
                helix -root                    \n\
                hopalong -root                    \n\
                imsmap -root                    \n\
                noseguy -root                    \n\
-                pyro -root                    \n\
                qix -root                    \n\
-                rocks -root                    \n\
                rorschach -root                    \n\
-                decayscreen -root                \n\
-                flame -root                    \n\
                halo -root                    \n\
-                slidescreen -root                \n\
-                pedal -root                    \n\
                bouboule -root                    \n\
                braid -root                    \n\
-                coral -root                    \n\
-                deco -root                    \n\
-                drift -root                    \n\
-                fadeplot -root                    \n\
                galaxy -root                    \n\
                goop -root                    \n\
                grav -root                    \n\
                ifs -root                    \n\
-                unicode -root                    \n\
- GL:                 jigsaw -root                    \n\
                julia -root                    \n\
-                kaleidescope -root                \n\
  GL:                 moebius -root                    \n\
                moire -root                    \n\
  GL:                 morph3d -root                    \n\
                mountain -root                    \n\
                munch -root                    \n\
                penrose -root                    \n\
  GL:                 pipes -root                    \n\
                rd-bomb -root                    \n\
  GL:                 rubik -root                    \n\
-                sierpinski -root                \n\
-                slip -root                    \n\
  GL:                 sproingies -root                \n\
-                starfish -root                    \n\
                strange -root                    \n\
                swirl -root                    \n\
                triangle -root                    \n\
                xjack -root                    \n\
                xlyap -root                    \n\
  GL:                 atlantis -root                    \n\
                bsod -root                    \n\
  GL:                 bubble3d -root                    \n\
  GL:                 cage -root                    \n\
-                crystal -root                    \n\
                cynosure -root                    \n\
                discrete -root                    \n\
-                distort -root -reflect                \n\
                epicycle -root                    \n\
                flow -root                    \n\
  GL:                 glplanet -root                    \n\
                interference -root                \n\
                kumppa -root                    \n\
  GL:                 lament -root                    \n\
                moire2 -root                    \n\
  GL:                 sonar -root                    \n\
  GL:                 stairs -root                    \n\
                truchet -root                    \n\
-                vidwhacker -root                \n\
                blaster -root                    \n\
                bumps -root                    \n\
-                ccurve -root                    \n\
                compass -root                    \n\
                deluxe -root                    \n\
                demon -root                    \n\
  GL:                 extrusion -root                    \n\
-                loop -root                    \n\
                penetrate -root                    \n\
                petri -root                    \n\
-                phosphor -root                    \n\
  GL:                 pulsar -root                    \n\
                ripples -root                    \n\
                shadebobs -root                    \n\
  GL:                 sierpinski3d -root                \n\
-                spotlight -root                    \n\
                squiral -root                    \n\
                wander -root                    \n\
-                webcollage -root                \n\
-                xflame -root                    \n\
                xmatrix -root                    \n\
- GL:                 gflux -root                    \n\
-                nerverot -root                    \n\
                xrayswarm -root                    \n\
                xspirograph -root                \n\
  GL:                 circuit -root                    \n\
  GL:                 dangerball -root                \n\
  GL:                 engine -root                    \n\
- GL:                 flipscreen3d -root                \n\
  GL:                 gltext -root                    \n\
  GL:                 menger -root                    \n\
  GL:                 molecule -root                    \n\
-                rotzoomer -root                    \n\
                speedmine -root                    \n\
- GL:                 starwars -root                    \n\
  GL:                 stonerview -root                \n\
                vermiculate -root                \n\
                whirlwindwarp -root                \n\
-                zoom -root                    \n\
                anemone -root                    \n\
-                apollonian -root                \n\
  GL:                 boxed -root                    \n\
  GL:                 cubenetic -root                    \n\
  GL:                 endgame -root                    \n\
-                euler2d -root                    \n\
                fluidballs -root                \n\
  GL:                 flurry -root                    \n\
- GL:                 glblur -root                    \n\
  GL:                 glsnake -root                    \n\
                halftone -root                    \n\
  GL:                 juggler3d -root                    \n\
  GL:                 lavalite -root                    \n\
-                polyominoes -root                \n\
  GL:                 queens -root                    \n\
  GL:                 sballs -root                    \n\
  GL:                 spheremonics -root                \n\
-                thornbird -root                    \n\
                twang -root                    \n\
- GL:                 antspotlight -root                \n\
                apple2 -root                    \n\
  GL:                 atunnel -root                    \n\
-                barcode -root                    \n\
  GL:                 blinkbox -root                    \n\
  GL:                 blocktube -root                    \n\
  GL:                 bouncingcow -root                \n\
-                cloudlife -root                    \n\
  GL:                 cubestorm -root                    \n\
                eruption -root                    \n\
  GL:                 flipflop -root                    \n\
  GL:                 flyingtoasters -root                \n\
-                fontglide -root                    \n\
  GL:                 gleidescope -root                \n\
  GL:                 glknots -root                    \n\
  GL:                 glmatrix -root                    \n\
- GL:                 glslideshow -root                \n\
  GL:                 hypertorus -root                \n\
  GL:                 jigglypuff -root                \n\
                metaballs -root                    \n\
  GL:                 mirrorblob -root                \n\
                piecewise -root                    \n\
  GL:                 polytopes -root                    \n\
                pong -root                    \n\
                popsquares -root                \n\
  GL:                 surfaces -root                    \n\
                xanalogtv -root                    \n\
                abstractile -root                \n\
-                anemotaxis -root                \n\
  GL:                 antinspect -root                \n\
                fireworkx -root                    \n\
-                fuzzyflakes -root                \n\
                interaggregate -root                \n\
                intermomentary -root                \n\
-                memscroller -root                \n\
  GL:                 noof -root                    \n\
                pacman -root                    \n\
  GL:                 pinion -root                    \n\
  GL:                 polyhedra -root                    \n\
- GL:                 providence -root                \n\
                substrate -root                    \n\
                wormhole -root                    \n\
  GL:                 antmaze -root                    \n\
- GL:                 boing -root                    \n\
                boxfit -root                    \n\
- GL:                 carousel -root                    \n\
                celtic -root                    \n\
  GL:                 crackberg -root                    \n\
  GL:                 cube21 -root                    \n\
                fiberlamp -root                    \n\
- GL:                 fliptext -root                    \n\
  GL:                 glhanoi -root                    \n\
  GL:                 tangram -root                    \n\
  GL:                 timetunnel -root -no-logo            \n\
  GL:                 glschool -root                    \n\
  GL:                 topblock -root                    \n\
  GL:                 cubicgrid -root                    \n\
                cwaves -root                    \n\
  GL:                 gears -root                    \n\
  GL:                 glcells -root                    \n\
  GL:                 lockward -root                    \n\
                m6502 -root                    \n\
  GL:                 moebiusgears -root                \n\
- GL:                 voronoi -root                    \n\
  GL:                 hypnowheel -root                \n\
  GL:                 klein -root                    \n\
-                lcdscrub -root                    \n\
- GL:                 photopile -root                    \n\
- GL:                 skytentacles -root                \n\
  GL:                 rubikblocks -root                \n\
  GL:                 companioncube -root                \n\
  GL:                 hilbert -root                    \n\
  GL:                 tronbit -root                    \n\
  GL:                 geodesic -root                    \n\
                hexadrop -root                    \n\
  GL:                 kaleidocycle -root                \n\
- GL:                 quasicrystal -root                \n\
  GL:                 unknownpleasures -root                \n\
                binaryring -root                \n\
  GL:                 cityflow -root                    \n\
  GL:                 geodesicgears -root                \n\
  GL:                 projectiveplane -root                \n\
  GL:                 romanboy -root                    \n\
-                tessellimage -root                \n\
  GL:                 winduprobot -root                \n\
- GL:                 splitflap -root                    \n\
-                testx11 -root                    \n\
  GL:                 electricsheep -root 1                \n\
- GL:                 cubestack -root                    \n\
- GL:                 cubetwist -root                    \n\
- GL:                 discoball -root                    \n\
- GL:                 dymaxionmap -root                \n\
- GL:                 energystream -root                \n\
- GL:                 hexstrut -root                    \n\
- GL:                 hydrostat -root                    \n\
- GL:                 raverhoop -root                    \n\
- GL:                 splodesic -root                    \n\
- GL:                 unicrud -root                    \n\
- GL:                 esper -root                    \n\
- GL:                 vigilance -root                    \n\
- GL:                 crumbler -root                    \n\
                filmleader -root                \n\
                glitchpeg -root                    \n\
- GL:                 handsy -root                    \n\
- GL:                 maze3d -root                    \n\
- GL:                 peepers -root                    \n\
- GL:                 razzledazzle -root                \n\
                vfeedback -root                    \n\
                scooter -root                    \n\
- GL:                 deepstars -root                    \n\
- GL:                 gravitywell -root                \n\
- GL:                 beats -root                    \n\
- GL:                 covid19 -root                    \n\
- GL:                 etruscanvenus -root                \n\
- GL:                 gibson -root                    \n\
- GL:                 headroom -root                    \n\
- GL:                 sphereeversion -root                \n\

pointerPollTime:    0:00:05
pointerHysteresis:  10
initialDelay:    0:00:00
procInterrupts:    True
xinputExtensionDev: False
overlayStderr:    True
authWarningSlack:   20

Looking at this file in Kate or any text editor with line numbers, you 'll see that on line 38 it shows 'selected: 176'. This is the secreensaver I am using. If look futher down at line 46, you'll see 'programs'. This is basically a header for all the screensavers. The screen saver on line 47 is the first one. If you take 47 and add 176 (my screensaver, you get 223. If you look at line 223 you'll see 'fiberlamp', this is my screensaver.

This isn't a perfect solution. I have my timeout set for 15 minutes and what I've found is even though I'm using the computer, the screensaver runs every 15 minutes and have to move the mouse to clear it, yes even though I'm actively using the mouse and keyboard.

Members online