garbear / kodi-steamlink

Steam Link port of Kodi
Other
433 stars 36 forks source link

Update repo to Kodi 18.0 final #33

Open nextgen-networks opened 5 years ago

nextgen-networks commented 5 years ago

It would be fantastic to have a new branch with the Kodi 18.0 final released today: https://kodi.tv/article/kodi-180

Thanks for your hard work!

garbear commented 5 years ago

Will do within the next week!

garbear commented 5 years ago

I've rebased the branch on the 18.0 release: https://github.com/garbear/kodi-steamlink/commits/steamlink-18

ToasterDEV commented 5 years ago

Hi there.

Tried to compile the new branch on a Lubuntu 18 system, but no steamlink folder came out. Is there any special flags needed to change target?

nextgen-networks commented 5 years ago

Jipp I set up an docker build environment and successfully compiled for ubuntu - but how to compile for steam-box? Would be great to have updated instructions on how to build for steam-box in docs.

garbear commented 5 years ago

Kodi for Steam Link needs to be built with the Steam Link SDK. I'll try to update the Leia branch later today.

garbear commented 5 years ago

Updated: https://github.com/garbear/steamlink-sdk/tree/kodi-18. I'm running a test compile now

nextgen-networks commented 5 years ago

@garbear Thanks for your ongiong work to port kodi! 👍 I also set up a new environment with the kodi-18 branch and tried to build. I got an error that leads me to the assumption that the build script needs some config polishing because it tries to build aclocal for x86_64-linux-native:

make -C x86_64-linux-native make[2]: Entering directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/native/m4-native/x86_64-linux-native' CDPATH="${ZSH_VERSION+.}:" && cd . && /data/steamlink-sdk/kodi-deps/x86_64-linux-gnu-native/bin/aclocal -I m4 /bin/bash: /data/steamlink-sdk/kodi-deps/x86_64-linux-gnu-native/bin/aclocal: No such file or directory Makefile:1562: recipe for target 'aclocal.m4' failed make[2]: *** [aclocal.m4] Error 127 make[2]: Leaving directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/native/m4-native/x86_64-linux-native' Makefile:30: recipe for target 'x86_64-linux-native/src/m4' failed make[1]: *** [x86_64-linux-native/src/m4] Error 2 make[1]: Leaving directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/native/m4-native' Makefile:64: recipe for target 'm4-native' failed make: *** [m4-native] Error 2 make: Leaving directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/native' root@e1a837601156:/data/steamlink-sdk/examples/kodi#autoconf. autoconf: error: no input file bash: .: filename argument required .: usage: . filename [arguments] root@e1a837601156:/data/steamlink-sdk/examples/kodi# autoconf autoconf: error: no input file root@e1a837601156:/data/steamlink-sdk/examples/kodi#

garbear commented 5 years ago

That's by design. Kodi builds a toolchain of around 20 native programs before building the remaining depends and the main app.

nextgen-networks commented 5 years ago

Ah OK. Then wen have it to be build.

Any idea how to solve that not found "aclocal"? :-)

garbear commented 5 years ago

Did you try sudo apt-get install automake autopoint build-essential cmake curl default-jre doxygen gawk git gperf libcurl4-openssl-dev libtool swig unzip zip zlib1g-dev wget pkg-config python?

nextgen-networks commented 5 years ago

Checked the packages you posted and seems they are in place:

Reading package lists... Done Building dependency tree Reading state information... Done automake is already the newest version (1:1.15.1-3ubuntu2). build-essential is already the newest version (12.4ubuntu1). cmake is already the newest version (3.10.2-1ubuntu2). default-jre is already the newest version (2:1.10-63ubuntu1~02). doxygen is already the newest version (1.8.13-10). gawk is already the newest version (1:4.1.4+dfsg-1build1). libtool is already the newest version (2.4.6-2). pkg-config is already the newest version (0.29.1-0ubuntu2). python is already the newest version (2.7.15~rc1-1). unzip is already the newest version (6.0-21ubuntu1). zip is already the newest version (3.0-11build1). zlib1g-dev is already the newest version (1:1.2.11.dfsg-0ubuntu2). gperf is already the newest version (3.1-1). swig is already the newest version (3.0.12-1). autopoint is already the newest version (0.19.8.1-6ubuntu0.1). curl is already the newest version (7.58.0-2ubuntu3.5). git is already the newest version (1:2.17.1-1ubuntu0.4). libcurl4-openssl-dev is already the newest version (7.58.0-2ubuntu3.5). wget is already the newest version (1.19.4-1ubuntu2.1). The following packages were automatically installed and are no longer required: libc++-7-helpers liblldb-7-dev Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

garbear commented 5 years ago

Maybe a dirty build directory? Can you try building from scratch?

nextgen-networks commented 5 years ago

... jepp I can do a cleanup. But had build an configured this docker container some hours before. This was also the first build attempt with fresh downloaded sources.

nextgen-networks commented 5 years ago

Here are the commands to reproduce the build enviromnent:

