Artikelkategori: Program
Skriven av minime 2021-02-26 23:56
url: 
Redigerad av: minime  2023-04-24 21:07:56

Installera Kodi-19.5 (Matrix) på Slackware 15.0 och Current i*86/64

Tänkte försöka beskriva hur man installerar Kodi-19.5 på Slackware-15
(OBS: Detta går inte att installera i Slackware-14.2 p.g.a att det saknas allt för många paket i systemet så som Wayland med mera... Allt är helt enkelt föråldrat.
Kodi kräver en kompilator som har stöd för C++14, d.v.s. gcc >= 4.9 eller clang >= 3.4).

Redigerat 15/7-22 MDKDIO (Div. stavfel korrigerade).

/MDKDIO

Följande paket från SBo (Slackbuilds) behövs för att kompilera Kodi:

  • jdk
  • libass
  • tinyxml
  • libmicrohttpd
  • rapidjson
  • pycryptodomex
  • libnfs
  • libdvdcss
  • platform
  • libcec
  • dav1d

Installera jdk

JDK kan du inte installera så enkelt via sbopkg p.g.a att man måste logga in på oracles sida för att ladda ner källkoden.

Ladda ner paket här:

jdk-8u371-linux-i586.tar.gz (32-bit)
jdk-8u371-linux-x64.tar.gz (64-bit)

Gör sedan följande för att packa upp, skapa och installera JDK:

# cd /usr/src
# wget https://slackbuilds.org/slackbuilds/15.0/development/jdk.tar.gz
# tar -xf jdk.tar.gz
# rm -rf jdk.tar.gz
# cd jdk

Notera (username), vilken användare du är inloggad som och laddade ner jdk source med.

OBS! I jdk.SlackBuild filen är det angivet version 8u321, redigera jdk.SlackBuild och ange 8u371 i stället.

# mv ~username/Downloads/jdk-8u371-linux-*.tar.gz ./
# ./jdk.SlackBuild
# installpkg /tmp/jdk-8u371-*-1_SBo.tgz

Skapa java miljön och kolla att java är installerat på systemet:

# export JAVA_HOME=/usr/lib64/java
# export MANPATH="${MANPATH}:${JAVA_HOME}/man"
# export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
# java -version

Systemet ska då visa något liknande:

java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b02, mixed mode)

Resterande paket kan enkelt installeras med hjälp av sbopkg som finns att ladda ner här.
Obeservera att SBo officiellt inte är supporterat för current, men fungerar utan problem för just detta ändamål.
Ett alternativ är att man installerar dessa beroende separat och även kör de senaste versionerna.

Installera SBopkg

Gå först in i "/usr/src"

# cd /usr/src

Laddar ner sbokpg:

# wget https://github.com/sbopkg/sbopkg/releases/download/0.38.2/sbopkg-0.38.2-noarch-1_wsr.tgz

och installera sbopkg:

# installpkg sbopkg-0.38.2-noarch-1_wsr.tgz

Ladda ner och installera paket från SBo

# sbopkg -i "libass tinyxml libmicrohttpd rapidjson pycryptodomex libnfs libdvdcss platform libcec dav1d"

Bygg, skapa kodi-paketet och installera kodi

Ladda ner kodi buildscript:

# wget https://www.slackwarelinux.se/slackbuilds/kodi-19.5.tar.xz

Packa upp buildscriptet:

# tar -xf kodi-19.5.tar.xz

Städa upp lite:

# rm -rf kodi-19.5.tar.xz

Gå in i kodi mappen:

# cd kodi-19

Scriptet laddar själv ner hela source koden från git, så detta behöver du inte göra själv.
Observera dock att sourcen ligger på över 700 MB så det är ganska mycket data.
Varför inte ta ner tar filern istället? Det verkar som om addons är borttagen från tar filen.
Så vill du bygga ex. inputstream.adaptive addons är detta smidigast så.
inputstream.adaptive behövs för att kunna se på stream, så som netflix och C-More.

Kompilera och bygg kodi paketet:

# ./kodi.SlackBuild

När byggandet är klart så är det bara att installera kodi:

# installpkg /tmp/kodi-19.5-*-1_SLse.tgz
# installpkg /tmp/kodi-addons-19.5-*-1_SLse.tgz

