2021-01-11, 21:03
(2021-01-10, 23:55)calev Wrote:(2020-12-09, 02:50)hashtag Wrote:Did you build in the dockerfile? Could you share your Dockerfile? It's super easy to follow dockercommands to see how something was built(2020-12-09, 00:45)wodgey Wrote: Really glad I found this thread.
Do these build instructions still work after your recent works on kodi19?
I've tried your docker and 4k content played from my nas was silky smooth (as I mentioned in the recently closed GitHub issue that I commented)
Can't believe I completely missed link to this thread in another issue. Doh.
I'm happy to be another tester too, should you require (although I think I've stated shady that I'm not experienced with coding\compiling massively. But I'm happy to try)
There is build options, I use for docker container
Code:-DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gles -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_FLATBUFFERS=ON -DENABLE_INTERNAL_FMT=ON -DENABLE_V4L2=ON -DENABLE_NVBUFFER=ON -DENABLE_INTERNAL_SPDLOG=ON -DENABLE_VAAPI=OFF
If you want to skip compilation, you can just use pre-build docker container. I updated all of them to the latest version of code-base.
Instructions are on docker hub
There is two versions, that are currently maintained
* latest - V4L2 with NVDEC acceletation
* snapshot - same as latest, but with some additional experiments with DSD Audio support.
There is Docker file I am currently using.
Here is some extra tricks to copy tegra-v4l2 libs (which is already on device, but not included in base container image).
docker:
FROM nvcr.io/nvidia/l4t-base:r32.4.4 as intermediate
ARG branch
RUN DEBIAN_FRONTEND=NONINteractive apt update && apt install -y --no-install-recommends debhelper autoconf automake autopoint gettext autotools-dev cmake curl default-jre doxygen gawk gcc gdc gperf libasound2-dev libass-dev libavahi-client-dev libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libp8-platform-dev libcrossguid-dev libcurl4-gnutls-dev libcwiid-dev libdbus-1-dev libegl1-mesa-dev libenca-dev libflac-dev libfmt-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libfstrcmp-dev libgcrypt-dev libgif-dev libgles2-mesa-dev libgl1-mesa-dev libglu1-mesa-dev libgnutls28-dev libgpg-error-dev libcec-dev libgtest-dev libiso9660-dev libjpeg-dev liblcms2-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libsmbclient-dev libspdlog-dev libsqlite3-dev libssl-dev libtag1-dev libtiff5-dev libtinyxml-dev libtool libudev-dev libv4l-dev libvorbis-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev lsb-release meson nasm ninja-build python3-dev python3-pil python3-pip rapidjson-dev swig unzip uuid-dev yasm zip zlib1g-dev ccache git && mkdir /build
COPY nvidia_drivers.tbz2 /
RUN tar -xf /nvidia_drivers.tbz2 -C / && rm /nvidia_drivers.tbz2
WORKDIR /usr/src/gtest
RUN cmake . && make && make install
WORKDIR /build
ADD https://api.github.com/repos/aliubimov/x...efs/heads/${branch} version.json
RUN git clone https://github.com/aliubimov/xbmc.git -b ${branch}
RUN mkdir /build/kodi-build
WORKDIR /build/kodi-build
RUN cmake -G "Ninja" /build/xbmc -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gles -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_FLATBUFFERS=ON -DENABLE_INTERNAL_FMT=ON -DENABLE_V4L2=ON -DENABLE_NVBUFFER=ON -DENABLE_INTERNAL_SPDLOG=ON -DENABLE_VAAPI=OFF -DCMAKE_INSTALL_PREFIX=/kodi
RUN ninja
Run ninja install
FROM nvcr.io/nvidia/l4t-base:r32.4.4 as production
RUN DEBIAN_FRONTEND=noninteractive apt update && apt install -y --no-install-recommends debhelper gettext curl default-jre libasound2 libass9 libavahi-client3 libavahi-common3 libbluetooth3 libbluray2 libbz2-1.0 libcdio17 libp8-platform libcrossguid0 libcurl3-gnutls libcwiid1 libdbus-1-3 libegl1-mesa libenca0 libflac8 libfmt-dev libfontconfig libfreetype6 libfribidi0 libfstrcmp0 libgcrypt20 libgif7 libgles2-mesa libgl1-mesa-dri libglu1-mesa libgnutls30 libgpg-error0 libcec4 libiso9660-10 libjpeg8 liblcms2-2 libltdl7 liblzo2-2 libmicrohttpd12 libmysqlclient20 libnfs11 libogg0 libpcre3 libpcrecpp0v5 libplist3 libpng16-16 libpulse0 libsmbclient libspdlog-dev libsqlite3-0 libssl1.1 libtag1v5 libtiff5 libtinyxml2.6.2v5 libudev1 libv4l-0 libvorbis0a libxmu6 libxrandr2 libxslt1.1 libxt6 lsb-release nasm dh-python libpython3.6 python3 python3-pil python3-pip rapidjson-dev swig unzip uuid zip zlib1g && apt clean
COPY tegra-hda.conf /usr/share/alsa/cards/tegra-hda.conf
FROM production
COPY --from=intermediate /kodi /kodi
ENTRYPOINT /kodi/bin/kodi