docker run --name nextgen-gcc01 --rm -i -t -v REPLACEthisWITHyourDRV:/data cjdb/amcpp-stdlib

apt-get update && apt install mc sudo automake autopoint build-essential cmake curl default-jre doxygen gawk git gperf libcurl4-openssl-dev libtool swig unzip zip zlib1g-dev wget pkg-config python -y && apt-get upgrade -y && apt-get dist-upgrade -y && apt autoremove

cd /data

git clone -b "kodi-18" https://github.com/garbear/steamlink-sdk.git

REPLACEthisWITHyourDRV = your drive/folder you may map your build-env to

garbear commented 5 years ago

Can you post your Dockerfile? I'll try running it and see if I can repro

nextgen-networks commented 5 years ago

Sorry publich dockerfile was not posted by maintainer :-/ -> https://hub.docker.com/r/cjdb/amcpp-stdlib

... but i found his github ;-) https://github.com/cjdb/docker

garbear commented 5 years ago

I can't reproduce your error. Is it possible to reproduce on a clean installation of Ubuntu 18.04 with the above packages installed?

nextgen-networks commented 5 years ago

OK i'll do a clean ubuntu install and send you a feedback.

Is it possible that you publish a "test" or final package of your build in meantime?

Thanks for your support!

nextgen-networks commented 5 years ago

@garbear ... build is still running :-) I don't got the file/folder not found error in the early build stage. Now building with named volume within docker.

Assumption: Docker/Docker file filter driver has problems with mapped drives/folders on Windows Server 2016 host. Maybe file/folder name length. Maybe some character issue.

nextgen-networks commented 5 years ago

@garbear building took ages - and did not finish successfully :-/

Here is the output i get when i try to build: make -C armv7a-cros-linux-gnueabi-release make[2]: Entering directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/target/libxkbcommon/armv7a-cros-linux-gnueabi-release' YACC src/xkbcomp/parser.c ./build-aux/ylwrap: line 176: yacc: command not found Makefile:1637: recipe for target 'src/xkbcomp/parser.c' failed make[2]: [src/xkbcomp/parser.c] Error 127 make[2]: Leaving directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/target/libxkbcommon/armv7a-cros-linux-gnueabi-release' Makefile:26: recipe for target 'armv7a-cros-linux-gnueabi-release/.libs/libxkbcommon.la' failed make[1]: [armv7a-cros-linux-gnueabi-release/.libs/libxkbcommon.la] Error 2 make[1]: Leaving directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/target/libxkbcommon' Makefile:129: recipe for target 'libxkbcommon' failed make: *** [libxkbcommon] Error 2 make: Leaving directory '/data/steamlink-sdk/examples/kodi/kodi-src/tools/depends/target'

Did you had any success in building and like to publish your result?

WildPenquin commented 5 years ago

FWIW I can build this on my Arch system. Too tired to test if it actually works or if it is usable today, though.

I noticed the build system is not quite error resistant - for example, if a file is not downloaded correctly, it will error out with an obscure error message (of course one good hint is that is fails while extracting a file). I needed to reset the directory many times, since the script seems to be not able to always pick on from a point of failure. Also, there are some issues if building in a non-english (?) locale. I needed to set LANG=C.

nextgen-networks: There is a clear message in your output, it does not find yacc. On Arch, it is a part of bison (The GNU general-purpose parser generator). I had it installed, although it is not mentioned in the dependencies (which might be distro specific ... perhaps bison is puled in on others, while not on others).

EDIT: noticed bison is pulled in by build-essentials being in group base-devel on Arch; seems like quite a generic / important thing, surprising it is not pulled in on your system. Are you sure you have installed everything listed in requirements and garbear here?

nextgen-networks commented 5 years ago

@WildPenquin Thanks for your hint! deleted the build folder a couple of minutes before your post ;-)

Installed bison (apt-get install bison -y) now and running the build script again... ... keeping fingers crossed and will report back here with results.

... and jipp i'm absolutely sure all components/packages mentioned by @garbear have been installed before.

garbear commented 5 years ago

The build succeeded on my ubuntu 18.04 install. It took 90 minutes on my work machine, but that's compiling on 20 HT cores. Here's the result:

https://github.com/garbear/kodi-steamlink/releases/tag/v18.0-2019-02-08

I haven't tested on Steam Link hardware since beta 3. Performance had drastically decreased from 17.6, but it's possible that https://github.com/xbmc/xbmc/pull/15286 has improved performance since then.

nextgen-networks commented 5 years ago

@garbear I was also successful in compiling Kodi. Installed your version and mine also - unfortunately tv-playback is nut usable anymore :-/ Sound is played but video is degraded to a still image of the first received full frame.

The latest Krypton stable did not face those problems. Seems Kodi needs heavy fine tuning to gain a usable mode on the elderly marvel steamlink ...

garbear commented 5 years ago

Unfortunately this seems to be the case. Leia is just more cpu-intensive than Krypton.

moodja commented 5 years ago

wonderful work! :) I am impatient to give it a try... just a noob question : how do you use it without mouse or keyboard...?