Kodi Steam Deck development
Development:
|
![]() |
![]() |
![]() |
Kodi is easily installable on the Steam Deck via Flatpak, but if you're looking to do development on the Steam Deck, this article is for you.
Environment Setup
The first step is to disable the read-only filesystem. If you're reading this, it's assumed that you know what you're doing. If not, seek safety.
The following steps will allow you to compile Kodi on the Steam Deck:
Disable the read-only filesystem
sudo steamos-readonly disable
Initialize the pacman keyring
sudo pacman-key --init
Populate the pacman keyring with the default Arch Linux and Holo keys
sudo pacman-key --populate archlinux holo
Update the system packages
sudo pacman -Syu
Install required packages
Needed to build Kodi:
sudo pacman -S \ audit \ base-devel \ ccache \ curl \ glibc \ gperf \ jre-openjdk \ krb5 \ libcap-ng \ libglvnd \ libvdpau \ libx11 \ libxext \ libxfixes \ libxrandr \ libxrender \ linux-api-headers \ lld \ mesa \ ncurses \ net-tools \ perl-parse-yapp \ qt5-base \ readline \ rpcsvc-proto \ systemd-libs \ xorgproto \ zlib
Needed to build game and VFS add-ons:
sudo pacman -S \ acl \ alsa-lib \ cmake \ glib2 \ libaio \ libmpeg2 \ libpcap \ libpng \ nasm \ ninja
Disable Baloo
Building Kodi and depends writes a few hundred thousand small files, so it's recommended that you disable the Baloo indexer:
balooctl suspend balooctl disable balooctl purge
Clone Kodi
git clone https://github.com/xbmc/xbmc.git ~/Documents/kodi
Bootstrap depends
cd ~/Documents/kodi/tools/depends ./bootstrap
Configure depends
./configure --prefix="$HOME/kodi-deps" --host=x86_64-steamdeck-linux-gnu
Build depends (this takes about 25 minutes)
make -j8
Create CMake files
Optionally, link with LLD because ld.gold complains about newer DWARF formats:
cd ~/Documents/kodi make -C tools/depends/target/cmakebuildsys CMAKE_EXTRA_ARGUMENTS="-DENABLE_LLD=ON"
Build Kodi (this takes about 18 minutes)
cd build make -j8
Build binary add-ons
make -j8 binary-addons
Create desktop icon
To create a desktop icon for Kodi on the Steam Deck, run the command to generate kodi.desktop
:
cat <<EOL > ~/Desktop/kodi.desktop [Desktop Entry] Version=1.0 Name=Kodi GenericName=Media Center Comment=Manage and view your media Exec=env SSL_CERT_FILE=/home/deck/Documents/kodi/system/certs/cacert.pem /home/deck/Documents/kodi/build/kodi.bin Icon=/home/deck/Documents/kodi/tools/Linux/packaging/media/icon256x256.png Terminal=false Type=Application Categories=AudioVideo;Video;Player;TV; Actions=Fullscreen;Standalone; [Desktop Action Fullscreen] Name=Open in fullscreen Exec=env SSL_CERT_FILE=/home/deck/Documents/kodi/system/certs/cacert.pem /home/deck/Documents/kodi/build/kodi.bin -fs [Desktop Action Standalone] Name=Open in standalone mode Exec=env SSL_CERT_FILE=/home/deck/Documents/kodi/system/certs/cacert.pem /home/deck/Documents/kodi/build/kodi.bin --standalone EOL
After creating the desktop file, make it executable:
chmod +x ~/Desktop/kodi.desktop