Amlogic Nougat small review and thoughts


I’d just like to make it clear that all mentioned here is my opinion and mine only. This post will be combined technical and user perspective review of Amlogic Nougat 7.1.1 SDK release 2017-02-22.

Few technical details about this SDK:

  • Original Amlogic source is based on AOSP Nougat branch android-7.1.1_r6 (NMF26Q) which I bumped to android-7.1.1_r26 (NOF27C).
  • Kernel used with this SDK is still version 3.14.29
  • Compared to Marshmallow SDKs, Nougat can be built with as 64 bit Android OS
  • Mali T820 kernel and userspace libraries are still r11p0
  • Internal storage partitions are changed in size, so in 99% of cases I am pretty sure current devices that are on market will not receive Nougat update (at least not 64 bit version). For example, system partition (where Android is actually installed) is now 2 GB in size by default (defined in kernel) while on previous versions (I am sure for Lollipop and Marshmallow was 1 GB). 64 bit version of Nougat running on my test device takes approximately 1.5 GB of space on system partition.
  • There is work to be done and some ‘crazy’ stuff to be sorted out, especially one in particular which I noticed today and it’s connected to IR remote support (more about that at end of post)

UI, design flaws, bugs


Nothing new here. It’s not changed since Lollipop release as far as I can remember. Each tile opens it’s own section, you can add or remove apps on bottom… Usual stuff

Settings (new)

I don’t have any notes what to write here but I believe I will spent most of my time writing about Settings. You will see why in what’s following.

So, on screenshot above you can see that settings are now Nougat style (some of you might be familiar with it if you were using Nexus Player with Nougat or similar device). You open this right hand settings view by clicking on Settings tile in Amlogic launcher. Keep in mind that this is only place from where you can open this. If you are using 3rd party launcher or stock Android launcher or whatever, you will not be able to open settings because there is no icon in app drawer which you can click to open it (like you had in Marshmallow, 2 Settings apps, one with tiles and one normal Android Settings app which you can see on phones or tablets).

From my perspective it can and should be done differently.

Settings (new) design failures

As I said, this my opinion. I will put few more screenshots of settings then I will write something about it.




So, from first three images we can see some consistency in following new design of settings app. Another 3 are just almost copy/paste from Marshmallow and just made to work. I am not designer, but this looks just wrong…

Settings (new) – bluetoothremote

I will put it here just to show how it looks. What it does – beats me. Maybe someone in comments will be able to demystify this for me.


I did not get any documentation on this feature. When you select Upgrade bluetoothremote from settings you get 2nd screen. Before I paired my BT headset this list was empty. And when I tried to pair my OnePlus 3 phone with box it could not see it. So, what it does – I don’t know 🙂

Settings (normal)

First, pictures:


There is not much to say here. Normal Android settings app opens, but as soon as you click on one of items (in this case About media box) app crashes which is visible on 2nd image. And yes, this normal settings app you can start from app drawer (list).

Web browser

Picture again:

Also, not much to say here. However this is not Amlogic’s fault. As I understand, Nougat does not come with default Browser app like we knew it before. Instead it comes with Browser2 which is basically WebView component tester. So if you want to browse on this, you will most probably have to install either Chrome or Firefox or whatever to normally browse web 🙂

Media playback

I am not much of tester when it comes to media, codec testing, but I can say that I did not come to any issues with video playback. If you want some extensive tests on that you’ll have to wait CNX to get one of boxes with Nougat installed 🙂

Crazy stuff to be sorted out – IR remote

I came across very interesting issue. I prepared my Nougat build with my IR remote codes (I took short way – I copied it from Marshmallow tree). It’s simple, Amlogic always used remote.conf which is placed inside /system/etc folder.

