Operating system detailed write instructions have been moved here.
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.
Please rememner to change the default pi’s SSH password for your security.
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:
iface lo inet loopback
iface eth0 inet static
(B) Modify /etc/resolv.conf and put your DNS (if unknown, use Google’s 18.104.22.168); for example:
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:
iface lo inet loopback
iface eth0 inet dhcp
iface wlan0 inet dhcp
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
- 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):
hdmi_mode=16 or hdmi_mode=82
Use mc -e /boot/config.txt via SSH.
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:
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.
GET VIDEOS’ SOUND OUT OF THE 3.5mm AUDIO PLUG
Omxplayer doesn’t use default alsa setting (which is set by raspi-config).
By default it is in auto mode, which means if HDMI is connected and EDID reports audio support, then it uses HDMI, otherwise headphones.
Adding -o local or -o hdmi to the omxplayer command line in /etc/rs.conf can be used to override this. Thanks to Marcus.
HIFIBERRY AMP2 COMPATIBILITY
Modify /etc/rs.conf as:
VIDEO_PLAYER=”omxplayer -o alsa:plughw:1 -t off -b –no-osd”
Thanks to Christian Bechter and Brian Drake.
AVOID INFORMATIONAL 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.
Setting DEBUG=”y” in /etc/rs.conf enables the debug mode.
System actions will then be logged on screen and in /var/log/rs.log.
SSH in as root and use mc -e /etc/rs.conf to modify the config file.
I HAVE ISSUES PULLING MEDIA FROM A WINDOWS SHARE
Doube check that the Pi is able to connect to the share and fetch the media: try connecting “manually” via SSH as root:
mount //serverIP/shareName -ousername=guest,password=guest /mnt
Previous command should not raise an error and you should be able to list your media by using:
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.
SSH in as root and use mc -e /usr/lib/rs/class/System.sh as the editor.
USE SMBv2 FOR THE NETWORK SHARE (Raspberry Slideshow < 11)
According to Microsoft’s official documentation, SMBv1 is not installed by default in Windows 10 Fall Creators Update and Windows Server, version 1709. So, in order to be compatible with newer Microsoft operating systems, SMBv2 must be used.
Modify the Samba mounting statement in the file /usr/lib/rs/class/System.sh by adding the vers=2.0 parameter:
mount //serverIP/shareName -ousername=guest,password=guest,vers=2.0 /mnt
SSH in as root and use mc -e /usr/lib/rs/class/System.sh as the editor.
Raspberry Slideshow 11 and newer default to SMB v2. If you have older Windoze systems, please remove the parameter.
Thanks to Alan Tahler.
PLAYING MEDIA ONLY AND ALWAYS FROM THE USB KEY
Ok, I know that – in order not to require the USB key to be 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 the configuration in /etc/rs.conf as:
And comment out the line:
System_cleanTargetFolder $SOURCE_FOLDER $MEDIA_FOLDER
Thanks to Josiah Merola and Scott Schuster for the feedback.
STORING MEDIA/FILES WITHOUT THE NEED FOR THE USB KEY (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 restart Systemd: systemctl restart rs (via SSH as root).
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.
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
ADVANCED PLAYERS’ TWEAKING
You can override slider settings by modifying /etc/rs.conf via SSH as root:
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”
VIDEO_PLAYER=”omxplayer -t off -r -b”
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.
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
-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
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.
-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
−−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,…’
./omxplayer -p -o hdmi test.mkv