Tiny Core Linux

General TC => General TC Talk => Topic started by: Richard Cranium on November 23, 2025, 03:40:20 PM

Title: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 23, 2025, 03:40:20 PM
I found this old beat up Compaq laptop at a local thrift store for a grand total of $5 and had the idea to make a picture frame out of it using TC ..

TC runs on it fine ... so I'm gonna go ahead with it...  but I'm running into a little snag .., Now this laptop Doesn't have ethernet/wifi so booted TC 16.2 on another machine to look in the repos for what I need (xscreensaver) , but as I recall , I need the GL portions  of xscreensaver , which aren't there , I saw an xscreensaver-extra listed in the description , but i can't install it because it seems to be unavailable in the repo..

Could someone help me on this???    Is there another simply slideshow screenaver I could use???
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: GNUser on November 23, 2025, 04:12:06 PM
Hi Richard. Which architecture are you using? If x86_64, check out yscreensaver.tcz (for X) and wscreensaver.tcz (for wayland).
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on November 23, 2025, 05:13:29 PM
Hi Richard Cranium
Take a look at fbv.tcz. It is available in TC16 x86 and x86_64.
It is very lightweight and does not require X to run.

feh.tcz might also be worth a look, also available in TC16 x86 and x86_64.
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 23, 2025, 05:57:38 PM
Hi Richard. Which architecture are you using? If x86_64, check out yscreensaver.tcz (for X) and wscreensaver.tcz (for wayland).

Just plain old x86   .. it's a lousy 300 mhz
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 23, 2025, 05:59:03 PM
Hi Richard Cranium
Take a look at fbv.tcz. It is available in TC16 x86 and x86_64.
It is very lightweight and does not require X to run.

feh.tcz might also be worth a look, also available in TC16 x86 and x86_64.

They can do a "picture slideshow" ????  I'll check that out...
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: GNUser on November 23, 2025, 08:12:53 PM
Hi Richard Cranium. The two screensaver applications I suggested are only for x86_64, unfortunately.

But all is not lost. If what you're looking for is just a simple "picture slideshow," then I'd go with Rich's idea of using feh.

Put your pictures in a directory--for example, /home/tc/Pictures/slideshow--and decide how long you want to show each picture. To show each picture for 5 seconds, for example, all you need is this command:

Code: [Select]
feh -r -D 5 -F -Z /home/tc/Pictures/slideshow
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 23, 2025, 09:41:32 PM
Hi Richard Cranium. The two screensaver applications I suggested are only for x86_64, unfortunately.

But all is not lost. If what you're looking for is just a simple "picture slideshow," then I'd go with Rich's idea of using feh.

Put your pictures in a directory--for example, /home/tc/Pictures/slideshow--and decide how long you want to show each picture. To show each picture for 5 seconds, for example, all you need is this command:

Code: [Select]
feh -r -D 5 -F -Z /home/tc/Pictures/slideshow

I'll look into this . so.. 64 bit only on the others??  that Doesn't make sense ..

What about GL slideshow for xscreensaver??  that would be ideal...
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on November 24, 2025, 12:00:13 AM
Hi Richard Cranium
You said:
Just plain old x86   .. it's a lousy 300 mhz
Based on that, I would think you'd want something lightweight, like feh for example.

... What about GL slideshow for xscreensaver??  that would be ideal...
Is the video card compatible with OpenGL?
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 24, 2025, 05:22:17 PM
Quote
Is the video card compatible with OpenGL?

I really have no idea .. I would assume so , but can't verify..
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 24, 2025, 06:32:09 PM
Hi Richard Cranium
You said:
Just plain old x86   .. it's a lousy 300 mhz
Based on that, I would think you'd want something lightweight, like feh for example.


I'm assuming it's possible to make "feh" start up automatically?  (system startup) , If so , .... uh how? lol   

Also , could someone clearify on how to go about making xscreensaver start automatically???  I'm a little confused...
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on November 25, 2025, 11:29:44 AM
Hi Richard Cranium
This was your original goal:
I found this old beat up Compaq laptop at a local thrift store for a grand total of $5 and had the idea to make a picture frame out of it using TC ...
That means you don't need a GUI.

You only need to install  graphics-KERNEL  and  fbv.

