Armbian + KODI (Ubuntu\Debian) for SD & USB & eMMC

Hello! I made the steps for creating the SD of Armbian 5.60 (20180925) by editing the file “/extlinux/extlinux.conf” with the DTB of Khadas VIM2, but the system booted through SD, but continued to recognize the 4.9.40 kernel, from the system present in the EMMC, the VIM2_Ubuntu-xenial_Linux-3.14_mate_arm64_EMMC_2018-05-31.

Is Android required in EMMC to use the system with Kernel 4.18? What is the simplest way to boot from SD and use Kernel 4.18?

Until version 5.59 the mainline kernels were properly recognized with the SD boot on the same system with the same EMMC image.

See carefully the instructions. Use the version 20180928, You need to make a change to the “uEnv.ini”. File “extlinux.conf” is used when a new uboot-2018 is installed in the eMMC.

Ver Armbian 5.62 (20181008). kernel 4.18.


I read through the thread a few times and it is not clear which update supports h/w acceleration for video on VIM1 GLX. I have only tried 5.62 so far and mpv does not run smoothly at all.

My goal is to compile c2play and use aml codec directly so I would be interested in knowing if either fb or x11 libMal’s work without libhybris.


The s905x does not need libhybris. There are all libMali libraries for Linux. amcodec only works on kernels 3.14 and 4.9. Image versions >=5.55 4.18 using the engine and another mode HW (v4l2-m2m).

Thanks. I will go back in time a bit, I hope it works as easily as your current build. Is there a basic video player for v4l2-m2m in the current release to demonstrate this?

Your work is much appreciated.


At the current time most V4L2 players will need some level of source patching to use the V4L2 vdec because the V4L2 universe is in a fluid state. If FFmpeg in this image has the patch-set we created for Kodi (which wraps FFmpeg) applied it should be usable. Other players might work if used on bleeding edge versions; older ‘stable’ releases almost certainly won’t work. The global state of V4L2 players should stabilise after requests-API changes land in the ~4.20 kernel. Then everyone has a static API target to revise their codebase around.


In Armbian with kernel 4.18 (5.62) there are some necessary elements for v4l1-m2m. I have not yet managed to assemble the rest of the components to work in HW mode.

Armbian 5.62 (20181012) and NEXT image update.
Fixed a power-down issue on VIM2 (thanks to the Libreelec developer community for finding and fixing the bug).

1 Like

Thanks @balbes150 and @chewitt I understand the current state much better right now. I was hoping that c2play would be an option for simple playback like omxplayer for the RPi for a project I am working on. I am looking forward to the future developments with a lot of interest, I have been following amlogic changes since my old Pivos players and things do look very promising. Thanks also for your hard work.


You can freely use previous versions of Armbian (or any other Linux) with kernel 3.14 and build c2play on VIM1 S905X for it. All the necessary libMali libraries are there. libhybris is not needed for c2play on S905X. It is only used on S912 (because there are no native libMali libraries for Linux).

I installed Armbian 5.62 with uboot 2018 and I have intermittently in the network, I tried to manually set the speed on 10 Mhz but still decoupling me. I mention that it is in dhcp mode. Does anyone have any method of eliminating repeated decoupling?
Thank you.

New version 20181018 of the image with kernel 4.19 and fixed MPV config.


New ver 5.64 20181019

After fixing the MPV config, it became possible to watch full screen video up to 1080p on VIM1. The quality of course is not perfect, but enough for use in desktop mode. For high-quality video playback 1080p and 4K need to use specialized systems Libreelec. To watch Youtube videos in full screen, you can use the SMplayer + Smtube bundle with the corresponding options setting.


For those who want to work on HW support on their own, there are two components on the site.

  1. Module “mali.ko”
  2. Archive with libMali.

The working version of xf86-video-armsoc is missing. I have a package (for Xenial) that gathered Numbqq (dev with Khadas), but the system does not accelerate and it needs to be corrected.


For those who have issues with wired networking on VIM2 in the latest 5.64 images, I have downloaded a test dtb file (with the patch added). Please to those who have a problem with the network, check this option and write out the result.

1 Like

Just curious: what change did you apply to kvim2 dts file to improve wired networking ?

^ probably this one, which is an educated hunch based on similar reports of ethernet issues under load with the Odroid C2 and other Amlogic devices.

1 Like

Yes, this is an old patch, I used it for a long time, even for the s905 Vega s95.

1 Like

Cool. I use similar eee-broken-1000t for my minimx-g meson-gxbb-p200 dts.
Will try it on meson-gxm-khadas-vim2 soon and let you know.
FYI: my MINIMX-G runs my 4.18.x-gentoo kernels just fine but my VIM2 had network issues.
In fact, for meson-gxbb-p200 I have amlogic,tx-delay-ns = <4> too, but not sure if such would eventually also be needed for meson-gxm-khadas-vim2.