About | Download and use | Faq | Changelog

WRITE INSTRUCTIONS

In order to write the IMG file (extract it from the downloaded ZIP file, first) to the Raspberry (micro-)SD card (4GB minimum), Windows users can use Win32DiskImager, while Linux users can make use of dd and Mac OS X users should follow this guide. A SDHC class 10 card is highly recommended. Make use of a (micro-)SD to USB key adapter.

Please note that it is not rare that the latest build of Windows 10 (Creators Update) gives permission/write errors when dealing with USB keys. Don’t worry, it’s just Windows: retry until success.

Help with dd (run as root or with sudo) follows:

  • plug the SD card into your PC;
  • tail -f /var/log/messages or tail -f /var/log/syslog or fdisk -l for locating the assigned device file, for example: /dev/sdx (change for your case);
  • umount /dev/sdx1; umount /dev/sdx2;
  • dd if=path/to/imageFile.img of=/dev/sdx bs=1M (dd always refers to the whole disk, so do not use /dev/sdx1 for example).

Once you have successfully written the IMG file to the SD, you have to plug the card into the R-Pi and restart.

Louis DeRobertis reports that some HDMI to VGA converters do not give enough power to the screen.

I advise you not to unplug the power cable everyday: Raspberry Slideshow has got powerful features to avoid this and to update the viewed media. Anyway, if you intend to power the Pi off I strongly advide you to do via SSH or to schedule a cronjob which will turn off the Pi gracefully.




OPERATING SYSTEM

SSH LOGIN (donors’ version)

You can perform an SSH login using the following credentails.
Putty.exe or similar software is required for Windows users while of course *nix users will make use of the ssh client.

  • user: pi
  • password: live
  • then type: sudo -i for administrative rights

Raspberry IP address is always shown during the boot. Alternatively you can make use of network discovery apps for your smartphone or netdiscover tool for *nix systems to find it out.

NETWORK: HOW TO USE A STATIC IP

Operating system defaults to DHCP.
In order to force a static IP address, follow the steps below.

(PRE) Via SSH as root give:

apt-get --purge remove isc-dhcp-client

This will remove the isc-dhcp-client package is present in your system.

(A) Modify /etc/network/interfaces via SSH (as root), with mc -e editor, and put your desired network parameters; for example:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
gateway 192.168.1.1

(B) Modify /etc/resolv.conf and put your DNS (if unknown, use Google’s 8.8.8.8); for example:

nameserver 8.8.8.8

Then reboot or type ifdown eth0 && sleep5; ifup eth0.
IP address will change.

NETWORK: HOW TO USE A WIRELESS (Wi-Fi) ADAPTER

Operating system defaults to Ethernet (cable)/DHCP.
In order to make use of a Wi-Fi network, follow the steps below.

(A) Use a Raspberry Pi 3/Zero W board (which have got an internal 802.11 Wi-Fi adapter already built-in) or plug a compatible USB Wi-Fi adapter in, in the case you are using Raspberry Pi 1/2/Zero. Just Google for that if uncertain.

If a wlan0 interface is available as output of ifconfig -a command, you can begin setting it as described in point B), otherwise you need to install a proper module for the adapter first. Most modules come already installed in Raspberry Slideshow, but of course a new or different one could be needed. Again, Google for that.

(B) Plug an Ethernet cable into the R-Pi and re/boot; find out the IP associated to your Raspberry Pi and connect to it from your client PC via SSH (as root) in a LAN environment (on the same subnet).

(C) Modify the /etc/network/interfaces file (mc -e /etc/network/interfaces, then F10 to save) and put your network parameters in; for example, with WPA-PSK and DHCP:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "YOUR_ESSID"
wpa-psk "YOUR_WPA_PASSWORD"

If you do not know the name of your wireless network, you can find the above YOUR_ESSID parameter with the iwlist scanning command. You also should run that command in order to see if your wlan0 interface is able to “see” your Wi-Fi router/access point, first.

Use wireless-essid instead of wpa-ssid and wireless-key instead of wpa-psk directives in case of WEP encryption (deprecated, i.e. don’t do it, don’t use WEP).

Then type in:

ifdown wlan0 && sleep5; ifup wlan0

If no error is shown, you can verify everything is ok with ifconfig -a (make sure your wlan0 interface has an IP address associated).

If something is going wrong, you may need to debug what’s happening. Install the syslog first, with apt-get update && apt-get install rsyslog and then, in another terminal session, before doing a new attempt, launch:

tail -f /var/log/syslog

GOT A LARGE SD CARD? HOW TO EXPAND FILESYSTEM

The operating system’s filesystem size is about 4GB. If you own a larger SD card, it’s advised to enlarge the filesystem in order to use the entire space.

Just install and use raspi-config:

  • login as pi user via SSH, then sudo -i;
  • apt-get update && apt-get install raspi-config
  • raspi-config
  • follow easy instructions.

1920 x 1080p HOWTO

