1 1

[XU4] KODI on Armbian

Recommended Posts




I experimented with various OS-es for my new Odroid-XU4.
From what I have learned I like armbian the best because it's the closest to the original debian. A clean, small, tuned up system with the possibility to switch back to sysvinit from system(d).

What I would run on it is not a desktop environment but exactly Kodi.

The XU4 comes with Ubuntu 16 LTS preloaded to sdcard and I can say this is the OS which maxes out the potential of this hardware. With this after an update & upgrade everything works out of the box: kodi, networking, hdmi-cec, hdmi-audio.

With using the unofficial debian jessie for odroid:

It is possible to put a working odroid-kodi environment together on jessie using these packages but not on armbian.

Using these 3 sources:

wget http://oph.mdrjr.net/meveric/sources.lists/meveric-all-XU3.list            # package list for ODROID XU3 devices and all Distributions (Kernel and Headers)
wget http://oph.mdrjr.net/meveric/sources.lists/meveric-jessie-main.list        # package list for all ODROID devices / Debian Jessie (not for Debian Wheezy, or Ubuntu 12.04)
wget http://oph.mdrjr.net/meveric/sources.lists/meveric-jessie-backports.list   # package list for all ODROID devices / Debian Jessie (backports of newer or missing packages)

The kodi packages install but then kodi will break with libgl error. So my question is will kodi be officially supported on armbian in the future?


Linux odroidxu4 3.10.102-odroidxu4 #2 SMP PREEMPT Tue Jun 21 18:55:10 CEST 2016 armv7l GNU/Linux