Tweak

En del enheter kan ha problem med att ljudet ibland inte alltid synkar eller bilden halkar efter och laggar.
Själv hade jag väldiga problem med att titta på streams med netflix.
Med dessa inställningarna så flöt det hela på bättre för min del.

Gå in i ~ditt_användarnamn/.kodi/userdata, ex:

~$ cd
~$ cd .kodi/userdata
~$ nano advancedsettings.xml

Och lägg sedan till följande rader:

<advancedsettings>
 <cache>
    <memorysize>104857600</memorysize>
  </cache>
</advancedsettings>

Spara och starta om kodi.

Kodi´s buffermode är satt till 0 som standard värde, denna ska vi inte behöva ändra.
Med memorysize så talar vi om för kodi hur mycket RAM som cachen ska få använda, i detta fallet 100 MB, 100 x 1024 x 1024 = 104857600
(vilket kräver 300 MB ledigt RAM-minne. d.v.s 1/3 av ledigt minne)
Kodis standard värde här är 20971520 (20MB).
Kodi´s readfactor är satt till 4 som standard värde, denna ska vi inte behöva ändra.
Lite information vad de olika variablarna betyder och gör finns här.

Ändra inställningarna för inputstream adaptive.

I kodi's huvudmeny, Klicka på kugghjulet.
Klickar sedan på "Add-ons".
Välj "My add-ons" och "VideoPlayer InputStream".
Högerklicka på "InputStream Adaptive" och klicka sedan "Settings".
Sätt "Max. Resolution secure decoder" till 720p eller lägre beroende på din hårdvara.
Klicka sedan "OK".
Nu ska stream från ex. netflix flyta på utan ljudsync problem eller lagg.

Tips

Om System informationen inte visar CPU eller GPU Temperature, så kan ni prova att lägga till dessa rader för CPU <cputempcommand>(CPU information som ska visas)</cputempcommand> alternativt för GPU<gputempcommand>(GPU Information som ska visas)</gputempcommand>.
Dessa rader lägger du in mellan <advancedsettings> och </advancedsettings> taggarna.

Exempel:

<advancedsettings>
  <cputempcommand>sensors|sed -ne "s/CPU Temperature: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand>
  <gputempcommand>nvidia-smi -q -d temperature|sed -n "s/[[:blank:]]*GPU Current Temp[[:blank:]]*\: *\([0-9]*\) *C/\1 C/p"</gputempcommand>
</advancedsettings>

Problem och lösningar

Kodi kraschar med segmenterings fel lite slumpvist.
Rapporterat på LQ (Slackware 15.0 and KODI crashing)
Lösning på detta problem är att uppgradera python3 till 3.9.13.
Detta kan man enkelt göra igenom att använda officiella slackbuild för python3 och byta ut  Python-3.9.12.tar.xz och python-3.9.12-docs-text.tar.bz2 till Python-3.9.13.tar.xz och python-3.9.13-docs-text.tar.bz2.

Alternativt ladda ner detta färdig-kompilerade paketet python3-3.9.13-x86_64-1_slack15.0.txz.
uppdatera paketet med kommandot: upgradepkg python3-3.9.13-*-1_slack15.0.txz


Uppdaterings problem:

- Om du uppgraderar Kodi från ex. 18.x till 19.x så bör du backa upp din "~./kodi" mapp. och sedan radera den.
Kodi 18.x är byggt för python 2, lika så dess plugins. Och i regel är dessa inte kompatibla med python 3 som Kodi 19.x är byggt emot.
Så det är enklast att konfigurera om Kodi på nytt och installera plugins som är anpassade för just Kodi 19.x istället.
- Efter att man uppdaterat xorg-server så blir libglx drivarna överskrivna då man använder sig av nvidias egna drivrutiner.
Lösningen på detta är helt enkelt att avinstallera nvidia drivrutinera och ta bort libglx drivrutiner som även finns med i xorg-server.

# rm -rf /usr/lib64/xorg/modules/extensions/libglx.so

Och sedan installerar/kompilerar man om nvidias drivrutiner.
Slackbuild scritet för kodi-19.5 finns även på github.

Tack till Larry Hajali slackbuildscript för kodi-17.6, Arch Linux, http://axes2solution.com.

×