Modify /boot/config.txt file this way (thanks to Mark van der Linden, Brunner Armin and Guilherme Simões):

disable_overscan=1
hdmi_group=1
hdmi_mode=16 or hdmi_mode=82

Use mc -e /boot/config.txt via SSH.

SCREEN ROTATION

Modify /boot/config.txt file with one of the following values:

display_rotate=0 (it means: normal, no rotation)
display_rotate=1 (90 degrees)
display_rotate=2 (180 degrees)
display_rotate=3 (270 degrees)
display_rotate=0x10000 (horizontal flip)
display_rotate=0x20000 (vertical flip)

Use mc -e /boot/config.txt via SSH.

UPDATE THE UDERLYING RASPBIAN OPERATING SYSTEM

Login via SSH as root, then:

apt-get update
apt-get dist-upgrade

WTF IS THAT COLOURED SQUARE NEAR THE TOP-RIGHT CORNER?

If you see a coloured square near the top-right corner of the screen, your Raspberry Pi is saying the power supply is not powerful enough. Just use the official one for example.

AUDIO TROUBLESHOOTING

Please have a look at the following resources: raspberrypi.org and scphillips.com.

AVOID OUTPUT ON TV WHEN PLAYING VIDEOS

When using a TV as the screen, the video playback ends showing the output “HMDI 1920×1080” on the TV. Best way to avoid this tedious issue should be supressing TV output, but not always it is possible.

While having videos at the same resolution, you can try setting the Linux framebuffer resolution equal to the videos resolution. Please have al look at: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=54939.

If you slide one video only, you can instruct omxplayer to loop the video, see later on.

 

PLAYBACK-RELATED

PLAYING MEDIA ONLY AND ALWAYS FROM THE USB KEY

Ok, I know that – in order not to require the USB key always plugged in – before the playback, media is copied into the internal SD card.
Smart, but I want RS to play from my veeery big USB key. How to?

Just modify first lines of /etc/rs.conf (see later) as:

MEDIA_FOLDER="/m/usb0"
SOURCE_FOLDER="/m"

USE A DIFFERENT NETWORK SHARE USER (NOT GUEST)

If you have a network share accessible with username/password (and not guest/guest), you can easily modify Raspberry Slideshow to connect to that share with those credentials.
Just modify the file /usr/lib/rs/class/System.sh, “Bash methods” System_populateTempFolderFromSambaShare() and System_getSambaShareContentHash().
Please do not create backup files in the /usr/lib/rs/class folder because every Bash file in that folder will be run.

Connect using SSH as root and use mc -e /usr/lib/rs/class/System.sh as the editor.

STORING MEDIA VIA THE NETWORK

“I am only interested in displaying the media I manually copy into the Raspberry Pi running Raspberry Slideshow via the network, not via a USB key”.

You can upload files using scp: just put files in /usr/lib/rs/imgs and reboot (via SSH).

FIXED – unable to load videos from a server

IIS WEBSERVER ISSUES

If you are using Windows Server (ok, it’s your fault ;), you have to edit IIS to allow .mp4 files as a MIME type, otherwise it will be impossible for Raspberry Slideshow to load videos from the server. Thanks to Justin Kanengieter.

 

SLIDER

FIXING GREEN SCREEN IN VIDEO PLAYBACK
FIXING VIDEOS ARE PLAYING ONLY ONCE

If you experience a green screen while playing videos, set gpu_mem=128 in /boot/config.txt. Thanks to Pete Cheyne.

CHANGE TIMEOUT & TRANSITION (BLEND) TIME
RANDMIZE IMAGES PLAYBACK
ENABLE/DIABLE EXIF ROTATION
ENABLE/DISBALE LOGGING
ADVANCED PLAYERS’ TWEAKING

You can override slider settings by modifying /etc/rs.conf via SSH as root:

TRANSITION_TIME_S=10 # Images transition time.
BLEND_TIME_MS=600 # Images blend timing.
IMAGE_PLAYER="fbi -autozoom -norandom -timeout $TRANSITION_TIME_S -noverbose
              -blend $BLEND_TIME_MS -vt 1 -readahead -cachemem 20 -once -list"
IMAGE_PLAYER_IMAGES_ONLY="fbi -autozoom -norandom -timeout $TRANSITION_TIME_S
              -noverbose -blend $BLEND_TIME_MS -vt 1 -readahead -cachemem 100 -list"
EXIF_ROTATE="n"

VIDEO_PLAYER="omxplayer -t off -r -b"

DEBUG="n"

 

For example you can set the image slider to randomize images playback (-random flag) or enable the EXIF rotation; if you need a quicker setup (both when booting and when refreshing server content) keep it disabled. If you slide camera photos, keep it enabled.

For images, change both IMAGE_PLAYER* lines.

Have a look at fbi and omxplayer man pages for help. Help outputs follow.

fbi


This program displays images using the Linux framebuffer device.
Supported formats: PhotoCD, jpeg, ppm, gif, tiff, xwd, bmp, png,
webp. It tries to use ImageMagick's convert for unknown file formats.

