Some thoughts on Amlogic – Part 2

I’m not really sure where to start with this one. Amlogic seems to be doing some funny stuff, both with software and hardware.

Hardware

I thought that I will start with history of Amlogic SoC-s for STB-s or OTT devices or whatever you want to call them but then I figured that mixing that with what I want to say won’t be good and probably would be too long to read.

Instead of that I will focus on last generation of Amlogic STB system on chips (S9 family). First SoC of that family (S905) was available in 2015. That was 2 years ago. Since then we had couple hardware revisions of S905. S905 SoC is 64-Bit quad core ARM Cortex A53 system on chip with integrated Mali 450 GPU, USB 2.0, internal Ethernet PHY (10/100 Mbps) with support for external Ethernet up to 1 Gbps. It implements HDMI 2.0 IP with maximum output resolution 4K at 60Hz and hardware h265 (HEVC) video decoder. Originally SoC was clocked and advertised as 2.0 GHz chip but in later SDK releases for platform it was down-clocked to 1.5 GHz (however, on Amlogic’s openlinux website it’s still stated that it is 2.0 GHz SoC) However, it was lacking VP9 hardware decoding capability. After that S905X was introduced with VP9 hardware decoding which implemented support only for internal Ethernet (10/100) but it was compatible for Android TV certification process (since Android TV requires SoC to support VP9 decoding among other features).

After that, S912 was introduced, Octa core Cortex A53 SoC with Mali T820 GPU, clocked at 1.5 GHz which had Gbit Ethernet support and VP9 hardware decoding.

When I first saw specifications of S912 it looked very promising. But that excitement faded with time. But more on that later.

Couple weeks ago I read that there’s new Amlogic SoC called S805X. I thought it was joke but it seems it is not. As stated on Amlogic’s Android 7.1 SDK releases page, it exists. I tried to get some more info on that chip but only I got is that it is S905X SoC with video output limited to 1080p (?!).

Couple days ago I saw article on CNX Software titled – Tanix TX3 Mini TV Box is Powered by Amlogic S905W SoC. Once again, it’s joke or typo, right? Never heard of S905W yet it exists and this time specs says that video codecs supported are: 4K@30fps H.265, MPEG1/2/4, H.264, HD AVC/VC-1, RM/RMVB, Xvid/DivX3/4/5/6 , RealVideo8/9/10. So basically you have HDMI 2.0 capable of 4k@60Hz but you limited 4K decoding to 30fps?!

This is frustrating, just getting all the info to put in post. There are some other SoC-s like S905L, S905D… and maybe there will be S905Z in future with I don’t know…. Mali 400 GPU that was used in earlier generations? Who knows…

Now I want to say something about software, more precisely Android 7.1 SDKs released (officially) by Amlogic.

Android 7.1 SDKs

This part was actually reason why I wanted to write article but in meantime I decided to add some hardware info and confusion 🙂

Back in March I wrote Amlogic Nougat small review and thoughts post. But now it’s more exciting…. We have some new bugs and some bugs that brought back to life! Awsome….

On Android 7.1 SDK releases page you can see versions that are official so you can follow story I’m going to tell you.

Story:

There was SDK release 2017-06-19 which was decent release. HDMI passtrough was working fine (tested), even HDMI self adoption as they call it was working not only with native VideoPlayer app but with all apps (Kodi, YouTube for Android TV…). What is not fixed and no documentation provided is IR remote issue where IR codes are HARDCODED in kernel device tree include. All of it is described in my post from March but to sum it up, they hardcoded infra-red remote codes into kernel’s device tree include files (yes, for each platform one file. One for GXB, one for GXL, one for GXM and so on).

After that SDK release, as you can see on SDK releases page, new release was made, dated 2017-08-04. That release states that it’s patch for 2017-06-19 release.

Changes in 2017-08-04 version (both versions tested on S912 board):

  • IR issue still not fixed
  • SoC gets extremely hot for no obvious reasons in almost idle state (I’m talking about approximately 20 degrees Celsius difference)
  • HDMI passtrough is not working anymore (but Amlogic engineer I talked to claims that it passed QA on q201 board (S912 board, same as mine). Even shows me small cropped screenshot where someone reported that it passed QA)
  • Google’s ExoPlayer is not working – crash on any attempt of video playback – also happens in latest Android 6.0 SDK (response from engineer that I quote: we test it by the android 7 release. it is in common use)
  • And finally… HDMI self adoption is not working. This is kind of hilarious, I will put below images of sample video results (ffprobe on my laptop and fps calculation on Amlogic S912 device together with current refresh rate on TV). Basically what happens, screen ‘switches’ to refresh rate closest to fps of video, except it doesn’t do that…. It just flickers.

Here is ffprobe of tested video:

And here is Putty output of 2 sysfs nodes when same video is playing in native VideoPlayer app and HDMI self adoption is turned on:

I also said that I will write why S912 excitement started to fade for me…

Well, it is simple. I agree that S912 is not bad SoC at all. Problem is with Linux support for it. Fact that S912 is using Mali T820 GPU and that there are no any Linux userspace libraries available (and probably won’t be) you have only option to use it as Android device. Another fact is that Amlogic hired BayLibre to bring Amlogic GX support to mainline Linux kernel. CNX posted that Shenzhen Wesion company who is behind Khadas VIM development board is working on VIM2 board which will be based on S912 SoC. So, my question is, what is point of development board with features like HDMI output, DVB bus… when you are limited to Linux console and basic framebuffer device without any kind of hardware acceleration (again because there is no Mali T820 Linux support available).

Aside from development boards, there are open source projects like LibreELEC that would love to port Just enough OS for Kodi to S912 devices but they can’t.

Another thing is, Amlogic is stuck in past. They are utilizing USB 2.0 for years, they do not have SATA controller, not to mention PCIe. Take Rockchip for example. They have all of that. They are opening their sources They announced their new official wiki pages with all resources, they host their sources and Mali blobs on their official Github pages. Rockchip is integrated in some of Chromebooks. From that perspective, Amlogic is years behind Rockchip.

Few years ago I had very different opinion when someone would ask me to compare Amlogic and Rockchip. But not anymore. Same goes for Allwinner.

Amlogic, please wake up!

One thought on “Some thoughts on Amlogic – Part 2”

Leave a Reply

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