This repo contains the Steam Link port of Kodi.
- Download the latest release from https://github.com/garbear/kodi-steamlink/releases.
- Copy archive to the folder
steamlink/apps/
on a USB drive (FAT32 or EXT4). - Insert the drive into the Steam Link and power-cycle. It will take approximately 2 minutes to install the 80MB archive.
- When the Steam Link boots, Kodi should appear on the home screen.
To build Kodi, follow the steps at: https://github.com/ValveSoftware/steamlink-sdk/tree/master/examples/kodi
Kodi may crash when launched from the Steam Link homescreen due to a PulseAudio conflict. Until this is fixed, Kodi must be run from the command line.
- Create a non-empty file on the USB drive at
steamlink/config/system/enable_ssh.txt
- Insert the drive and power on the Steam Link
- SSH into the Steam Link as root using an SSH client, e.g.
ssh [email protected]
- The password is
steamlink123
If you need to test Kodi on a build different from the latest public beta, follow these steps:
- Place the build number (e.g.
600
) in a text file on a USB drive atsteamlink/config/system/update_branch.txt
- Insert the drive and power on the Steam Link
To revert back to the latest public beta build:
- Place the word
beta
in a text file on a USB drive atsteamlink/config/system/update_branch.txt
- Insert the drive and power on the Steam Link
If you are on the public build (566), enter the commands:
killall powermanager.sh powermanager app_run.sh shell
cd /home/apps/kodi && ./kodi.sh
If you are on the beta build (597 or later), enter the commands:
killall powermanager.sh powermanager shell.sh shell
cd /home/apps/kodi && ./kodi.sh
If you launched Kodi from the Steam Link launcher, use the command:
tail -F /home/apps/kodi/.home/.kodi/temp/kodi.log
If you launched Kodi from the command line, use the command:
tail -F /home/steam/.kodi/temp/kodi.log
To get a stack trace, run gdbserver
on the Steam Link and connect via local gdb
. This is explained here: https://github.com/ValveSoftware/steamlink-sdk
build_steamlink.sh
can be modified to make this easier. See this commit and this commit.
Before building Kodi, modify the startup script to run gdbserver
. Find the line with the Kodi command and prefix it with gdbserver :8080
like this.
To track down a memory corruption bug, perform a "depends" build of Kodi. This will use the same libraries as the Steam Link instead of relying on system libraries.
First, create a writable folder /opt/kodi-deps
. Then clone this repo and run:
cd tools/depends
./bootstrap
./configure --with-toolchain=/usr --prefix=/opt/kodi-deps --host=x86_64-linux-gnu
make
cd ../..
Before compiling Kodi, modify the startup script to launch Kodi under Valgrind. You should prefix the Kodi command with valgrind --leak-check=yes
like this.
Next, compile Kodi via CMake:
mkdir build
cd build
/opt/kodi-deps/x86_64-linux-gnu-native/bin/cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=/opt/kodi-deps/x86_64-linux-gnu/share/Toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=$HOME/kodi-steamlink \
../project/cmake
make
make install
You can substitute the installation folder ($HOME/kodi-steamlink
) for a prefix of your choice.
Finally, run the resulting startup script at $HOME/kodi-steamlink/bin/kodi
.