Raspberry Pi 3 Media Center with LibreELEC, Kodi and Moonlight

Goal

The Raspberry Pi 3 Model B v1.2 will be used as a TV-connected media center and streaming receiver.

Features:

  • Direct boot into LibreELEC
  • Media playback on TV
  • USB remote control support
  • Screen streaming from Mac and Linux PCs in 1080p
  • Moonlight as streaming client
  • Sunshine on Mac/Linux as streaming server

Architecture

Mac / Linux PC
  -> Sunshine
   -> WLAN / LAN
    -> Raspberry Pi 3 with LibreELEC + Moonlight
     -> HDMI ORION TV

Hardware

  • Raspberry Pi 3 Model B v1.2
  • MicroSD card 32 GB (Samsung)
  • Raspberry Pi power supply(maybe USB from TV)
  • HDMI cable
  • ORION TV HDMI input 2
  • USB remote control with USB receiver
  • Optional: Ethernet cable for more stable streaming

Software

Important: Sunshine <link> runs on the sending device as the streaming server. Moonlight runs on the Raspberry Pi as the streaming client.

Preparation

Step 1: Download & Prepare LibreELEC

diskutil list

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.0 GB    disk4
   1:             Windows_FAT_32 bootfs                  536.9 MB   disk4s1
   2:                      Linux                         31.5 GB    disk4s2

❯ diskutil unmountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
❯ cd Downloads
❯ gzip -dc LibreELEC-RPi2.arm-12.2.1.img.gz | sudo dd of=/dev/rdisk4 bs=4m status=progress
Password:
  570425344 bytes (570 MB, 544 MiB) transferred 44.265s, 13 MB/s
0+17425 records in
137+1 records out
575668224 bytes transferred in 44.859535 secs (12832684 bytes/sec)
❯ sync
❯ diskutil eject /dev/disk4
Disk /dev/disk4 ejected

Step 2: Boot the Raspberry Pi

  • Insert the MicroSD card into the Raspberry Pi
  • Connect HDMI to the TV
  • Plug in the USB receiver of the remote control
  • Connect power supply
  • Boot the Raspberry Pi

During first startup:

  • Select language
  • Configure hostname, e.g. libreelec-on-orion-tv
  • Configure WLAN

Step 3: Verify Network

In LibreELEC:

Settings

  -> LibreELEC

  -> Connections

Step 4: Connect and install plugins..

go to the setting gear in the Kodi menu: choose LibreELEC > Services > SSH > Set SSH Passwort and Enable SSH

connect

ssh -o PubkeyAuthentication=no -o PreferredAuthentications=password root@<ip>

<ip> is visible ein the setting gear in the Kodi menu System info and then IP address

libreelec-on-orion-tv:~ # which moonlight
libreelec-on-orion-tv:~ # uname -a
Linux libreelec-on-orion-tv 6.12.56 #1 SMP Sat Nov  1 10:10:05 UTC 2025 armv7l GNU/Linux
libreelec-on-orion-tv:~ # cat /etc/os-release
NAME="LibreELEC"
VERSION="12.2.1"
ID="libreelec"
VERSION_ID="12.2"
PRETTY_NAME="LibreELEC (official): 12.2.1"
HOME_URL="https://libreelec.tv"
BUG_REPORT_URL="https://github.com/LibreELEC/LibreELEC.tv"
BUILD_ID="6209f5a3b067c45fbf527286dd84ee483294b46a"
LIBREELEC_ARCH="RPi2.arm"
LIBREELEC_BUILD="official"
LIBREELEC_PROJECT="RPi"
LIBREELEC_DEVICE="RPi2"

libreelec-on-orion-tv:~ # ping github.com
PING github.com (140.82.112.4): 56 data bytes
64 bytes from 140.82.112.4: seq=0 ttl=50 time=139.797 ms
64 bytes from 140.82.112.4: seq=1 ttl=50 time=122.406 ms
64 bytes from 140.82.112.4: seq=2 ttl=50 time=129.423 ms
^C
--- github.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 122.406/130.542/139.797 ms
libreelec-on-orion-tv:~ #
libreelec-on-orion-tv:~ # which wget
/usr/bin/wget

dl the latest Moonlight version from: https://github.com/moonlight-stream/moonlight-embedded/releases

https://github.com/moonlight-stream/moonlight-embedded/releases/tag/v2.7.1

libreelec-on-orion-tv:~ # wget https://github.com/moonlight-stream/moonlight-embedded/releases/download/v2.7.1/moonlight-embedded-2.7.1.tar.xz
Connecting to github.com (140.82.112.3:443)
Connecting to release-assets.githubusercontent.com (185.199.108.133:443)
saving to 'moonlight-embedded-2.7.1.tar.xz'
moonlight-embedded-2 100% |**************************************************************************************************************|  334k  0:00:00 ETA
'moonlight-embedded-2.7.1.tar.xz' saved
libreelec-on-orion-tv:~ # tar -xf moonlight-embedded-2.7.1.tar.xz

libreelec-on-orion-tv:~ # ls
CMakeLists.txt                   moonlight-embedded-2.7.1.tar.xz
LICENSE                          moonlight.conf
README.md                        music
backup                           picons
cmake                            pictures
docs                             recordings
downloads                        screenshots
emulators                        src
libgamestream                    third_party
logfiles                         tvshows
lost+found                       videos

Reinstall OS:

❯ xzcat 2026-04-21-raspios-trixie-arm64.img.xz | sudo dd of=/dev/rdisk4 bs=4m status=progress
Password:
  6501171200 bytes (6501 MB, 6200 MiB) transferred 201.184s, 32 MB/s
0+158460 records in
1550+0 records out
6501171200 bytes transferred in 201.193332 secs (32313055 bytes/sec)
❯ sync
❯ diskutil eject /dev/disk4

Setup Pi OS then: user afra PW:

sudo apt update && sudo apt upgrade -y
sudo apt install kodi moonlight-qt -y
Drucken/exportieren