Module                  Size  Used by
fuse                   74906  1
bonding               101352  0
cdc_ether               5022  0
usbnet                 23026  1 cdc_ether
r8152                  60184  0
spidev                  5907  0
spi_s3c64xx            14774  0
s3c2410_wdt             7601  0

        |                |-{in:imuxsock}(1399)
        |                `-{rs:main Q:Reg}(1401)

Ubuntu 16 LTS

Linux odroid 3.10.96-117 #1 SMP PREEMPT Thu Jul 28 18:28:12 UTC 2016 armv7l armv7l armv7l GNU/Linux

Module                  Size  Used by
cdc_ether               4675  0
usbnet                 22817  1 cdc_ether
r8152                  53542  0
ina231_sensor           9048  0
i2c_s3c2410             9423  0

Section "Device"
        Identifier      "Mali-Fbdev"
        Driver          "armsoc"
        Option          "fbdev"         "/dev/fb0"
        Option          "Debug"         "false"
        Option          "DPMS"          "false"

Section "Screen"
        Identifier      "Default Screen"
        Device          "Mali-Fbdev"
        DefaultDepth    24

Section "ServerLayout"
        Identifier      "Default Layout"
        Option          "BlankTime"     "0"
        Option          "StandbyTime"   "0"
        Option          "SuspendTime"   "0"
        Option          "OffTime"       "0"

Section "DRI"
        Mode            0666

           │                    └─{gmain}(2815)
           │                      ├─dnsmasq(2965)
           │                      ├─{gdbus}(2840)
           │                      └─{gmain}(2838)
           │                       └─{gmain}(2808)
           │                    └─{gmain}(2918)
           │               └─{gmain}(2850)
           │                ├─{in:imuxsock}(2812)
           │                └─{rs:main Q:Reg}(2814)
           │                    └─{rtkit-daemon}(3028)
           │            └─smbd(3255)
           │             ├─{snapd}(2859)
           │             ├─{snapd}(2864)
           │             ├─{snapd}(2866)
           │             ├─{snapd}(2923)
           │             ├─{snapd}(2925)
           │             └─{snapd}(2924)
           │               └─{gmain}(3171)
           │                └─{gmain}(2870)
           │             │            ├─{llvmpipe-1}(2949)
           │             │            ├─{llvmpipe-2}(2950)
           │             │            ├─{llvmpipe-3}(2951)
           │             │            ├─{llvmpipe-4}(2952)
           │             │            ├─{llvmpipe-5}(2953)
           │             │            ├─{llvmpipe-6}(2954)
           │             │            └─{llvmpipe-7}(2955)
           │             └─kodi-standalone(3002)───kodi(3114)───kodi.bin(3116)─┬─{AESink}(3209)
           │                                                                   ├─{ActiveAE}(3208)
           │                                                                   ├─{CECAdapter}(3260)
           │                                                                   ├─{CECAdapter}(3262)
           │                                                                   ├─{CECAdapter}(3263)
           │                                                                   ├─{CECAdapter}(3264)
           │                                                                   ├─{CECAdapter}(3265)
           │                                                                   ├─{EventServer}(3280)
           │                                                                   ├─{PeripBusCEC}(3261)
           │                                                                   ├─{PeripBusUSBUdev}(3266)
           │                                                                   ├─{TCPServer}(3281)
           │                                                                   ├─{Timer}(3296)
           │                                                                   ├─{kodi.bin}(3243)
           │                                                                   ├─{kodi.bin}(3259)
           │                                                                   ├─{kodi.bin}(3273)
           │                                                                   ├─{kodi.bin}(3276)
           │                                                                   ├─{kodi.bin}(3277)
           │                                                                   ├─{kodi.bin}(3278)
           │                                                                   ├─{kodi.bin}(3279)
           │                                                                   ├─{kodi.bin}(3286)
           │                                                                   ├─{kodi.bin}(6879)
           │                                                                   ├─{mali-event-hnd}(3216)
           │                                                                   ├─{mali-hist-dump}(3226)
           │                                                                   ├─{mali-mem-purge}(3215)
           │                                                                   ├─{mali-renderer}(3225)
           │                                                                   ├─{mali-utility-wo}(3217)
           │                                                                   ├─{mali-utility-wo}(3218)
           │                                                                   ├─{mali-utility-wo}(3219)
           │                                                                   ├─{mali-utility-wo}(3220)
           │                                                                   ├─{mali-utility-wo}(3221)
           │                                                                   ├─{mali-utility-wo}(3222)
           │                                                                   ├─{mali-utility-wo}(3223)
           │                                                                   └─{mali-utility-wo}(3224)

KERNEL=="ttySAC0", SYMLINK+="ttyACM99"
KERNEL=="event*", SUBSYSTEM=="input", MODE="0777"
KERNEL=="CEC", MODE="0777"
KERNEL=="amvideo", MODE="0666"
KERNEL=="amstream*", MODE="0666"

ii  kodi                                  16.1+hk3-exynosmfc5422                     armhf        Open Source Home Theatre (executable binaries)
ii  kodi-bin:armhf                        16.1+hk3-exynosmfc5422                     armhf        Open Source Home Theatre (architecture-dependent files)
ii  kodi-data                             16.1+hk3-exynosmfc5422                     all          Open Source Home Theatre (arch-independent data package)

Using meveric repos:

ii  kodi-odroid                    16.1-1+deb8                  armhf        Kodi - award-winning free and open source (GPL) software media player and entertainment hub (ODROID build)
ii  linux-dtb-odroidxu4            5.16                         armhf        Linux DTB, version 3.10.102-odroidxu4
ii  linux-headers-odroidxu4        5.16                         armhf        Linux kernel headers for 3.10.102-odroidxu4 on armhf
ii  linux-image-odroidxu4          5.16                         armhf        Linux kernel, version 3.10.102-odroidxu4
ii  linux-jessie-root-odroidxu4    5.16                         armhf        Armbian tweaks for jessie on odroidxu4 (default branch)
ii  linux-u-boot-odroidxu4-default 5.16                         armhf        Uboot loader 2012.07

Debian Jessie 8.5

Linux odroid-jessie 3.10.92+ #1 SMP PREEMPT Tue Nov 17 11:14:11 CET 2015 armv7l GNU/Linux

Module                  Size  Used by
cdc_ether               4507  0
usbnet                 22193  1 cdc_ether
r8152                  49758  0
spi_s3c64xx            13713  0
ina231_sensor           8388  0
s3c2410_wdt             7016  0

dpkg --list |grep -i kodi
ii  kodi-odroid                           16.1-1+deb8                          armhf        Kodi - award-winning free and open source (GPL) software media player and entertainment hub (ODROID build)
root@odroid-jessie:~# dpkg --list |grep -i systemd
ii  libsystemd0:armhf                     215-17+deb8u4                        armhf        systemd utility library

# X.Org X server configuration file for xfree86-video-mali

Section "Device"
    Identifier     "Mali-Fbdev"
    Driver        "armsoc"
    Option        "fbdev"               "/dev/fb0"
    Option      "Debug"         "false"
    Option        "DPMS"            "false"
    Option        "Fimg2DExa"        "true"
    Option        "DRI2"            "true"
    Option        "DRI2_PAGE_FLIP"    "false"
#    Option        "Fimg2DExaSolid"    "false"
#    Option        "Fimg2DExaCopy"        "false"
    Option        "Fimg2DExaComposite"    "true"
        Option          "SWcursorLCD"           "false"

Section "Screen"
    Identifier   "Default Screen"
    Device       "Mali-Fbdev"
    DefaultDepth 24

Section "DRI"
    Mode 0666

        │                       ├─{console-kit-dae}(1630)
        │                       ├─{console-kit-dae}(1631)
        │                       ├─{console-kit-dae}(1632)
        │                       ├─{console-kit-dae}(1633)
        │                       ├─{console-kit-dae}(1634)
        │                       ├─{console-kit-dae}(1635)
        │                       ├─{console-kit-dae}(1637)
        │                       ├─{console-kit-dae}(1638)
        │                       ├─{console-kit-dae}(1639)
        │                       ├─{console-kit-dae}(1640)
        │                       ├─{console-kit-dae}(1641)
        │                       ├─{console-kit-dae}(1642)
        │                       ├─{console-kit-dae}(1643)
        │                       ├─{console-kit-dae}(1644)
        │                       ├─{console-kit-dae}(1645)
        │                       ├─{console-kit-dae}(1646)
        │                       ├─{console-kit-dae}(1647)
        │                       ├─{console-kit-dae}(1648)
        │                       ├─{console-kit-dae}(1649)
        │                       ├─{console-kit-dae}(1650)
        │                       ├─{console-kit-dae}(1651)
        │                       ├─{console-kit-dae}(1652)
        │                       ├─{console-kit-dae}(1653)
        │                       ├─{console-kit-dae}(1654)
        │                       ├─{console-kit-dae}(1655)
        │                       ├─{console-kit-dae}(1656)
        │                       ├─{console-kit-dae}(1657)
        │                       ├─{console-kit-dae}(1658)
        │                       ├─{console-kit-dae}(1659)
        │                       ├─{console-kit-dae}(1660)
        │                       ├─{console-kit-dae}(1661)
        │                       ├─{console-kit-dae}(1662)
        │                       ├─{console-kit-dae}(1663)
        │                       ├─{console-kit-dae}(1664)
        │                       ├─{console-kit-dae}(1665)
        │                       ├─{console-kit-dae}(1666)
        │                       ├─{console-kit-dae}(1667)
        │                       ├─{console-kit-dae}(1668)
        │                       ├─{console-kit-dae}(1669)
        │                       ├─{console-kit-dae}(1670)
        │                       ├─{console-kit-dae}(1671)
        │                       ├─{console-kit-dae}(1672)
        │                       ├─{console-kit-dae}(1673)
        │                       ├─{console-kit-dae}(1674)
        │                       ├─{console-kit-dae}(1675)
        │                       ├─{console-kit-dae}(1676)
        │                       ├─{console-kit-dae}(1677)
        │                       ├─{console-kit-dae}(1678)
        │                       ├─{console-kit-dae}(1679)
        │                       ├─{console-kit-dae}(1680)
        │                       ├─{console-kit-dae}(1681)
        │                       ├─{console-kit-dae}(1682)
        │                       ├─{console-kit-dae}(1683)
        │                       ├─{console-kit-dae}(1684)
        │                       ├─{console-kit-dae}(1685)
        │                       ├─{console-kit-dae}(1686)
        │                       ├─{console-kit-dae}(1687)
        │                       ├─{console-kit-dae}(1688)
        │                       ├─{console-kit-dae}(1689)
        │                       ├─{console-kit-dae}(1690)
        │                       ├─{console-kit-dae}(3494)
        │                       ├─{gdbus}(1693)
        │                       └─{gmain}(1692)
        │                ├─{in:imuxsock}(1241)
        │                └─{rs:main Q:Reg}(1244)
        │                    └─{rtkit-daemon}(3436)
        │            │                                                                       └─dpkg-deb(3755)
        │            └─sshd(3690)───bash(3698)───pstree(3790)


Share this post

Link to post
Share on other sites

one year (and more) after, your question stay without any answer.

This day, i ask the same question, because i'm on your same problem to not be able to make running kodi.

From OMV3 construct on ArmBian 5.27, with a odroid-xu4, i arrived to install kodi packages, but at run time, black screen and problem for find monitor device. log file doesn't tell more than this, so maybe it should be work because of ability to compil, but i not find to resolve how to see something more than black screen. I do run it from tty console, and i do install xorg, then xdm and lxde for make it running from there... black screen same...

Maybe someone who know and want to share knowledge should help on that point ?

thank you very much.

Share this post

Link to post
Share on other sites

armbian 5.27 used by openmediavault version 3.

I do install kodi from packages (and libcecv3 dependancies). So i think it is ok, kodi is installed.

At running time, no crash, kodi open on UI session (from lxde desktop under openbox windows manager), but black screen (error log only show that there is no device monitor found (why ?).

From there, i don't know what i'm supposed to know/do. I'm searching for an help on that and i see an old post (more than one year) has never been answered, but the post talk about uncompiled kodi... here kodi is well compiled (wel... i suppose, not sure).

please, could you try to help on that ? Maybe someone here allready know and do that, it's time for share, it lakes of information on that.

Share this post

Link to post
Share on other sites

Installing KODI is not trivial on any general OS / Debian / Ubuntu, not even on x86 machine. Second, you try to install it on modern 4.x kernel, which arrived on XU4 months ago and it's not matured. I have no idea if this is already possible. Third. Armbian is not focused to provide multimedia / closed source drivers by default, while I think it should be possible to build KODI on top of Armbian. In any case, start rather with old legacy kernel, check (at hardkernel forum) which additional libraries are needed and than you have much better chances to succeed,

Share this post

Link to post
Share on other sites

Hi Igor,

I understand that 4.x kernel is something "modern" and maybe not mature. I understand that you have no idea if this is possible or not.

Actually, are you interested to help me to try it and see if this is possible ?

Maybe by the way to try we can help to add maturity on that armbian version ? But sure, we will add datas/informations on the subject in any result we find.

If i knew more on system compilation administration, i should try more, actually, i'm stick on that.

Change kernel seems top change many other things... then also have a mature but not so efficient NAS, with old quota, old smartd, old NFS server... and many things outdated (but mature) and systemd service failed, with secure problems, etc... if not, why kernel evolution exist ? Maybe it goes too quick in term of evolution, but that is an other subject and resolve nothing to talk about that.


I would prefer to find someone happy to try to help and make maturity on that armbian version with this kernel version.

thank you for your help and hope you will be interested to try to resolve. Hope you will be this one (and some other).


i think it should maybe not be so difficult for someone who know kodi better (who know ?), because it compile and has no error, maybe just a problem for tell kodi where is the screen device ? I don't know how to impulse a motivation for try to help me on this story, tell me...


Share this post

Link to post
Share on other sites
This topic is now closed to further replies.
1 1