Raspberry Slideshow changelog
RASPBERRY SLIDESHOW
About | Download and use | Donation | Faq | Changelog
Version 15.1, maintenance release
- system has been updated to the latest Raspberry Pi OS Buster Lite (formerly known as Raspbian Lite).
Version 15.0, maintenance release
- Dropbox feature restored (it was broken since Dropbox changed their API – again);
- system has been updated to the latest Raspberry Pi OS Lite (formerly known as Raspbian Lite).
Version 14.0
- Refresh of the remote media list rewritten, now performed asynchronously by a pool of “watchdog workers”. This drastically reduces the blank between loops when the refresh feature is enabled;
- Dropbox feature restored (it was broken since Dropbox changed their API);
- Informational output on some TVs when playing videos should be now removed, thanks to Sean Monaghen;
- system has been updated to the latest Raspberry Pi OS Lite (formerly known as Raspbian Lite).
Version 13.1
- the underlying operating system has been updated. This solves an issue with the kernel on the Pi4, causing some fbi issues (many thanks to Torsten Walther);
- splash screen.
- media.conf now replaces all the .txt files for configuring the system behaviour. It’s a breaking change;
- upon timeout reached, only remote changed sources’ media are fetched again (previously, all media of all remote sources were downloaded);
- Web/P images added to whitelisted images’ file formats;
- better logging and prittier debugging output;
- refetching hashes improved and better handling of connection issues (Dropbox improved);
- USB device is unmounted as soon as media have been copied to the internal SD card for a safer USB key removal, idea thanks to Francois Audirac;
- default MEDIA_FOLDER moved to /var/lib/rs;
- the underlying operating system has been updated.
Version 12.0
- the underlying operating system has been updated to Raspbian Buster, which assures the compatibility with the new Raspberry Pi 4 and all the older boards;
- sliding Dropbox-fetched media feature has been added: you can now play images and videos directly from your Dropbox account!;
- username and password can now be set directly in the network-share.txt file for the Windows share feature (previously a trivial modification of the source files was needed);
- debug information is now much more verbose, easing issues discovery;
- improved overall playback fluidity;
- some bugs have been fixed, the most tedious one was that at every refresh timeout (serverlist-refresh.txt) all the media were downloaded, regardless if an upstream file had been modified or not;
- Raspberry Slideshow code is now a proper Debian .deb package and not just a collection of source code files hand-copied across the system.
Version 11.0
- the underlying operating system has been updated to the latest Raspbian Stretch build, which assures the new Raspberry Pi 3b+ compatibility (raspberrypi-bootloader);
- SMB v2 is now used by default for the Windows (Samba) share functionality;
- serverlist-related media fetching does not fire in case of download error.
Version 10.0
- the underlying operating system has been moved to Raspbian Stretch; the overall performance is sensibly better;
- a Systemd unit file now replaces the older SysV init-script for launching the slideshow;
- smoother transitions between images and videos;
- some minor improvements on code.
Version 9.0
- underlying Raspbian Jessie operating system updated (I tried to switch to Raspbian Stretch, but it’s still full of bugs); kernel and bootloader packages have been updated as well;
- omxplayer is now taken from Stretch (APT pinning);
- the way the operating system mounts the inserted USB keys has been changed: usbmount has been removed (because it is now deprecated for the now-stable Debian Stretch) and now Raspberry Slideshow itself is responsible for the mount;
- improvement: all txt config files (as network-share.txt & co) are now pre-processed in order to “clean” non-unix line terminators in one passage (dos2unix);
- if Raspberry Slideshow finds out a .txt.txt filename exists, which of course is an error, it renames the file as .txt;
- debug information is now also stored into a file (/var/log/rs.log);
- bugfix: EXIF rotate did not work for Samba files;
- some minor improvements on code.
Version 8.0
- underlying operating system updated; fbi program now taken from Stretch (APT pinning);
- Raspberry Pi Zero W compatibility;
- Oops: Terminated output supressed when quitting fbi;
- some minor improvements on code.
Version 7.0
- media retrieval from local network folder shares (Windows shares/Samba, for example: //192.168.0.100/myShare;
- cleaner playback;
- faster boot;
- some bugs fixed (images playback).
Version 6.0
- removed linux-wlan-ng package, which interferes with the Raspberry 3 built-in 80211 module. Reinstall in case you use a Raspberry Pi 2;
- no black screen after all images playback while possible (i.e. when no video and no server content refresh is set). Of course images to videos transition and reloading remote resources need a very quick blank;
- optional photos rotation based on their EXIF informations (enable in /etc/rs.conf).
Version 5.0
It’s a complete new operating system which combines and enhances Raspberry Picture Frame Slideshow 4.0 and Raspberry Video 1.0, now both defunct.
- Raspberry Pi 3 compatibility;
- image and video playback;
- images: no more a web-based slider, but a native Linux image slider directly using the framebuffer (speed, stability).
Raspberry Slideshow donation
RASPBERRY SLIDESHOW
About | Download and use | Donation | Faq | Changelog
If you like this project please donate.
As a donor, you will have full access to the unrestricted versions of: Raspberry Digital Signage (web-based digital signaging) and Raspberry Slideshow (image/video slideshow-based digital signaging), which can be deployed on how many devices you wish (no serials’ checks or similar sh*t)!
Full Raspberry Slideshow features:
- SSH remote management;
- no screen blanking active on system (unlimited and uninterrupted playback time).
Donation page:
Thanks to your support, Binary Emotions’ operating systems are growing year after year since 2012!
Download Raspberry Slideshow // documentation
RASPBERRY SLIDESHOW
About | Download and use | Donation | Faq | Changelog
Detailed write instructions are available here (long story short: you can write Raspberry Slideshow with Balena Etcher to a micro-SD card of 8GB minimum – exactly as any other operating system for the Pi). Do not write to a USB key even if you own a Pi 4.
Some default images and videos (taken from the Web and YouTube) are included within the system for a quick functioning example: plug in the Ethernet cable (DHCP) for a full experience.
This “release” build of Raspberry Slideshow is limited is some functionality: please have a look at the donation page for the full access to the unrestricted versions of all of Binary Emotions’ operating systems.
For web-based signage, please have a look at Raspberry Digital Signage instead.
SETUP: HOW TO USE
1. Local media
Put image and/or video files into a USB stick with one only partition (or use its first partition), vFAT/NTFS or ext4 formatted. Files must be put in the root folder (not inside directories).
Plug the USB stick into the Raspberry Pi running Raspberry Slideshow and boot.
That’s all – it’s that easy.
A configuration file, media.conf, can be saved in the USB key, configuring all the system functioning modes explained in the rest of this documentation.
A sample of the file is exemplified below and can be downloaded here.
You can combine any of the media.conf directives with each others and also save media into the USB key directly.
url: https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg
url: https://www.binaryemotions.com/rs-default-media/verona.arena.jpg
# REFRESHABLE CONTENT:
# Server-managed inventory.
serverlist: https://www.binaryemotions.com/rs-default-media/images.txt
# Samba share.
smb.share: //192.168.0.210/share/test
smb.username: admin
smb.password: test
# Dropbox.
dropbox: enable
# Remote media refresh.
# Values yes|no.
# If you 1) use only images and 2) don’t use remote media or don’t need remote media list to be re-read during the playback,
# please set this to no: images playback will be continuous without the blanks needed to check remote changements.
media.refresh: no
2. Fetch remote media
Set up the media.conf file in order to specify LAN or Internet URLs of remote images and/or videos hosted by a Web or FTP server, one per line, like the following example:
url: https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg
url: https://www.binaryemotions.com/rs-default-media/verona.arena.jpg
url: ...
Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot.
All remote media will be copied into the Pi’s internal card and slided (remember to connect Raspberry Slideshow to the network via a wired Ethernet cable, first – for going wirelessly, see the FAQ section).
3. Link to a remote inventory
Set up the media.conf file in order to specify the URL of a remote inventory file. For example:
# Server-managed inventory.
serverlist: https://192.168.0.100/inventory.txt
Make your Web/FTP server host the inventory file (above, a LAN Web server is used), in the example named inventory.txt. inventory.txt file content is a simple list of URLs (one per line), for example:
https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg
https://www.binaryemotions.com/rs-default-media/verona.mpeg
Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot (remember to connect Raspberry Slideshow to the network via a wired Ethernet cable, first).
This way, the media list can be managed server-side: enable the media.refresh directive (see below) and just modify the inventory file hosted by your server. Inventory’s content can be eventually generated by a server-side scripting logic, if needed.
4. Fetch media from a Windows (Samba) share
Set up the media.conf file in order to specify a local network folder share location, username and password like the example below:
# Samba share.
smb.share: //192.168.0.210/share/TEST
smb.username: admin
smb.password: password
Use only alphanumeric chars for the username and password fields.
Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot.
All remote media will be copied into the Pi’s internal card and slided (remember to connect Raspberry Slideshow to the network via a wired Ethernet cable, first).
If you have issues, see the dedicated help FAQ.
5. Fetch media from your Dropbox account
For this feature to work you need to set up dropbox_uploader, first.
SSH in as root (see below)(login as pi and do sudo -i), then launch dropbox_uploader.sh and follow the instructions. The folder APPLICATIONS/YOUR_DROPBOX_APP_NAME/ will be created in your Dropbox space. On languages different than English, “APPLICATIONS” could be translated.
Finally run dropbox_uploader.sh info to verify the login token is correct. Delete the /root/.dropbox_uploader file if you need to start from scratch.
Set up the media.conf file in order to enable the Dropbox feature:
# Dropbox.
dropbox: enable
Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot: every file within APPLICATIONS/YOUR_DROPBOX_APP_NAME/ will be fetched and slided (remember of course to connect Raspberry Slideshow to the network via a wired Ethernet cable, first).
The refresh feature (use with 3., 4. and 5)
Raspberry Slideshow can refresh the media list (inventory linked media, network share and Dropbox content) in order to slide images and videos according to any server change.
You can accomplish this by enabling the refresh directive in the media.conf file, like:
# Remote media refresh.
media.refresh: yes
System is smart enough to actually re-download relative remote media only when it detects changes (i.e. addition or deletion of a file; depending on the remote target, a simple change in the file content cannot be seen – yes, it’s a limitation).
In this case, at the end of each playback cycle, a blank screen will be shown for a few seconds, which is needed to check for remote changes.
Please note. If you 1) use only images and 2) don’t use remote media or don’t need remote media list to be re-read during the playback, please set this to no: images playback will be continuous without the blanks.
Automatic photos rotation
An optional photos rotation based on their EXIF informations is available; enable in /etc/rs.conf via SSH as root (see below). This will increase the boot time.
Using SSH (donors’ build only)
You can perform an SSH login with the following clients:
-
*nix users will make use of the native ssh client – open the terminal emulator and type:
ssh pi@RASPBERRY_IP. - Windows users will use Putty, MobaXTerm, any cygwin-derived program or the Linux Subsystem for Windows (preferred; in this case the syntax is identical as the *nix users’).
Use the following default credentails:
user: pi
password: live
then, once in, type: sudo -i for administrative rights (root)
Please change the default SSH password for your security.
Using scp (donors’ build only)
All the above functioning modes have been presented together with the use of a USB key as the way to input media into the Pi’s filesystem, which is the simplest possible use case for most users.
However, it’s also possible to load media files and the media.conf file via scp (you can use the same clients as when you connect via SSH).
Just put the files in /var/lib/rs/ and restart Systemd:
1. [on the Pi’s shell] Enable the SSH login via root directly: change the password for the root user while SSH’d in as pi (sudo passwd root), then modify /etc/ssh/sshd_config with PermitRootLogin yes (sudo mc -e /etc/ssh/sshd_config). Finally restart ssh (sudo systemctl restart ssh).
2. [on your host system] Copy your files: scp /path/to/my/local/files/* root@RASPBERRY_IP:/var/lib/rs/
While for *nix users this is trivial, for Windows users this step could be a pain, without the right tools. Usage of MobaXTerm or the Linux Subsystem for Windows is advised.
3. [on the Pi’s shell] Restart Raspberry Slideshow: sudo systemctl restart rs
Media file names must be alphanumerical without spaces – thanks to Clive Reynolds for the feedback.
Using sshfs
An advanced way of sharing files with Raspberry Slideshow, and make it play them, could be via sshfs. You can mount the system’s media folder (/var/lib/rs/) as an sshfs mount. Restart the Raspberry Slideshow service after a folder update.
Of course, if you only need to write the config file, just SSH in as root (sudo -i), then modify /var/lib/rs/media.conf with mc or another text editor. scp or sshfs are not required in this case.
Ruleset
The following rules apply.
- All the USB files (images, videos and media.conf) are copied into the internal Raspberry’s SD-CARD:
– if the USB key is inserted: at every reboot, SD-CARD files are updated and hence played according to the key’s content;
– if the USB key is not inserted: at every reboot, media are played from the internal cache. So, after the first run, you can unplug the USB key. - Functioning modes can be combined.
- Media will be displayed in a name-based order, and in the following sequence: remote images, then inventory-related images, network share, Dropbox and then USB contained images, followed by videos. So, images come first and then videos. This behaviour is by design and unmodifiable (please do not ask for).
- Accepted image formats are jpeg (.jpeg or .jpg), png, gif.
- Accepted video formats are the ones played by omxplayer, mostly mp4 files.
It does not work / I have issues/questions
Just have a look at FAQ page.
Here how to enable the DEBUG mode.
Images playback: remove black borders for your screen
Modify the file /boot/config.txt file this way:
disable_overscan=1
hdmi_group=1 OR hdmi_group=2
hdmi_mode=16 OR hdmi_mode=82
Refer to the official documentation for more.
Use mc -e /boot/config.txt via SSH (as root) or mount the SD-CARD into a running operating system and modify the file with a text editor. Thanks to Mark van der Linden, Brunner Armin, Guilherme Simões, René Lenga and Teemu Valkeapää.
Full version
This “release” build of Raspberry Slideshow is limited is some functionality: please have a look at the donation page for the full access to the unrestricted versions of all of Binary Emotions’ operating systems.
Donation page
DONATION
If you like my projects, please donate.
Binary Emotions Bundle
As a donor, you will have full access to the unrestricted versions of: Raspberry Digital Signage (web-based digital signage) with its plugins and Raspberry Slideshow (image/video slideshow-based digital signage), which can be deployed on how many Raspberry Pi devices you wish!
As a gift for PC users, an Ubuntu Server 22.04 port of Raspberry Digital Signage 18.3 package is also available for all donors!
Donation method
Please donate via the following PayPal button for the Bundle with perpetual updates:
Once donation is performed, PayPal will redirect you to the Download URL (from where you can download future updates as well): do not close the PayPal page before the redirect occurs.
Please note that I cannot anymore give email help: due to desperate lack of time I’m going to reply only to emails regarding bug reports.
Raspberry Digital Signage donation
RASPBERRY DIGITAL SIGNAGE
About | Download | Donation | Docs | FAQ | Changelog | Plugins | Ubuntu | Ports
The “release” (demo) build of Raspberry Digital Signage is limited is some functionality: if you like this project please donate.
As a donor, you will have full access to the unrestricted versions of: Raspberry Digital Signage (web-based digital signage) and Raspberry Slideshow (image/video slideshow-based digital signage), which can be deployed on how many devices you wish!
Full Raspberry Digital Signage features:
- SSH remote management;
- no screen blanking active on system (unlimited and uninterrupted display time).
Donation page:
Thanks to your support, Binary Emotions’ operating systems are growing year after year since 2012!
Raspberry Digital Signage plugins
RASPBERRY DIGITAL SIGNAGE
About | Download | Donation | Docs | FAQ | Changelog | Plugins | Ubuntu | Ports
Available plugins: Web Kiosk | WordPress | MagicMirror²
You can reactivate the display of the normal Chromium address bar with the following command via SSH as root:
sed -i 's/chromium-browser --kiosk --home-page/chromium-browser --kiosk-placeholder --home-page/g' /rds/home/rds-user/.rds-xinitrc
systemctl restart rds
This restores the standard address bar to Raspberry Digital Signage and tunes it in a system suitable for usage in web kiosks and multi-user web workstations environments (cafès, offices, schools, hotels, hospitals, libraries), where people can freely surf the web.
Raspberry Digital Signage with this “plugin” replaces the older Raspberry WebKiosk.
Revert with:
sed -i 's/chromium-browser --kiosk-placeholder --home-page/chromium-browser --kiosk --home-page/g' /rds/home/rds-user/.rds-xinitrc
systemctl restart rds
Raspberry Digital Signage admin interface allows you to set up the URL of the web resource to be displayed; it can be an Internet one (https://www.binaryemotions.com), a LAN URL (http://192.168.1.100/booking; http://booking.lan), or even a resource located internally, inside the Raspberry Pi’s filesystem. You know that already.
To simplify the creation/management of an internal site setup, the wordpress plugin adds a WordPress installation to the system (/rds/var/www/wordpress).
Plugin installation
From a SSH terminal of Raspberry Digital Signage (donors’), as root:
Prerequisites
In order to view (and administer) the Pi’s WordPress site from your PC, just add the following line to your PC hosts file:
RaspberryPi_LAN_IP_in_this_moment wordpress
For example:
192.168.0.120 wordpress
This way, your PC will identify the URL http://wordpress as coming from the Pi.
Google for what “hosts” file means if unsure.
Usage
Set up your site on the internal WordPress installation: as a normal WordPress site, by browsing from your PC to http://wordpress.
WordPress admin (http://wordpress/wp-admin/) login is: admin / password.
Remember to change it. Binaryemotions won’t give basis/informations on how to use WordPress.
Make Raspberry Digital Signage display it: from the admin interface, set http://wordpress as the kiosk URL (the plugin’s installation will do it for you, but if you change it, then remember to set up this way).
Since the provided build of WordPress is of course outdated when you will install it, an advised preliminary step is to update it.
Disable network check
Upon boot, the system checks for the availability of the network, in order to display the proper admin interface if no network is available. However, with an internal WordPress installation, the network check could be undesired: in case, modify /rds/home/rds-user/.rds-xinitrc as:
Useful things to do with this WordPress installation
Many. Among the others, a plugin which is worth a try is foyer.tv.
Install it from WordPress plugins page, then create a presentation and put its link in the Raspberry Digital Signage admin interface as the kiosk URL.
Uninstallation
A MagicMirror² for Raspberry Pi plugin
MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant. MagicMirror² is the winner in the official Raspberry Pi magazine’s 50th issue celebration feature voted by the Raspberry Pi community.
This plugin installs in a few steps the MagicMirror² project on top of Raspberry Digital Signage. Code is built by the creator of the original MagicMirror with the incredible help of a growing community of contributors. Please consider a donation for them if you make use of it.
Quite cool actually.
Requirements
This plugin requires Raspberry Digital Signage >= v.18.0.
Plugin installation
From a SSH terminal of Raspberry Digital Signage (donors’), as root:
Customizing
Please see the official documentation.
Config file is located in /rds/home/rds-user/MagicMirror/. Once you modify the config file, restart the signage stack: systemctl restart rds.
Uninstallation
Raspberry Digital Signage changelog
RASPBERRY DIGITAL SIGNAGE
About | Download | Donation | Docs | FAQ | Changelog | Plugins | Ubuntu | Ports
Version 18.3
Moving back to Buster (which sounds good also for a movie name): Raspberry Pi OS Bullseye 32 bit is giving some users a lot of troubles with shared libs and other binaries, as of now, so the Raspberry Digital Signage stack of v18.2 is back-ported to a Buster system. Next time, next try.
Version 18.0
- Chromium settings persistence logic more intuitive;
- the virtual keyboard extension is now disabled by default;
- underlying base system has been updated to the latest Raspberry Pi OS Lite, v.11, Bullseye. Chromium 98 and rpi-chromium-mods 20220111 packages are amongst the others.
Thanks to Stefan de Vries’ feedback, I noticed an obscure problem with X.Org not starting on Pi 3 (maybe the never ending pain in the ass regarding the rootless X run), while, curiously, on Pi 4 it has no problems. A fix has been issued with v.18.2.
Version 17.0
- Chromium settings persistence logic changed: browser is kept back to default settings or last-persisted settings only when user asks for and not upon every reboot (maybe a more balanced behavior in regard to security vs. user experience);
- settable DPI feature returns to work (the feature has been removed in the latest builds for some issues of the underlying OS);
- a new, better, virtual keyboard extension has been installed by default;
- lowercase URLs issue fixed;
- system has been updated to the latest Raspberry Pi OS Lite – this contains important security fixes. Chromium 92 and rpi-chromium-mods 20210212 packages are amongst the others.
In memory of my father Giovanni, 2021-12-13.
Version 16.0
- REST JSON API finally added. The REST API is the foundation upon which to build a central interface (or orchestration scripts as well) to command all your displays;
- compatibility mode added. Kiosk URL is usually loaded within an iframe in order to take advantage of the refresh and scheduling [to be done] features. However, some resources refuse to run within browser iframes (even setting the browser to ignore the X-Frame-Options HTTP response header).
In this case, with the Compatibility mode resource will be loaded as a ‘normal’ page, but of course the aforementioned features won’t work.
Version 15.0
- frontend rewritten and improved (legacy technologies for speed, modern best practices);
- the browser now loads the digital signage URL dynamically as the configuration file changes – and not upon start only; this is the base for managing many Pis from a central interface, which is a (future) use case many users ask for;
- Chromium now makes full use of the GPU – HTML5 videos and modern CSS effects play a lot better (thanks to Ciprian Rusu’s and Diego Vega’s feedbacks);
- Wi-Fi 802.11 networking fixed (networks’ display);
- system has been updated to the latest Raspberry Pi OS Lite (formerly known as Raspbian Lite), with Chromium 88.
Version 14.0
- Screen rotation management completely modified, now it’s up to X.Org, for /boot/config.txt options are getting useless. This was the real big issue of the past build. Thanks to Shawn Gants for the hints;
- audio fixed, thanks to Michal Maruška and Paul Thurn. Oh yes, this too was annoying;
- mouse-pointer-always-disabled setting returns to work (useful for touchscreens). The Matchbox window manager flag seems not to be supported any more, so now Raspberry Digital Signage is using the proper flag when launching X.Org via xinit;
- Chrome auto-starts videos by default (newer Chromium builds refuse to autostart HTML5 videos on page load, otherwise);
- enabled ping for monitoring, thanks to Daniel Miranda for the feedback;
- better open networks handling added;
- system has been updated to the latest Raspberry Pi OS Lite (formerly known as Raspbian Lite), with Chromium 86 and rpi-chromium-mods 20201213 packages amongst the others.
Version 13.2
- DPI settable. This is of course useful for HiDPI screens;
- Chromium issue fix.
Version 13.1
- Plugins-ready;
- New Address Bar removed (because…) tabtiles fixed (and so used as an address bar, too);
- a couple of other fixes;
- operating system updated.
Version 13.0
- PHP/Bash backend completely rewritten and vastly improved – please see docs;
- security much much (much) enhanced;
- the Raspberry Digital Signage stack is now a standard Debian package;
- the default virtual keyboard has moved from the very basic one embedded in the window manager to a Chromium extension (Virtual keyboard – nomen omen..);
- Chrome extensions added by default to the system (Scrollbar Customizer, tabtiles, URL Slideshow);
- the New Address Bar Chrome extension is used for miming a web-kiosk-oriented system;
- user interface refactored;
- boot spash;
- many fixes (amongst them: token/mac address);
- underlying operating system updated to the most recent Raspbian Buster Lite. Chromium browser version is now v.78;
- documentation finally created 😉
- internal WordPress installation has been removed – will be packaged separately as a standard Debian .deb package.
Version 12.1
- a Raspberry Pi 4 compatible build, rebuilt with a Raspbian Buster operating system as its foundation. Some bugs have been fixed as well.
Version 11.2
- the underlying operating system has been updated to the latest Raspbian Stretch build, which assures the new Raspberry Pi 3b+ compatibility (raspberrypi-bootloader);
- Chromium browser (the most important package for this browser-face operating system) has been updated to release 60 (armhf) and rpi-chromium-mods to version 20180409 (armhf);
- a Systemd unit file now replaces the older SysV init-script for launching the digital signage stack (some code modified to comply with this new logic);
- MAC address at URL’s end feature fixed;
- Internal WordPress site viewability fixed.
Version 10.0
- the underlying operating system has been moved to Raspbian Stretch; the overall performance is sensibly better and HTML5 videos play a lot smoother;
- some improvements on code and bug fixes (the most important ones concern WiFi networks’ discovery and local WordPress virtual host, which remains disabled if unused).
Version 9.0
- underlying operating system updated: raspberrypi-bootloader, apache, php, openssl and xorg packages have been updated, among many others;
- Chromium browser is now at v.56, bundled with system’s new SSL certificates – needed after the infamous SHA1 collision event for browser’s correct behaviour with “https” sites;
- Raspberry Pi Zero W compatibility;
- digital signage page can be retrieved from the Internet, LAN or even from localhost (a www folder inside the Raspberry Pi’s SD card). To simplify the management of the internal site setup, RDS 9.0 comes with WordPress already installed (see FAQ for more);
- a little more polished UI (official 7″ R-Pi touchscreen view is painless now);
- more robust prevent-cache technique for Chromium when reloading-web-page hack is enabled (thanks to Marc Giavarra);
- some minor improvements on code.
Version 8.0
- finally, Adobe Flash Player is available for the Raspberry Pi Chromium browser! OK, it’s not the latest and greatest technology in the bunch, but many users ask for;
- operating system updated for Raspberry Pi 2B v1.2 compatibility;
- Ignore X-Frame headers Chromium extension installed, so now it is possible to display Google URLs within frames;
- some bug fixes and improvements.
Version 7.2
- Chrome 51 which features H264 and AVC video acceleration and gains ARM6 (Raspberry Pi 1 and Zero) compatibility!
- F1 key added to blacklisted keys list in the kiosk view.
Version 7.1
Older Raspberry Digital Signage infrastructure has been ported to the new Raspbian Jessie and now it is compatible with the Raspberry Pi 3 boards. So the system has been built from scratch since v1.0.
Write instructions
WRITE INSTRUCTIONS
How to write the operating system’s .img file to a micro-SD card (8GB minimum), suitable for booting a Raspberry Pi microcomputer. A good SDHC class 10 card is highly recommended.
1. Extract the .img file from the downloaded ZIP archive.
2. Write the image by the use of Etcher. Make use of a micro-SD to USB key adapter for the write process.
Raspberry Digital Signage on the Pi 4 can also boot from a USB key, so the previous steps can be performed against a USB key instead of a micro-SD card.
Linux operating system specific
Linux users can also make use of dd.
Run all the following commands as root or with sudo in a terminal emulator:
- plug the SD card/USB key into your PC;
- use
fdisk -l
for locating the device file, for example: /dev/sdx (change for your case); - it’s better to unmount the auto-mounted device’s partitions, if any (
umount /dev/sdx1
,umount /dev/sdx2
, …); - finally write the image:
dd if=path/to/imageFile.img of=/dev/sdx bs=50M
- please note that the dd command must refer to the whole disk: do not use /dev/sdx1 but /dev/sdx, as an example.
First boot
Once you have successfully written the IMG file to the micro-SD/USB key, plug the device into the R-Pi and reboot the microcomputer. When booting from a USB key (Pi 4 only), remove the SD card before.
Notes
- See a coloured square/lighting bolt near the top right corner of the screen? Please have a look at the FAQ.
- Louis DeRobertis reports that some HDMI to VGA converters do not give enough power to the screen – it will remain blank.
- Never halt or reboot the Pi by powering it off (some Raspberry Pi boards are reported to be prone to filesystem corruption); use SSH instead (with the
halt
orreboot
commands).You can of course schedule a cronjob which will turn off or reboot the Pi gracefully as well.
Download Raspberry Digital Signage
RASPBERRY DIGITAL SIGNAGE
About | Download | Donation | Docs | FAQ | Changelog | Plugins | Ubuntu | Ports
Detailed write instructions are available here.
Long story short: you can write Raspberry Digital Signage with Balena Etcher to a micro-SD card or USB key (USB key for Pi 4 only), both of 8GB minimum – exactly as any other operating system for the Pi.
Full version
This “release” build of Raspberry Digital Signage is limited in functionality: if you like this project please donate.
I need to slide media files, not to display a website
For image and video files slideshow, please have a look at Raspberry Slideshow.
Docs / I have issues/questions
Just have a look at the documentation and the FAQ page.
Lampone Pi
LAMPONE PI
An operating system for indestructible Raspberry Pi installations
Lampone Pi is a live Debian GNU/Linux Buster arm64 operating system for the Raspberry Pi microcomputer boards. It’s the only live ISO 9660 operating system for the Pi which can also perform kernel updates. Although it is not affiliated or derived from Raspbian, it’s the homologous of Raspbian Lite (they both derive from Debian), but differently it’s a 64bit live OS. Lampone Pi is at the moment compatible with the Raspberry Pi 3 family.
:: resilient
A Debian GNU/Linux (Buster) derivative with a unique partitioning scheme crafted for maximizing the strength against filesystem corruption: the ISO9660 system partition is read-only by design at filesystem-level. No more of the following…
:: ductile
Persistence partition contains only the diffs from the stock installation; system updates and your data lay there – you can do system backups/snapshots by just copying the files contained within the 4th partition (rw folder).
Download the image
Lampone Pi comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Download Lampone Pi for the Pi 3 family here (img md5: f49cc0620dbbf705ffcc5c3bd4f9becf).
You can write the image file to a micro-SD card (8GB minimum) as you do with any other Raspberry Pi operating system.
Root password: password (console, ssh).
Network: DHCP by default.
Writeable (persistence) filesystem is 1GB in size for this image.
You can resize it to fill the whole SD card’s space with:
printf "d\n4\nn\np\n\n\nn\nw\n" | fdisk /dev/mmcblk0; sync; sleep 10
resize2fs /dev/mmcblk0p4
reboot
Open source
Lampone Pi is a free and open-source software, whose development is hosted on GitHub. Feel free to contribute to the projects.
Technically it’s a Debian arm64 derivative with a unique partitioning scheme crafted for maximizing the strength against filesystem corruption: the ISO9660 system partition (here mmcblk0p2) is read-only by design at filesystem-level. The data persistence partition (here mmcblk0p4) contains only the delta: system updates and your data lay there. mmcblk0p1 is the efi FAT boot partition.
The data partition mounted on top of a read-only system partition makes the resulting operating system resistent to filesystem-corruption. Moreover, you can do complete system backups by just tar-ring only the files contained within that partition.
And why the thrid partition?
The complete “liveng” specification can be found at: liveng.readthedocs.io.
Lampone Pi is a fully functioning operating system, but as of now it’s not fully tuned for the Pi (drivers, GPU acceleration, …): maintainers are needed.
Case study: kernel update
Lampone Pi features a read-only ISO 9660 system partition but it’s able to update the kernel, it’s magic heh?
Here a user demonstration.
Linux lampone-pi 5.5.0-0.bpo.2-arm64 #1 SMP Debian 5.5.17-1~bpo10+1 (2020-04-23) aarch64 GNU/Linuxroot@lampone-pi:~# apt install -y linux-image-5.6.0-0.bpo.2-arm64 linux-headers-5.6.0-0.bpo.2-arm64 -t buster-backports
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
linux-headers-5.6.0-0.bpo.2-common linux-kbuild-5.6
The following NEW packages will be installed:
linux-headers-5.6.0-0.bpo.2-arm64 linux-headers-5.6.0-0.bpo.2-common linux-image-5.6.0-0.bpo.2-arm64 linux-kbuild-5.6
0 upgraded, 4 newly installed, 0 to remove and 47 not upgraded.
Get:1 http://deb.debian.org/debian buster-backports/main arm64 linux-headers-5.6.0-0.bpo.2-common all 5.6.14-2~bpo10+1 [8420 kB]
Get:2 http://deb.debian.org/debian buster-backports/main arm64 linux-kbuild-5.6 arm64 5.6.14-2~bpo10+1 [360 kB]
Get:3 http://deb.debian.org/debian buster-backports/main arm64 linux-headers-5.6.0-0.bpo.2-arm64 arm64 5.6.14-2~bpo10+1 [594 kB]
Get:4 http://deb.debian.org/debian buster-backports/main arm64 linux-image-5.6.0-0.bpo.2-arm64 arm64 5.6.14-2~bpo10+1 [44.4 MB]
Fetched 53.8 MB in 12s (4406 kB/s)
[…]
/etc/kernel/postinst.d/initramfs-tools:
mount: /tmp/_resilientlinux: WARNING: device write-protected, mounted read-only.
update-initramfs: Generating /boot/initrd.img-5.6.0-0.bpo.2-arm64
live-boot: core filesystems devices utils udev blockdev dns.
xorriso 1.5.0 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev ‘stdio:/dev/mmcblk0p3’
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 256m free
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
Added to ISO image: directory ‘/’=’/boot/temp’
xorriso : UPDATE : 3 files added in 1 seconds
xorriso : UPDATE : 3 files added in 1 seconds
xorriso : UPDATE : 13.56% done
xorriso : UPDATE : Thank you for being patient. Working since 12 seconds.
ISO image produced: 38943 sectors
Written to medium : 38943 sectors at LBA 0
Writing to ‘stdio:/dev/mmcblk0p3’ completed successfully.
Setting up linux-headers-5.6.0-0.bpo.2-arm64 (5.6.14-2~bpo10+1) …
root@lampone-pi:~# reboot
root@lampone-pi:~# uname -a
Linux lampone-pi 5.6.0-0.bpo.2-arm64 #1 SMP Debian 5.6.14-2~bpo10+1 (2020-06-09) aarch64 GNU/Linux
As you can see, at every kernel update the third small partition is overwritten. The GRUB bootloader is instructed to boot by default from this partition, because that one always contains the most updated kernel and initrd files.
The second partition’s files are kept at their default state and can be useful in case of recovery or when a complete persistence reset is performed; the big filesystem.squashfs file is saved within this partition so it isn’t touched during kernel updates.
Usage example
Here the Raspberry Digital Signage stack is deployed onto a Lampone Pi operating system instead of using the Raspberry Pi Os/Raspbian backend (showing the Resilient Linux website). This build is not available for download, but it’s a “research” operating system.
Lampone Pi is a fully functioning operating system, but as of now it’s not fully tuned for the Pi (drivers, GPU acceleration, …): maintainers are needed.
Raspberry Digital Signage and Raspberry Slideshow are still based on Raspberry Pi OS (formerly Raspbian).