• 1
  • 28
  • 29
  • 30
  • 31(current)
  • 32
Headless Kodi
I'm working with debian stretch and does not compile.
Platform is Firefly RK3288.
gcc and c++ are version "(Debian 6.3.0-18+deb9u1) 6.3.0 20170516". kernel is 4.4.126 a version that include specific driver for our audio i2s interface.

I followed the preparation procedure and at make phase I see numerous warnings coming like this:

"...
In file included from /usr/include/c++/6/bits/locale_conv.h:41:0,
                 from /usr/include/c++/6/locale:43,
                 from /home/linaro/xbmc/xbmc/utils/StdString.h:670,
                 from /home/linaro/xbmc/xbmc/guilib/Resolution.h:24,
                 from /home/linaro/xbmc/xbmc/cores/VideoRenderers/BaseRenderer.h:25,
                 from /home/linaro/xbmc/xbmc/cores/VideoRenderers/OverlayRenderer.h:25,
                 from DVDCodecs/Overlay/DVDOverlay.h:23,
                 from DVDOverlayContainer.h:23,
                 from DVDPlayerSubtitle.h:23,
                 from DVDPlayerSubtitle.cpp:21:
/usr/include/c++/6/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
..."

This error follows:
"...
CPP     xbmc/cores/dvdplayer/DVDPlayerVideo.o
In file included from /home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11GLES.h:25:0,
                 from /home/linaro/xbmc/xbmc/windowing/WindowingFactory.h:33,
                 from DVDPlayerVideo.cpp:23:
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:76:3: error: ‘Display’ does not name a type
   Display*  GetDisplay() { return m_dpy; }
   ^~~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:97:3: error: ‘Window’ does not name a type
   Window       m_glWindow, m_mainWindow;
   ^~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:107:3: error: ‘Display’ does not name a type
   Display*     m_dpy;
   ^~~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:108:3: error: ‘Cursor’ does not name a type
   Cursor       m_invisibleCursor;
   ^~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:109:3: error: ‘Pixmap’ does not name a type
   Pixmap       m_icon;
   ^~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:125:25: error: ‘XVisualInfo’ has not been declared
   bool IsSuitableVisual(XVisualInfo *vInfo);
                         ^~~~~~~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:126:28: error: ‘Display’ has not been declared
   static int XErrorHandler(Display* dpy, XErrorEvent* error);
                            ^~~~~~~
/home/linaro/xbmc/xbmc/windowing/X11/WinSystemX11.h:126:42: error: ‘XErrorEvent’ has not been declared
   static int XErrorHandler(Display* dpy, XErrorEvent* error);
                                          ^~~~~~~~~~~
..."

The make stops with this error:
"...
/home/linaro/xbmc/Makefile.include:93: recipe for target 'DVDPlayerVideo.o' failed
make[1]: *** [DVDPlayerVideo.o] Error 1
Makefile:515: recipe for target 'xbmc/cores/dvdplayer/DVDPlayer.a' failed
make: *** [xbmc/cores/dvdplayer/DVDPlayer.a] Error 2
..."

I'm almost desperate. I'm working several days trying to compile version 17.6, since debian repository install version 17.1 and this version has several issues.

Can you help me?
Reply
Hello!  I cannot make my docker-kodi-server connect to my Samba shares.  Though my HTPC LibreElec Kodi works with my Samba shares flawlessly. I copied the working config from there, but with docker-kodi-server my Samba shares do not work.
Code:

16:31:42.052 T:140049171298048  NOTICE: VideoInfoScanner: Starting scan ..
16:31:47.062 T:140049171298048 WARNING: Process directory 'smb://192.168.1.10/Video/Movies/' does not exist - skipping scan.
16:31:52.068 T:140049171298048 WARNING: Process directory 'smb://192.168.1.3/Video/Animation/' does not exist - skipping scan.
16:31:57.075 T:140049171298048 WARNING: Process directory 'smb://192.168.1.3/Video/Movies/' does not exist - skipping scan.
16:32:02.082 T:140049171298048 WARNING: Process directory 'smb://192.168.1.3/Video/Music/' does not exist - skipping scan.
16:32:02.082 T:140049171298048  NOTICE: VideoInfoScanner: Finished scan. Scanning for video info took 00:20
16:33:33.384 T:140051046354944  NOTICE: Samba is idle. Closing the remaining connections
my sources.xml:
xml:

