From a756ef5e521e5bbb75dabfa28a702a927eac90dc Mon Sep 17 00:00:00 2001 From: Sam Hadow Date: Sat, 27 Dec 2025 16:03:29 +0100 Subject: [PATCH] pi 5 kodi post --- ...-27-installing-kodi-on-a-raspberry-pi-5.md | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 _posts/2025-12-27-installing-kodi-on-a-raspberry-pi-5.md diff --git a/_posts/2025-12-27-installing-kodi-on-a-raspberry-pi-5.md b/_posts/2025-12-27-installing-kodi-on-a-raspberry-pi-5.md new file mode 100644 index 0000000..357541d --- /dev/null +++ b/_posts/2025-12-27-installing-kodi-on-a-raspberry-pi-5.md @@ -0,0 +1,107 @@ +--- +layout: post +author: Sam Hadow +tags: sysadmin +--- + +I recently got a raspberry Pi 5 with 8GB of RAM and wanted to install Kodi on it. OSMC isn't available for the Pi 5, and I didn't want to use LibreELEC to still have a debian base and be able to run other scripts and services from the Pi. In this blog post I'll show you how I did this installation. + +# steps + +## 1. Preparing the base system + +I decided to go with a minimal install of debian 13. In raspberry Pi imager it's in the "Raspberry Pi OS (other)" category. + +![1]( /assets/img/2025-12-27-installing-kodi-on-a-raspberry-pi-5/1.png ) + +![2]( /assets/img/2025-12-27-installing-kodi-on-a-raspberry-pi-5/2.png ) + +Unfortunately with the Pi 5, the configuration from the imager letting you configure a user and the SSH when flashing the micro SD card seems to be broken so I configured it manually after flashing the Pi 5 when booting it for the first time. It asks for the user creation and password and then I just enabled SSH with: +```bash +systemctl enable --now ssh +``` +(the service is ssh and not sshd on the Pi, it's not a typo) + +## 2. installing the required packages + +First we need to install kodi and some packages to have sound and a minimal GUI support. + +```bash +sudo apt install kodi weston mesa-utils mesa-vulkan-drivers pipewire wireplumber pulseaudio-utils +``` + +## 3. running Kodi + +1. I first created a dedicated user and added it to the required groups to run Kodi as a systemd service: +```bash +sudo useradd -m kodi +sudo usermod -aG video,audio,input,render kodi +``` + +2. Then I enabled autologin for kodi on TTY1 +```bash +sudo mkdir -p /etc/systemd/system/getty@tty1.service.d +``` +and in this folder I created this file: +```ini +#/etc/systemd/system/getty@tty1.service.d/autologin.conf +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin kodi --noclear %I $TERM +``` + +3. Then I enabled lingering for Kodi (which is needed to start user systemd services even without a shell session) +```bash +sudo loginctl enable-linger kodi +``` + +4. Finally I created and enabled the service to start Kodi on boot: + +First creating the folder: +```bash +sudo mkdir -p /home/kodi/.config/systemd/user +``` +And then a service unit file: +```ini +#/home/kodi/.config/systemd/user/kodi.service +[Unit] +Description=Kodi Media Center (DRM/GBM) +After=systemd-user-sessions.service +Wants=systemd-user-sessions.service + +[Service] +ExecStart=/usr/bin/kodi \ + --standalone \ + --drm \ + --tty=/dev/tty1 + +Restart=on-failure +RestartSec=3 + +[Install] +WantedBy=default.target +``` + +After this making sure the ownership is correct: +```bash +sudo chown -R kodi:kodi /home/kodi +``` + +And then to enable the service: +```bash +sudo systemctl --user --machine=kodi@.host daemon-reload +sudo systemctl --user --machine=kodi@.host enable kodi +``` + +And Finally: +```bash +sudo reboot +``` + +## 4. checking logs + +To check Kodi related logs, we can use the following command: +```bash +sudo journalctl _UID=$(id -u kodi) +``` +It'll show all the journalctl logs from the kodi user.