And that didn’t work. So two reasons crossed my mind:

  • I built Android as 64 bit OS which means remotecfg binary is also built as 64 bit binary. During my earlier work with 64 bit Linux based OS on S905 I had issue with that binary causing segmentation fault and fixed that issue on Linux. So even before building Nougat I checked remotecfg source to see if Amlogic fixed issue they had and I saw they did not, so I applied my patch there.
    Conclusion – remotecfg binary is not issue, it does not crash
  • Another thing that crossed my mind is that maybe Amlogic changed structure of remote.conf file (which they did in Marshmallow I think, to support multiple remotes). That check also came back as not causing issue.

So, I went back to check on debug port (UART) what is going on and on each press of button on remote I would get output:

And no, it is not typo 🙂

After that, I tried to find cur_custom string in remotecfg sources without luck. Then I went to check kernel side (IR remote driver). Indeed, kernel was throwing that error.

Digging little deeper I ended in looking at kernel device trees for Amlogic boards. What I found was… horrible is the word?

If you are familiar with kernel structure, device trees and stuff this will make sense to you. If not, well…. they blew it.

Kernel device tree is basically DTS file which includes some other platform related DTSI files. And in THAT DTSI files I found HARDCODED key mappings for exactly 3 remotes. Here is how it looks like:

Honestly, I’m pretty shocked by that. To include something like that in device tree for particular board (eg. gxm_q200_2g.dts) – well, ok. Not ok, but at least it’s not hardcoded to all device trees which include eg. mesongxm.dtsi.

If some of things will be fixed/changed from Amlogic side I don’t know. I hope if someone from Amlogic reads this post things may change to better.

As for me and my work, I’m not relying on all Amlogic changes they make and as I said in beginning – I made my private GIT server with my repositories and I bumped Android version. Btw, bumping Android version has nothing to do with bugs or issues mentioned here.

18 thoughts on “Amlogic Nougat small review and thoughts”

  1. Hi Stane,
    in the SDK which you have access, there is a:
    fbdev library for S912?
    X11 library for S912?
    Wayland library for S912?

  2. Hi Stane.
    I know you said you are not a media codec tester, but just wanted to know if you used Kodi to test, and if so, does refresh rate switching work? (Settings / Player / Video / Adjust Refresh Rate/ On Start Stop)
    If it does, Kodi should be able to change the refresh rate from whatever the system resolution / refresh rate is set to, to the match the resolution / refresh rate of the video (eg system set to 1080-50, video to be played back is 1080/24 and when played in Kodi 17 with settings checked as above, TV is changed to 1080/24).

    1. No, in Kodi 17.1rc1 it does not work in any combination. In native Amlogic player it works when ‘HDMI self adaption’ mode is turned on. So there is still work to be done on that part also.

  3. Hi Stane,
    I’ve got a Mecool MS8 Pro + with Android TV 7.1.2 Rom.
    If I want add my LG Magic Remote to control the box I should recompile the kernel? (I don’t want to use CEC…)

  4. Hello
    After you edited the device tree, I think your repeat key does not function! So if you hold LEFT key for example, it only moves one step. (BAD UX!!)
    Is my guess true?
    I think there should be a way to use remote.conf on nougat!

  5. Hello Stane,

    I am building Oreo for my device its p212(S905X), it successfully build it, but unfortunately neither remote nor usb keyboard, mouse works. I am really not sure why they dont work

    1. USB port used for USB burning is set to be OTG port, means you can connect it to PC to use with adb and other android SDK tools. Try another port.

      For IR remote to work, you have to modify DTS and add your remote.

      1. Hi, I modified the dts file but I’m with trouble to wake up the box from shutdown state.
        I’m working with s905x p212.
        Did you had a problem like that?


        1. Hi and sorry for late reply… Wakeup from suspend/shutdown has nothing to do with DTS. IR code for that is hardcoded in bootloader so you will have to rebuild uboot to match your configuration.

    1. CONFIG_USB_DWC3=y
      # CONFIG_USB_DWC3_HOST is not set
      # CONFIG_USB_DWC3_GADGET is not set
      # CONFIG_USB_DWC3_PCI is not set
      # CONFIG_USB_DWC3_OF_SIMPLE is not set

      Here’s my configuration

Leave a Reply

Your email address will not be published. Required fields are marked *