<sources>
    <programs>
        <default pathversion="1"></default>
    </programs>
    <video>
        <default pathversion="1"></default>
        <source>
            <name>Qnap</name>
            <path pathversion="1">smb://192.168.1.3/Video/</path>
            <allowsharing>true</allowsharing>
        </source>
        <source>
            <name>Voyo</name>
            <path pathversion="1">smb://192.168.1.10/Video/</path>
            <allowsharing>true</allowsharing>
        </source>
    </video>
    <music>
        <default pathversion="1"></default>
    </music>
    <pictures>
        <default pathversion="1"></default>
        <source>
            <name>Photo</name>
            <path pathversion="1">smb://192.168.1.3/Photo/</path>
            <allowsharing>true</allowsharing>
        </source>
    </pictures>
    <files>
        <default pathversion="1"></default>
    </files>
</sources>
I've read this post of @MuzzleAU, my config is almost the same, except passwords (my Samba shares don't use passwords). What am I doing wrong? Is it possible that docker version of Kodi does not understand smb's subdirectories?
Reply
I've solved the problem.

I was not able to make SMB working (adding passwords, changing protocol versions, etc. did not help). But I was able to make it working by mounting the Samba shares to the host system and using docker volumes.  In short:

my docker container (it has a separate IP in a separate subnet):
Code:
docker create \
    --restart=always \
    --name=kodi-server \
    --hostname=kodi-server \
    --net=ipvlan10 \
    --ip=192.168.10.50 \
    --user=463:462 \
    \
    -v /home/docker/kodi/config/.kodi:/opt/kodi-server/share/kodi/portable_data \
    -v /mnt/hdd1/Multimedia:/mnt/voyo:ro \
    -v /mnt/qnap/Multimedia:/mnt/qnap:ro \
    celedhrim/kodi-server:krypton

my advancedsettings.xml (MariaDB works in another docker container on a separate IP):
xml:
<advancedsettings>
  <videodatabase>
    <type>mysql</type>
    <host>192.168.10.33</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>****</pass>
  </videodatabase>
  <musicdatabase>
    <type>mysql</type>
    <host>192.168.10.33</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>****</pass>
  </musicdatabase>
  <videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
  <services>
    <esallinterfaces>true</esallinterfaces>
    <webserver>true</webserver>
    <webserverpassword>kodi</webserverpassword>
    <webserverport>8089</webserverport>
    <webserverusername default="true">kodi</webserverusername>
    <zeroconf>true</zeroconf>
  </services>
  <pathsubstitution>
    <substitute>
      <from>smb://192.168.1.3</from>
      <to>/mnt/qnap</to>
    </substitute>
    <substitute>
      <from>smb://192.168.1.10</from>
      <to>/mnt/voyo</to>
    </substitute>
  </pathsubstitution>
</advancedsettings>
Everything is working fine now.  BTW, linuxserver/kodi-headless works with the similar setup too, but much slower (~2x), than Celedhrim/docker-kodi-server.
Reply
Any progress on this project?
Reply
(2019-02-09, 10:17)Gregoire Wrote: Any progress on this project?
Hi !

Not natively but I continue my docker images.

For leia I have stop the headless patch because kodi take now take too long and reach the maximum build time permit on docker hub.

So I have switch to fake Xorg ( with XPRA) and pulseaudio ( kodi complain is no sound card/daemon)
The good :
 * No more headless patch to maintain
 * using the kodi ppa on ubuntu image
 * Superfast to build
The bad :
 * Overhead of CPU and memory because now kodi fully render it's interface
 * unable to rebuild old image if kodi remove package from repo.

Here I have fully migrate to kodi 18 and no issue.

Then ok , it's not true headless mode but it's a good workaround for my needs Smile

regards,

Celedhrim
Reply
Thanks for your reply !
Reply
Looks like there is now a headless patch for Leia
https://github.com/linuxserver/docker-ko...less.patch

Looks like the author did similar what I suggested a few pages back (create a new windowing system that does nothing).
Reply
(2019-04-01, 05:44)matthuisman Wrote: Looks like there is now a headless patch for Leia
https://github.com/linuxserver/docker-ko...less.patch

Looks like the author did similar what I suggested a few pages back (create a new windowing system that does nothing).
I wish headless would just become a first-class feature already.  Phoronix says it's coming in Kodi 19.  I guess I will believe it when I see it.

But frankly, I don't know that I will even be interested when it does happen.  Jellyfin already does everything I wanted headless Kodi to do, and more.  There are use-cases where Jellyfin and Chromecast actually replaces a Kodi machine quite nicely.
Reply
Just +1'ng this effort to get a true headless option for Kodi.
My use case: Kodi running on RPi as a Music server connected to powered speakers via an audio card, managed via web interface and also smartphone apps.

Wishlist: dockerized kodi that doesnt burn cycles rendering a GUI, no X server running uselessly. Fully functional kodi otherwise. Being able to switch on and off the GUI on ocassion (e.g. while doing some maintenance or troubleshooting) via command line would be awesome.

