Closed pippin88 closed 2 weeks ago
I had half concluded that stopping picframe then restarting it was the only way round the Wayland problem. One issue is that the image sequence would be lost each time it happened, and I thought of saving a sequence number so it could continue. The issue as it stands is that we use a sqlite randomiser that has no option to seed in order to give a reproducible random sequence so we would need to switch to a python randomised list system. Quite doable, I'll put it on the list ...
5 days in -> no issues with display off/on using my above solution.
No idea if it messes with the sequence -> I don't mind what sequence (so long as some degree of change / randomness)
Here is the revised long-form article based on Helge's instructions: https://www.thedigitalpictureframe.com/how-to-build-the-best-raspberry-pi-digital-picture-frame-with-bookworm-and-pi3d-picframe-2024-edition/ where screen on/off works like a charm.
Isn't there a problem with 100% CPU usage in the new solution?
I guess this issue can be closed.
Not a picframe issue as such, rather due to major changes in Bookworm and depreciation of
vcgencmd display_power
. However, control of display on/off is a major issue for many using picframe.The
wlr-randr --output HDMI-A-1 --on
(or off) command are used to control display on/off. However, I found whenwlr-randr --output HDMI-A-1 --on
is used when picframe is already running, I just got a blank screen - no pictures. I think I have worked out a solution. My solution at present is to shutdown picframe when turning the display off, and start picframe again when turning the display on. My photo frame is on for set hours - this solution may not be suitable for those using motion detection etc.I did modify
./start_picframe.sh
(from https://github.com/helgeerbe/picframe/wiki/Setup-guide-Bookworm-and-Wayland) by adding linesexport WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/1000
. This seemed to get auto-start on boot working correctly for me../start_picframe.sh
Then
chmod +x ./start_picframe.sh
nano ./stop_picframe.sh
Then
chmod +x ./stop_picframe.sh
Then
crontab -e
And something like:Smarter minds than I can probably work out why using
wlr-randr --output HDMI-A-1 --on
after picframe is already running, andwlr-randr --output HDMI-A-1 --off
has been used, results in a blank screen.