Inspiration & Copyright & Credits:
https://forum.kodi.tv/
https://slackbuilds.org/repository/1...ltimedia/kodi/
(actually I used an older version of the script - 2015)
Preamble:
- the instructions are covering the build of the latest Kodi Krypton 17.4 Media Player. They are compatible with all the Kodi 17.x versions.
There are a lot of unnecessary things I have disabled with directives for the configure script - if you need them, feel free to enable them and resolve the dependencies before the compilation.
- Kodi, if carefully optimized, is pretty lightweight and runs well on all Raspberry Pi models. The GPU takes most of the load.
- the build is quite complex and filled with auto-make/conf scripts that were mainly developed under Debian/Ubuntu. Compiling it under Slackware needs some preparation and some automation with the help of a script
- Kodi uses 3 internal media players, the default VideoPlayer (HW Accel MMAL), AudioPlayer and OMXPlayer (HW Accel) - for both Audio/Video - if enabled during the Kodi build/compilation. While the first two are also performing pretty good but with higher CPU usage, performance wise I'd strongly suggest to use only the OMXPlayer on Raspberry Pi.
- OMXPlayer will be built internally and will be used by Kodi, unfortunately there is no standalone binary that you can use (at least I couldn't find one)
- it is covering the Kodi compilation&optimization for Raspberry Pi 1/0 (armv6), Raspberry Pi2B (armv7) and Raspberry Pi3B (armv8)
- there is a naming convention needed for helping with the short formatting:
Using "pi1" will imply Slack ARM 14.2 - SoftFloat on armv6 (RaspberryPi 1/0)
Using "pi2" will imply Slack ARM current - HardFloat on armv7 (RaspberryPi 2B)
Using "pi3" will imply Slack ARM current - HardFloat on armv8 (Raspberry Pi3B)
- I don't own any Pi1 & Pi3 and tested this only on Pi0 and Pi2B, however there shouldn't be any issues with the first ones.
- there are some dependencies that I was unable to compile and some source code patches I lost my notes on (failed HDD). I've uploaded these online and the links are ONLY available for 30 days. Feel free to mirror them.
- performance related, I can confirm that the result will be as fast (if not actually faster) compared to the common Kodi bundle releases (Slackware itself is clean & fast).
- Kodi needs some resources, around 200 MB video RAM and 100MB system RAM, therefore put the following settings in your /boot/config.txt
gpu_mem=256
framebuffer_depth=16
#If you're using Analog Audio Out
audio_pwm_mode=2
- for the compilation on pi2 / pi3 (with 4 make jobs) you should temporary set your gpu_mem=32 in /boot/config.txt to avoid getting over the available RAM and writing in the swap partition!
- it is safe to compile Kodi on a SDCard, I did it some 15 times, the only intensive operation is the unpacking of the Kodi source code. However, I advise to set your swappiness to 1 (this should be set by default on SDCard driven boards - put it in /etc/rc.S after enabling swap)
run:
echo 1 > /proc/sys/vm/swappiness
- compilation (work) duration on a Pi2B is around 3 hours (FFmpeg included)!
Getting started:
- preparing the work directories - I choose /kit/kodi-slack-build for consistency and cleanup simplicity
Code:
mkdir -p /kit/kodi-slack-build
mkdir -p /kit/kodi-slack-build/deps
mkdir -p /kit/kodi-slack-build/patches
mkdir -p /kit/kodi-slack-build/tmp
Dependencies: ________________________________
- FFmpeg 3.1.9-Krypton-17.4 follow the guide from:
https://www.linuxquestions.org/quest...on-4175612537/
and use the new version of FFmpeg - IMPERATIVE!
Code:
wget https://github.com/xbmc/FFmpeg/archive/3.1.9-Krypton-17.4.tar.gz
tar -xzpf 3.1.9-Krypton-17.4.tar.gz
cd FFmpeg-3.1.9-Krypton-17.4/
- Java
- Kodi build & Kodi itself relies on Java and you need to have it installed in /opt/java
- for pi2 & pi3 on SlackARM - current HardFloat, take it from Oracle:
http://www.oracle.com/technetwork/ja...s-2187472.html
- click on: JDK 8 download page
- First Table : Java SE Development Kit 8u144 (version will get updated)
- Accept License Agreement
- Download:
Linux ARM 32 Hard Float ABI 77.89 MB jdk-8u144-linux-arm32-vfp-hflt.tar.gz
- or, while still available - take it directly from a funtoo mirror:
Code:
cd /opt
wget http://ftp.osuosl.org/pub/funtoo/distfiles/oracle-java/jdk-8u144-linux-arm32-vfp-hflt.tar.gz
tar -xzpf jdk-8u144-linux-arm32-vfp-hflt.tar.gz
mv jdk1.8.0_144/ java/
- for pi1 on SlackARM 14.2 SoftFloat you can try (doesn't work ATM)
http://www.oracle.com/technetwork/ja...s-2187468.html
-Download:
Linux ARM v6/v7 Soft Float ABI 67.82 MB jdk-7u60-linux-arm-vfp-sflt.tar.gz
> EDIT
- I managed to get the original Oracle jdk arm SoftFloat archive uploaded and available for 30 days:
jdk-7u60-linux-arm-vfp-sflt.tar.gz
MD5: 87754d4b44fd485edb43b6abe9c5f095
http://www100.zippyshare.com/v/lT1AhV7l/file.html
https://www.sendspace.com/file/3xf4ej
- this should be made available in the Slackware arm 14.2 SoftFloat official repository, even if unsupported.
- download, put it in /opt and prepare it:
Code:
cd /opt
tar -xzpf jdk-7u60-linux-arm-vfp-sflt.tar.gz
mv jdk1.7.0_60/ java/
- or try an older - untested - package, it might work
Code:
wget ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-14.0/patches/packages/openjdk-7u13_b20-armhfp-1_slack14.0.txz
- unpack it manually (MidnightCommander):
/usr/lib/java to /opt/java
- try it by running:
/opt/java/bin/java -version
- libbluray - I disabled bluray in the configure, but Kodi won't build without this (cannot create Slack package - libtool issues)
Code:
cd /kit/kodi-slack-build/deps/
git clone http://git.videolan.org/git/libbluray.git
cd libbluray/
git checkout efcde25b3bd58eee9cb96f151b79a585a52a09ff
./bootstrap
./configure --enable-shared --disable-bdjava --disable-bdjava-jar --disable-udf
- edit Makefile and look after the line:
CFLAGS = -g -O2 -Wall....
- add at the end:
pi2:
-march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
pi1:
-march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft
pi3:
-march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard
- on pi1 run make -j 1 V=1
- on pi2/pi3 run make -j 4 V=1
Code:
make install
ldconfig
- libgpg-error-1.27 - never understood why this is necessary, without it Kodi build fails (cannot create Slack package - libtool issues)
Code:
cd /kit/kodi-slack-build/deps/
wget https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.27.tar.bz2
tar -xjpf libgpg-error-1.27.tar.bz2
cd libgpg-error-1.27
./configure --disable-largefile
- on pi1 run make -j 1 V=1
- on pi2/pi3 run make -j 4 V=1
Code:
make install
ldconfig
- lirc - 0.9.2 - you can try newer versions - it's worth compiling Kodi with it, even if you don't plan to use it right away (cannot create Slack package - libtool issues)
Code:
cd /kit/kodi-slack-build/deps/
wget 'https://sourceforge.net/projects/lirc/files/LIRC/0.9.2/lirc-0.9.2.tar.gz'
tar -xzpf lirc-0.9.2.tar.gz
cd lirc-0.9.2/
./configure
- lirc is not really CPU intensive - just optional - edit Makefiles (from all subdirs) and add to the CFLAGS:
CFLAGS = -O2 -g -Wall
pi2:
-march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
pi1:
-march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft
pi3:
-march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard
- on pi1 run make -j 1 V=1
- on pi2/pi3 run make -j 4 V=1
Code:
make install
ldconfig
- create dummy /var/run/lirc/lircd
Code:
mkdir -p /var/run/lirc/
touch /var/run/lirc/lircd
- yajl - needed by Kodi (cannot create Slack package - libtool issues)
Code:
cd /kit/kodi-slack-build/deps/
git clone git://github.com/lloyd/yajl
cd yajl/
./configure
make -j 1 V=1
make install
ldconfig
(DON'T use make -j 4! - it'll break the compilation)
- tinyXML - I couldn't compile it and got the necessary files packed manually in Slackware packages. Original files came from Debian Jessie:
https://packages.debian.org/jessie/libtinyxml-dev
https://packages.debian.org/jessie/libtinyxml2.6.2
- you could try and compile it on your own - create the so lib and document the process
http://www.grinninglizard.com/tinyxml/
https://sourceforge.net/projects/tinyxml/
- Here are the Slackware ARM packages (install with installpkg):
pi1 - tinyXML-2-6-2-Slack-ARMv6-SoftFloat.tgz
MD5: 30ba85f93703b8d6f22b42c273f3e9a8
https://ufile.io/v6tc9
pi2/pi3 - tinyXML-2-2-6-Slack-ARMv7-HardFloat.tgz
MD5: c27a0e70663b00a5a07640ad89b95504
https://ufile.io/884ak
Dependencies END ________________________________
Compiling Kodi:
- get the Kodi source and patches:
Code:
cd /kit/kodi-slack-build/
wget https://github.com/xbmc/xbmc/archive/17.4-Krypton.tar.gz
cd /kit/kodi-slack-build/patches
wget https://slackbuilds.org/slackbuilds/14.2/multimedia/kodi/patches/kodi-texturepacker.patch
wget https://slackbuilds.org/slackbuilds/14.2/multimedia/kodi/patches/xbmc-Krypton-samba-4.0.patch
- if you'd like to run Kodi under a normal user (I'd advise to) and would like to exit Kodi after a timer and put your monitor/TV in sleepmode, then you need to patch the Kodi source code. You'll need to manually unpack 17.4-Krypton.tar.gz, substitute the /xbmc/powermanagement directory with the one online and pack it back into 17.4-Krypton.tar.gz
powermanagement-17-x-MOD.tgz
MD5: cc3965bb21370eb62881e3c7514f8787
https://ufile.io/mb1yh
For some reference:
https://forum.kodi.tv/showthread.php?tid=305872
- create the slack-desc needed by the kodi.SlackBuild (I never understood the proper format nor do I care to understand it

) file in /kit/kodi-slack-build/ with the content you'd like - for example on pi2:
appname: appname Kodi 17.4 FINAL - Powermanagement Fix - Raspberry Pi2 specific compilation
appname:
appname: Slackware 14.2 - current - arm 32 HF - HW Accel
- create the kodi.SlackBuild file in /kit/kodi-slack-build/
- the script below is tuned for pi2 and there are notes to tune it for other Pi platforms (pi1 / pi3)
Code:
#!/bin/sh
# Slackware build script for kodi
# Copyright 2009-2015 Larry Hajali <larryhaja[at]gmail[dot]com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#_____________________________________________________________________
#
# Stripped down and personalized for Raspberry Pi1/2/3 arm by abga
# Still needs some work! Feel free to butcher it further.
#Creating work directory
mkdir -p /kit/kodi-slack-build/tmp/
PRGNAM=kodi
SRCNAM=xbmc
CODNAM=Krypton
VERSION=${VERSION:-17.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/kit/kodi-slack-build/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/kit/kodi-slack-build}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=native -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
# pi1 use the following flags: -O2 -march=armv6zk -mtune=arm1176jzf-s -mfloat-abi=soft
# pi3 use the following flags: -O2 -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard
SLKCFLAGS="-O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION-$CODNAM
tar xvf $CWD/$SRCNAM-$VERSION-$CODNAM.tar.gz 2>/dev/null || tar xvf $CWD/$VERSION-$CODNAM.tar.gz
cd $SRCNAM-$VERSION-$CODNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
export PATH="$PATH:$PWD/tools/depends/native/JsonSchemaBuilder/bin"
#Add JAVA to PATH
export PATH="$PATH:/opt/java/bin"
#pi1 - uncomment! - Slackware ARM 14.2 SoftFloat needs this patch
# Need to fix an autoreconf error with older version of pkg-config - http://forum.kodi.tv/showthread.php?tid=195791
#cp /bin/grep /usr/bin/
#cat /usr/share/aclocal/pkg.m4 > m4/pkg.m4
#echo 'm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])' \
# >> m4/pkg.m4
#sed -i "/autoreconf/s|.*|& -I $PWD/m4|" bootstrap.mk
# Patch for Samba 4.0.
patch -p1 < $CWD/patches/xbmc-Krypton-samba-4.0.patch
#Fix static linking for Texturepacker. Thanks to Gentoo.
# Issue: http://forum.kodi.tv/showthread.php?tid=220407
patch -p0 < $CWD/patches/kodi-texturepacker.patch
./bootstrap
# Prepare crossguid - otherwise kodi build fails
make -C tools/depends/target/crossguid PREFIX=/usr/local
# CONFIGURE SCRIPT tuning:
# For pi1 change: --with-platform=raspberry-pi2 to --with-platform=raspberry-pi
# For pi3 leave unchanged - target: --with-platform=raspberry-pi2
# If lirc is not needed, remove: --with-lirc-device=/var/run/lirc/lircd \
CFLAGS="$SLKCFLAGS $AFPFS_NGFLAGS" \
CXXFLAGS="$SLKCFLAGS $AFPFS_NGFLAGS" \
export C_INCLUDE_PATH=/opt/vc/include:/opt/vc/include/interface/vcos/pthreads
export CPLUS_INCLUDE_PATH=/opt/vc/include:/opt/vc/include/interface/vcos/pthreads
LDFLAGS="-L/opt/vc/lib/" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-optimizations \
--with-ffmpeg=shared \
--disable-sdl \
--enable-external-libraries \
--disable-goom \
--disable-hal \
--disable-xrandr \
--disable-airplay \
--with-platform=raspberry-pi2 \
--enable-player=omxplayer \
--disable-debug \
--with-lirc-device=/var/run/lirc/lircd \
--disable-x11 \
--disable-gl \
--enable-gles \
--disable-libcec \
--disable-nfs \
--disable-optical-drive \
--disable-dvdcss \
--disable-libbluray \
--disable-joystick \
--disable-vtbdecoder \
--disable-vaapi \
--disable-vdpau \
--disable-avahi \
--enable-alsa \
--enable-pulse \
--disable-asap-codec \
--disable-mysql \
--disable-webserver \
--disable-upnp \
--disable-mdnsembedded \
--enable-texturepacker \
--build=$ARCH-slackware-linux
# pi1 only use 1 make job = make -j 1 V=1
make -j 4 V=1
# Wii controller usage. Default is no.
if ! [ "${WII:-no}" = "no" ]; then
make -j 4 eventclients DESTDIR=$PKG WII_EXTRA_OPTS="-DCWIID_OLD"
find $PKG/usr/lib${LIBDIRSUFFIX}/python* -iname "*\.py" -exec chmod 0644 '{}' \;
# Create byte-compiled python files.
python -m compileall $PKG/usr/lib${LIBDIRSUFFIX}/python*/site-packages/$PRGNAM
fi
make install DESTDIR=$PKG
python -m compileall $PKG/usr/share/$PRGNAM/addons/service.xbmc.versioncheck
install -m 0755 tools/depends/native/TexturePacker/bin/TexturePacker $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Install manpages.
mkdir -p $PKG/usr/man/man1
for i in $PRGNAM.bin.1 $PRGNAM.1 $PRGNAM-standalone.1; do
install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
done
if ! [ "${WII:-no}" = "no" ]; then
for i in $PRGNAM-j2meremote.1 $PRGNAM-ps3remote.1 $PRGNAM-wiiremote.1 $PRGNAM-send.1; do
install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
done
fi
gzip -9 $PKG/usr/man/man?/*.?
cp -a tools/EventClients/README.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat /kit/kodi-slack-build/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
# pi1 - uncomment! - Slackware ARM 14.2 SoftFloat clean-up
#rm -f /usr/bin/grep
- make the script executable and start the compilation:
Code:
chmod +x /kit/kodi-slack-build/kodi.SlackBuild
cd /kit/kodi-slack-build/
nohup ./kodi.SlackBuild 2>&1 | tee kodi-build.log &
- on a pi2 wait for around 2-2,5 hours and if everything works well, you'll get the last line in the kodi-buil.log:
Slackware package /kit/kodi-slack-build/kodi-17.4-arm-1_SBo.tgz created.
- that is your Kodi 17.4 Slackware package - backup it somewhere!
- install the package
- add kodi group and user:
groupadd kodi
adduser kodi
Group: kodi
Directory: /home/kodi
Shell: /bin/bash
- add kodi to some necessary groups:
usermod -a -G cdrom,audio,video,plugdev,input,pulse,messagebus kodi
- don't yet start Kodi!
Kodi Addons:
- there are some Kodi specific addons and addons dependencies that need to be first compiled and installed (no Slackware packages due to libtool issues)
Code:
mkdir -p /kit/kodi-slack-build/addons/
- platform - needed by Kodi to be able to load other addons
Code:
cd /kit/kodi-slack-build/addons/
git clone https://github.com/Pulse-Eight/platform.git
cd /kit/kodi-slack-build/addons/platform/
cmake -DCMAKE_INSTALL_PREFIX=/usr
make && make install
ldconfig
- kodi-platform - needed by Kodi to be able to load other addons
Code:
cd /kit/kodi-slack-build/addons/
git clone https://github.com/xbmc/kodi-platform.git
cd /kit/kodi-slack-build/addons/kodi-platform/
cmake -DCMAKE_INSTALL_PREFIX=/usr
make && make install
ldconfig
- visualisation spectrum - not really needed but Kodi is looking after it and eating up 40% CPU! - nice addon for Audio Playback. The git code won't build under Slackware ARM and I lost my notes on what I did to make it work

- unofficial way:
- download Addon MOD:
Addon-visualization-spectrum-MOD.tgz
MD5: 9a1069416b747d9135b65bd4bb5a6374
https://ufile.io/f2s9t
extract in:
/kit/visualization.spectrum
Code:
cd /kit/visualization.spectrum
cmake -DCMAKE_INSTALL_PREFIX=/usr
make && make install
ldconfig
- official way - doesn't build! - try diff to see what I've done - there were some cmake files mods I remember
Code:
cd /kit/kodi-slack-build/addons/
git clone https://github.com/notspiff/visualization.spectrum.git
cd /kit/kodi-slack-build/addons/visualization.spectrum
cmake -DCMAKE_INSTALL_PREFIX=/usr
make && make install
ldconfig
- tvheadend PVR addon - should you need it - the newest commit won't build - the older one 1caa390dc2ba92a7c614819a6fd427d534b09e62 is working well (using it without issues for almost 2 years)
Code:
cd /kit/kodi-slack-build/addons/
git clone https://github.com/kodi-pvr/pvr.hts.git
cd /kit/kodi-slack-build/addons/pvr.hts/
git checkout 1caa390dc2ba92a7c614819a6fd427d534b09e62
cmake -DCMAKE_INSTALL_PREFIX=/usr
make && make install
ldconfig
____________ DONE!________________________________
- now, if you use X and Kodi on the same system, you'll need to switch between the EGL/GLES libs (MESA) that are coming with Slackware ARM and the ones in /opt/vc/
- Kodi 17.x is linking by default to /usr/lib - it is an issue discussed on the Kodi Forums. Kodi will crash if you start it and don't change the symlinks in /usr/lib
- to resolve this I created two small scripts that you should use when using Kodi / or X.
Nevertheless, when you update your system with slackpkg and you see mesa-x.x.x-arm in your list, then stop Kodi, run the script that puts back the symlinks for X and only then start the update!
Put them back at /opt/vc after the update is finished and you'd like to use Kodi.
cat /kit/glx
Code:
#! /bin/sh
cd /usr/lib
rm libEGL.so
ln -s libEGL.so.1.0.0 libEGL.so
rm libGLESv2.so
ln -s libGLESv2.so.2.0.0 libGLESv2.so
cat /kit/glkodi
Code:
#! /bin/sh
cd /usr/lib
rm libEGL.so
ln -s /opt/vc/lib/libEGL.so libEGL.so
rm libGLESv2.so
ln -s /opt/vc/lib/libGLESv2.so libGLESv2.so
- run your glkodi script and switch to user kodi
- launch Kodi for the first time:
Code:
export PATH="$PATH:/opt/java/bin"
/usr/bin/kodi
------Configuration - Optimization--------
-enter the settings menu:
- in the Player Setting section:
- change the setting details (lower left corner) from Basic to Expert
Videos:
Allow Hardware Acceleration = OMXPlayer
- disable MMAL !!!
- adjust display refresh rate = off
Music:
- volume adjustments =off
Movies:
Sync playback to display = off
- in the System Settings - only if you are using the Analog Out of your Pi
- change the setting details (lower left corner) from Basic to Expert
- go to Audio
Audio output device: Pi Analogue
Keep audio device alive = off
Number of channels = 2
Output configuration = fixed
Maintain original volume on downmix = on
Stereo upmix = off
Sample quality = GPU accelerated
Limit sampling rate (kHz) = 44.1
- there is another crucial configuration for smooth playback and low system usage. Turn the de-interlace to BOB! and save it as default for all videos.
You can only access the de-interlace menu (well hidden) from within the contextual menu while playing some media (video). Press Enter on keyboard / OK on remote and the progress bar + some other icons will pop-up. Navigate to the gear symbol in the bottom right corner - settings - choose video settings and then choose Deinterlace Method: MMAL Bob - go down to Set as default for all media, press OK, then Close
- exit Kodi and make a backup of your /home/kodi folder - that's before you mess the configuration up, trust me
Last notes:
- BE ADVISED! Kodi will try to "call home" and update & doing some other interesting things. If you're paranoid, which is a quality nowadays, then just block the kodi user from accessing the internet in your firewall:
/usr/sbin/iptables -I OUTPUT -o eth0 -m owner --uid-owner kodi -j DROP
- on a Pi2B Kodi can play FullHD at 50-60fps with a mean CPU usage of 20%. If you're not achieving this, then you might have done something wrong in the configuration. I personally run Kodi all the time (playing satellite radio/tv in the background) and don't even feel it running (eating system resources), I only close it when I'm compiling something big.
- on a Pi0 Kodi can play FullHD streams at 50-60fps with a mean CPU usage of 100% with some framedrops (which can be caused by not being HardFloat and outputting the sound on Analog Out instead of HDMI - a little overhead), FullHD at 25FPS is running smooth even with tvheadend running on the same box (feeding the FullHD stream to Kodi). I guess that the pi0 will be able to play FullHD content @ 50-60FPS if taken directly from the storage (not a stream).
- Kodi work & configuration directory will be created in:
/home/kodi/.kodi
- in /home/kodi/.kodi/userdata you'll be able to fine tune the configuration with the help of advancedsettings.xml (create it if it doesn't exist)
- my advancedsettings.xml has the following content - telling curl to go to sleep after one try - I don't allow Kodi on the Internet and I had some issues with the timing of DVB streaming with tvheadend (pvr section):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<pvr>
<lingertime>1440</lingertime>
</pvr>
<network>
<curlclienttimeout>1</curlclienttimeout>
<curllowspeedtime>1</curllowspeedtime>
<curlretries>1</curlretries>
</network>
</advancedsettings>
- there are a lot of options you can tune and there is a page describing all of them on the Kodi Wiki
http://kodi.wiki/view/advancedsettings.xml
- also in /home/kodi/.kodi/userdata/ you'll need to have your Lircmap.xml defined if you want to use lirc with Kodi
- in /home/kodi/.kodi/temp the kodi.log will be available - good for troubleshooting
- here are some performance measurements that you might use as reference:
https://forum.kodi.tv/showthread.php...857#pid2580857
Have Fun!
Don't forget to Provide Feedback & Ask Intelligent Questions