Current staus: running headless thanks to the RPi support of screen detection bypass, at the cost of the CPU rendering a GUI that noone uses.
Reply
@celedhrim
Are you working on updating your docker image to 18.5?
And how do we work with AddOns... Do they get automatically updated or do we need to unzip them from the repo into the correct path?
Reply
(2019-02-13, 16:27)celedhrim Wrote:
(2019-02-09, 10:17)Gregoire Wrote: Any progress on this project?
Hi !

Not natively but I continue my docker images.

For leia I have stop the headless patch because kodi take now take too long and reach the maximum build time permit on docker hub.

So I have switch to fake Xorg ( with XPRA) and pulseaudio ( kodi complain is no sound card/daemon)
The good :
 * No more headless patch to maintain
 * using the kodi ppa on ubuntu image
 * Superfast to build
The bad :
 * Overhead of CPU and memory because now kodi fully render it's interface
 * unable to rebuild old image if kodi remove package from repo.

Here I have fully migrate to kodi 18 and no issue.

Then ok , it's not true headless mode but it's a good workaround for my needs Smile

regards,

Celedhrim 

i had previously run kodi-headless but after the patch wasnt maintained for Leia I switched to just using a firetv hooked up to tv that I start up kodi then power off the tv. This worked somewhat okay but randomly firetv would update/reboot or kodi gui would just be stuck until I turned on the tv and then it would catch up. I wanted to go back to a better method and tried using kodi-headless again as it had Leia support finally.. but sadly it does not work (problems scraping/errors). I then tried out celedhrim's kodi-server docker and just pointed the data dir to my previous kodi-headless data dir, updated the port from 8080->8089 and was back in business. So far its working well. Thanks!
Reply
Is anyone able to walk me through getting this set up on an unraid docker for the first time? I'm really clueless to how to do this. lol

https://hub.docker.com/r/celedhrim/kodi-server/

Thank you!
Reply
This is my docker-compose.yml


xml:
version: "3.5"
services:
  kodi:
    image: "celedhrim/kodi-server"
    network_mode: "host"
    environment:
      TZ: "Europe/Tallinn"
#    links:
#      - kodi-mariadb:kodi.mysql.local
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /mnt/4TB-Data/HTPC/kodi/.kodi:/usr/share/kodi/portable_data
  #    - /mnt/4TB-Data/HTPC/kodi/sources.xml:/config/userdata/sources.xml
  #    - /mnt/4TB-Data/HTPC/kodi/advancedsettings.xml:/config/userdata/advancedsettings.xml
  
  kodi-mariadb:
    image: mariadb
    hostname: kodimariadb.home.local
    restart: 'always'
    ports:
      - "3306:3306"
    volumes:
      - ./mariadb/conf:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: kodikodi

advancedsettings
xml:
<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>kodimariadb.home.local</host>
        <port>3306</port>
        <user>kodi</user>
        <pass>kodi</pass>
    </videodatabase>
    <musicdatabase>
        <type>mysql</type>
        <host>kodimariadb.home.local</host>
        <port>3306</port>
        <user>kodi</user>
        <pass>kodi</pass>
    </musicdatabase>
    <pathsubstitution>
        <substitute>
            <from>special://profile/playlists/</from>
            <to>nfs://192.168.1.14/mnt/4TB-Data/Media/Music/Liblary/Playlists</to>
        </substitute>
        <substitute>
            <from>special://masterprofile/Thumbnails/</from>
            <to>nfs://192.168.1.14/mnt/4TB-Data/Media/kodi/userdata/Thumbnails</to>
        </substitute>
        <substitute>
            <from>special://masterprofile/sources.xml</from>
            <to>nfs://192.168.1.14/mnt/4TB-Data/HTPC/kodi/sources.xml</to>
        </substitute>
        <substitute>
            <from>/storage/videos/tv</from>
            <to>nfs://192.168.1.14/mnt/4TB-Data/Media/kodi_stream_library/stream-tvshows</to>
        </substitute>
        <substitute>
            <from>/storage/videos/movies</from>
            <to>nfs://192.168.1.14/mnt/4TB-Data/Media/kodi_stream_library/stream-movies</to>
        </substitute>
    </pathsubstitution>
</advancedsettings>
Reply
Very helpful, thank you. I’ll give it a shot.
Reply
For anyone searching for headless and finds this, someone has created a Matrix version of the Linuxserver image  https://hub.docker.com/r/matthuisman/kodi-headless   which I have been running for a few days. Bit more lightweight than the celedhrim one.
KODI Nexus - CoreELEC everywhere on Ugoos AM6 Plus&Pro, Plex Server, HDHomerun with TVHeadend on my NAS.
Reply
  • 1
  • 28
  • 29
  • 30
  • 31(current)
  • 32

Logout Mark Read Team Forum Stats Members Help
Headless Kodi5