usage: fbi [ options ] file1 file2 ... fileN

-h -help print this help text
-V -version print fbi version number
-store write cmd line args to config file
-l -list read image filelist from file
-P -text switch into text reading mode
-a -autozoom automagically pick useful zoom factor
-(no)autoup like the above, but upscale only
-(no)autodown like the above, but downscale only
-(no)fitwidth use width only for autoscaling
-v -(no)verbose show filenames all the time
-u -(no)random show files in a random order
-1 -(no)once don't loop (for use with -t)
-(no)comments display image comments
-e -(no)edit enable editing commands (see man page)
-(no)backup create backup files when editing
-(no)preserve preserve timestamps when editing
-(no)readahead read ahead images into cache
-cachemem image cache size in megabytes
-blend image blend time in miliseconds
-T -vt start on virtual console
-s -scroll scroll image by pixels
-t -timeout load next image after sec without user input
-r -resolution pick PhotoCD resolution (1..5)
-g -gamma set display gamma (doesn't work on all hardware)
-f -font use font (anything fontconfig accepts)
-d -device use framebuffer device
-m -mode use video mode (from /etc/fb.modes)

Large images can be scrolled using the cursor keys. Zoom in/out
works with '+' and '-'. Use ESC or 'q' to quit. Space and PgDn
show the next, PgUp shows the previous image. Jumping to a image
works with g. Return acts like Space but additionally prints
prints the filename of the currently displayed image to stdout.

 

omxplayer


-h --help Print this help
-v --version Print version info
-k --keys Print key bindings
-n --aidx index Audio stream index : e.g. 1
-o --adev device Audio out device : e.g. hdmi/local/both
-i --info Dump stream format and exit
-I --with-info dump stream format before playback
-s --stats Pts and buffer stats
-p --passthrough Audio passthrough
-d --deinterlace Force deinterlacing
--nodeinterlace Force no deinterlacing
--nativedeinterlace let display handle interlace
--anaglyph type convert 3d to anaglyph
--advanced Allow advanced deinterlace for HD videos
-w --hw Hw audio decoding
-3 --3d mode Switch tv into 3d mode (e.g. SBS/TB)
-M --allow-mvc Allow decoding of both views of MVC stereo stream
-y --hdmiclocksync Display refresh rate to match video (default)
-z --nohdmiclocksync Do not adjust display refresh rate to match video
-t --sid index Show subtitle with index
-r --refresh Adjust framerate/resolution to video
-g --genlog Generate log file
-l --pos n Start position (hh:mm:ss)
-b --blank[=0xAARRGGBB] Set the video background color to black (or optional ARGB value)
--loop Loop file. Ignored if file not seekable
--no-boost-on-downmix Don't boost volume when downmixing
--vol n set initial volume in millibels (default 0)
--amp n set initial amplification in millibels (default 0)
--no-osd Do not display status information on screen
--no-keys Disable keyboard input (prevents hangs for certain TTYs)
--subtitles path External subtitles in UTF-8 srt format
--font path Default: /usr/share/fonts/truetype/freefont/FreeSans.ttf
--italic-font path Default: /usr/share/fonts/truetype/freefont/FreeSansOblique.ttf
--font-size size Font size in 1/1000 screen height (default: 55)
--align left/center Subtitle alignment (default: left)
--no-ghost-box No semitransparent boxes behind subtitles
--lines n Number of lines in the subtitle buffer (default: 3)
--win 'x1 y1 x2 y2' Set position of video window
--win x1,y1,x2,y2 Set position of video window
--crop 'x1 y1 x2 y2' Set crop area for input video
--crop x1,y1,x2,y2 Set crop area for input video
--aspect-mode type Letterbox, fill, stretch. Default: stretch if win is specified, letterbox otherwise
--audio_fifo n Size of audio output fifo in seconds
--video_fifo n Size of video output fifo in MB
--audio_queue n Size of audio input queue in MB
--video_queue n Size of video input queue in MB
--threshold n Amount of buffered data required to finish buffering [s]
--timeout n Timeout for stalled file/network operations (default 10s)
--orientation n Set orientation of video (0, 90, 180 or 270)
--fps n Set fps of video where timestamps are not present
--live Set for live tv or vod type stream
--layout Set output speaker layout (e.g. 5.1)
--dbus_name name default: org.mpris.MediaPlayer2.omxplayer
--key-config Uses key bindings in instead of the default
--alpha Set video transparency (0..255)
--layer n Set video render layer number (higher numbers are on top)
--display n Set display to output to
--cookie 'cookie' Send specified cookie as part of HTTP requests
--user-agent 'ua' Send specified User-Agent as part of HTTP requests
--lavfdopts 'opts' Options passed to libavformat, e.g. 'probesize:250000,...'
--avdict 'opts' Options passed to demuxer, e.g., 'rtsp_transport:tcp,...'

For example:

./omxplayer -p -o hdmi test.mkv