I have made all sorts of modifications to my ACLs and even created a photos.service that starts fbi, but it only starts, and displays 1 image before the screen goes blank.
I have other processes (web server also displaying photos), and Samba running on the same Pi Zero W without problems. I don't have any keyboard attached; just a HDMI screen. I don't have Xorg installed.
It seems fbi needs to run as sudo; I had thought that I needed to use a chvt command, but it is not clear that it is necessary.
my photos.service is:
[Unit]
Description=display some pictures
After=plymouth-quit-wait.service
[Service]
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
# TTYVTDisallocate=yes
StandardInput=tty
# StandardOutput=tty
ExecStart=sh -c "cd ~User/PhotoFrame; /usr/bin/fbi -a -d /dev/fb0 -t 7 -u *.jpg"
Restart=on-failure
RestartSec=2s
[Install]
WantedBy=multi-user.target
When the machine boots, I get one photo, then a black screen. If I login (ssh), and do a 'pkill fbi', it 'magically' starts working.
p.s. It seems I just have to disable the getty process - that seems to keep the screen in a text mode and prevents fbi from getting the frame buffer.
So, disabling getty services, and using
chvt 1 ...start fbi...
works