You'll want a persistent  /home  where you'll keep the pictures to be displayed, for example:
Code: [Select]
/home/tc/MyPictures/
At the end of  /home/tc/.profile  place this:
Code: [Select]
while true; do fbv -f -a -e -i -s 50 MyPictures/*; doneThis will display each picture for 5 seconds.
Each picture will be sized to fit the screen as best as possible.
When it reaches the last picture, it restarts the sequence.

I know fbv supports .jpg and .png formats.

Options for fbv can be displayed with:
Code: [Select]
fbv --help
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 25, 2025, 05:55:01 PM
Hi Richard Cranium
This was your original goal:
I found this old beat up Compaq laptop at a local thrift store for a grand total of $5 and had the idea to make a picture frame out of it using TC ...
That means you don't need a GUI.

You only need to install  graphics-KERNEL  and  fbv.

You'll want a persistent  /home  where you'll keep the pictures to be displayed, for example:
Code: [Select]
/home/tc/MyPictures/
At the end of  /home/tc/.profile  place this:
Code: [Select]
while true; do fbv -f -a -e -i -s 50 MyPictures/*; doneThis will display each picture for 5 seconds.
Each picture will be sized to fit the screen as best as possible.
When it reaches the last picture, it restarts the sequence.

I know fbv supports .jpg and .png formats.

Options for fbv can be displayed with:
Code: [Select]
fbv --help

but it all can still work even with a gui (desktop)??
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on November 25, 2025, 09:23:44 PM
Hi Richard Cranium
but it all can still work even with a gui (desktop)??
Sure, if you want to make your life more difficult.

You'll need to install  Xvesa  or  Xfbdev  or  Xorg.

You'll need to use  feh  instead of  fbv.
feh depends on ca-certificates, curl, and openssl. That might cause
problems since that laptop has no network access, I don't know.
(I just checked, it runs without network access.)

You'll need a persistent  /home  where you'll keep the pictures to be displayed, for example:
Code: [Select]
/home/tc/MyPictures/
You'll need to create a file in  /home/tc/.X.d/  containing:
Code: [Select]
feh -r -D 5 -F -Z /home/tc/MyPictures/* &You can use any name you want for that file, for example StartFeh.
That command will automatically get executed once the GUI is
up and running. If you hit  q  on the keyboard, it will stop.
If you do it like this, it will restart if someone tries to stop the slideshow:
Code: [Select]
while true; do feh -r -D 5 -F -Z /home/tc/MyPictures/*; done &
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: gadget42 on November 27, 2025, 07:58:59 AM
after visiting:
https://linux.die.net/man/1/feh

wanted to quote a snippet:
Quote
--index-info format
Show image information based on format below thumbnails in index / thumbnail mode. See FORMAT SPECIFIERS. May contain newlines.

Note: If you specify image-related formats (such as %w or %s), feh needs to load all images to calculate the dimensions of its own window. So when using them with many files, it will take a while before a feh window becomes visible. Use --preload to get a progress bar.

mostly just to specifically note:
*So when using them with many files, it will take a while before a feh window becomes visible. Use --preload to get a progress bar.*
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on November 27, 2025, 05:54:18 PM
Hi Richard Cranium
but it all can still work even with a gui (desktop)??
Sure, if you want to make your life more difficult.

You'll need to install  Xvesa  or  Xfbdev  or  Xorg.

You'll need to use  feh  instead of  fbv.
feh depends on ca-certificates, curl, and openssl. That might cause
problems since that laptop has no network access, I don't know.
(I just checked, it runs without network access.)

You'll need a persistent  /home  where you'll keep the pictures to be displayed, for example:
Code: [Select]
/home/tc/MyPictures/
You'll need to create a file in  /home/tc/.X.d/  containing:
Code: [Select]
feh -r -D 5 -F -Z /home/tc/MyPictures/* &You can use any name you want for that file, for example StartFeh.
That command will automatically get executed once the GUI is
up and running. If you hit  q  on the keyboard, it will stop.
If you do it like this, it will restart if someone tries to stop the slideshow:
Code: [Select]
while true; do feh -r -D 5 -F -Z /home/tc/MyPictures/*; done &


Nah , It's not that I think I'm making or trying to make it more difficult , it's actually the opposite , it's a "just in case" kinda thing , for example - I'm most likely going to just remove the storage device (in this case i've installed an sd card ide adapter) whenever I wish to add more pictures , but what if I don't want to remove it? , well then the other option is usb thumb drive (just like any other digital picture frame) and load them that way... 

so that's my reason for asking the questions...

also , back to my last question about configuring xscreensaver to auto start..., looking at the install notes in the package manager description is what has me a little confused ...
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on November 27, 2025, 09:55:06 PM
Hi Richard Cranium
... also , back to my last question about configuring xscreensaver to auto start..., looking at the install notes in the package manager description is what has me a little confused ...
Do you mean this note:
Code: [Select]
                To start at boot, put the following to
                ~/.X.d/xscreensaver:
                   xscreensaver -nosplash &
When running a GUI, your home directory contains a hidden directory
called  .X.d. The note is telling you to create a file called  xscreensaver
that contains the command:
Code: [Select]
xscreensaver -nosplash &The file name is merely descriptive so you know what it is. You can call
it anything you want. After  .xsession  has started the GUI, it opens any
files it finds in  .X.d  and executes their contents line by line.

Having said all of that, I don't think  xscreensaver  does what you think
it does. From the  xscreensaver  man page:
Quote
HOW IT WORKS
When it is time to activate the screensaver, a full-screen black window is created on each screen of the display. Each window is
created in such a way that, to any subsequently-created programs, it will appear to be a "virtual root" window. Because of this, any
program which draws on the root window (and which understands virtual roots) can be used as a screensaver. The various graphics
demos are, in fact, just standalone programs that know how to draw on the provided window.
Found here:
https://www.commandlinux.com/man-page/man1/xscreensaver.1.html

So  xscreensaver  is not copying images to the screen. It's launching programs
that know how to draw to the screen, and those programs probably draw animations.
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: gadget42 on November 28, 2025, 11:06:41 AM
xscreensaver background via Jamie Zawinski

https://nieuweinstituut.nl/en/projects/sleep-mode/jamie-zawinski

also see(more generally):

https://en.wikipedia.org/wiki/Jamie_Zawinski

https://www.jwz.org/

edited to add jwz.org
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on December 02, 2025, 09:21:06 PM
Hi Richard Cranium
... also , back to my last question about configuring xscreensaver to auto start..., looking at the install notes in the package manager description is what has me a little confused ...
Do you mean this note:
Code: [Select]
                To start at boot, put the following to
                ~/.X.d/xscreensaver:
                   xscreensaver -nosplash &
When running a GUI, your home directory contains a hidden directory
called  .X.d. The note is telling you to create a file called  xscreensaver
that contains the command:
Code: [Select]
xscreensaver -nosplash &The file name is merely descriptive so you know what it is. You can call
it anything you want. After  .xsession  has started the GUI, it opens any
files it finds in  .X.d  and executes their contents line by line.

Having said all of that, I don't think  xscreensaver  does what you think
it does. From the  xscreensaver  man page:
Quote
HOW IT WORKS
When it is time to activate the screensaver, a full-screen black window is created on each screen of the display. Each window is
created in such a way that, to any subsequently-created programs, it will appear to be a "virtual root" window. Because of this, any
program which draws on the root window (and which understands virtual roots) can be used as a screensaver. The various graphics
demos are, in fact, just standalone programs that know how to draw on the provided window.
Found here:
https://www.commandlinux.com/man-page/man1/xscreensaver.1.html

So  xscreensaver  is not copying images to the screen. It's launching programs
that know how to draw to the screen, and those programs probably draw animations.

I'm not seeing this... I've installed spacefm as a file manager .. but i'm not seeing ... 
Code: [Select]
a hidden directory
called  .X.d.

EDIT --- Maybe I just did it? , I'll post back soon if it worked..
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on December 03, 2025, 09:27:08 PM
it works  YAY  ;)
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on April 29, 2026, 04:13:36 PM
Here a little question , how do I make the slideshow start over after it's run through all the pictures???  I noticed this last night , I left the "picture frame" running and the pictures all cycled through  , but then.......  feh stopped running....
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on April 29, 2026, 09:16:37 PM
Hi Richard Cranium
If you are starting feh like this:
Code: [Select]
feh -r -D 5 -F -Z /home/tc/MyPictures/*change it to this:
Code: [Select]
while true; do feh -r -D 5 -F -Z /home/tc/MyPictures/*; done &Any time feh exits, it will automatically restart.

I also read somewhere that feh will exit if it encounters a problem
with an image.
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on April 30, 2026, 12:46:35 PM
Hi Richard Cranium

Code: [Select]
while true; do feh -r -D 5 -F -Z /home/tc/MyPictures/*; done &Any time feh exits, it will automatically restart.

I also read somewhere that feh will exit if it encounters a problem
with an image.

Well , Here's the funny thing about that ......  I Did actually try it that way and almost screwed myself in the process (sorta) because I could press "Q" to make it stop , but then couldn't get it to stay "off" long lond enough to make any real changes or anything ., had a heck of a time changing the command back to :   
Code: [Select]
feh -r -D 5 -F -Z /[color=red]mnt/sda1/pics[/color]/*
That was the other issue I ran into , I tried to put the pictures in /home/tc/MyPictures/ and quickly discovered I had little-to-noi space to do so.. It's an 8GB sd card and I had only around 1GB of space to work with , so I put everything in sda1 and linked to that...
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on April 30, 2026, 04:24:31 PM
Hi Richard Cranium
Then try it this way. Create a file called StartFeh.sh containing:
Code: [Select]
#!/bin/sh
while true
do
    feh -r -D 5 -F -Z /[color=red]mnt/sda1/pics[/color]/*
done
Place it in your  /home/tc/.local/bin  directory.
Make it executable:
Code: [Select]
chmod 775 .local/bin/StartFeh.sh
Then start it like this:
Code: [Select]
StartFeh.sh &
To stop it, run this in a terminal:
Code: [Select]
tc@E310:~$ ps aux | grep StartFeh.sh
tc       24084  0.2  0.0   3072  1404 pts/15   S    16:18   0:00 /bin/sh /home/tc/.local/bin/StartFeh.sh
tc       24110  0.0  0.0   1704   324 pts/15   S+   16:19   0:00 grep StartFeh.sh
tc@E310:~$ sudo kill 24084
[1]+  Terminated                 StartFeh.sh
tc@E310:~$

If you can't open a terminal, hit  Ctrl-Alt-F1  to get into the console.
Then enter the above commands to kill StartFeh.sh.
Then hit  Ctrl-Alt-F2  to get back to the GUI.
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on May 01, 2026, 03:06:14 PM
Hi Richard Cranium
Then try it this way. Create a file called StartFeh.sh containing:
Code: [Select]
#!/bin/sh
while true
do
    feh -r -D 5 -F -Z /[color=red]mnt/sda1/pics[/color]/*
done
Place it in your  /home/tc/.local/bin  directory.
Make it executable:
Code: [Select]
chmod 775 .local/bin/StartFeh.sh
Then start it like this:
Code: [Select]
StartFeh.sh &
To stop it, run this in a terminal:
Code: [Select]
tc@E310:~$ ps aux | grep StartFeh.sh
tc       24084  0.2  0.0   3072  1404 pts/15   S    16:18   0:00 /bin/sh /home/tc/.local/bin/StartFeh.sh
tc       24110  0.0  0.0   1704   324 pts/15   S+   16:19   0:00 grep StartFeh.sh
tc@E310:~$ sudo kill 24084
[1]+  Terminated                 StartFeh.sh
tc@E310:~$

If you can't open a terminal, hit  Ctrl-Alt-F1  to get into the console.
Then enter the above commands to kill StartFeh.sh.
Then hit  Ctrl-Alt-F2  to get back to the GUI.

That's only if Imma leave the keyboard and trackpad attached to the "picture frame" , which I am not ... lol

Quote
mnt/sda1/pics/*
  I just noticed that , I forgot to remove the color modifier from my last post and you missed it too .. LOL
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Rich on May 01, 2026, 09:03:44 PM
Hi Richard Cranium
That's only if Imma leave the keyboard and trackpad attached to the "picture frame" , which I am not ... lol ...
Well you mentioned a keyboard and trying to stop it here:
... Well , Here's the funny thing about that ......  I Did actually try it that way and almost screwed myself in the process (sorta) because I could press "Q" to make it stop , but then couldn't get it to stay "off" long lond enough to make any real changes or anything ., had a heck of a time changing the command back to ...
So that's what I responded to. By placing it inside a script, killing the script
lets you stop it if you need to.


Quote
... I just noticed that , I forgot to remove the color modifier from my last post and you missed it too .. LOL
That's because modifiers serve no purpose inside code tags, they get ignored.
Title: Re: Trying to have xscreensaver - for a digital picture frame
Post by: Richard Cranium on May 02, 2026, 03:00:58 PM

Well you mentioned a keyboard and trying to stop it here:

Oh I know , But the keyboard won't remain attached once this thing is in it's final form , so relying on it to enter key presses won't be an option..


Quote
So that's what I responded to. By placing it inside a script, killing the script
lets you stop it if you need to.
oh I know  8)

Quote
That's because modifiers serve no purpose inside code tags, they get ignored.

Yeah I noticed that when previewing my post haha