Archive

Posts Tagged ‘amlogic’

Kodi 17 Setup and Audio/Video Support in Amlogic S912 TV Boxes (as of September 2016)

September 16th, 2016 6 comments

Most people installing Kodi are going to select Kodi 16.1 as of today, since it is the latest stable release. But I’m currently reviewing Qintaix Q912 TV box based on Amlogic S912 octa-core processor, whose Android 6.0 firmware includes Kodi 17 Alpha 3, so since that’s the first time I run Kodi 17 “Krypton”. I’ve decided to report my experience about the interface, and the current status about audio and video support by testing some 4K videos, and audio files. I used the latest available firmware for the test.

Click to Enlarge

Click to Enlarge

Kodi 17 can be found on the main launcher, and for the first launch, we’ll see the default skin has been replaced from Confluence to the new Estuary skin.

Click to Enlarge

Click to Enlarge

It’s a little confusing a first. We can access the setup menu by going to the icon on the bottom left, just on the right on the power button, and then select System Information to confirm Kodi 17 Alpha 3 is installed on the device.

kodi-17-system-info

Click to Enlarge

Once of the first thing I normally setup in Kodi Android is automatic frame rate switching option, It can be found in Settings->Player Settings->Videos, after setting options to Advanced. I can then set Adjust display refresh rate to On start / stop as I did in Kodi 16.1.

Click to Enlarge

Click to Enlarge

I also setup HDMI audio pass-through by going to Settings->System settings->Audio, Enable passthrough and the other relevant options including Dolby Digital (AC3), DTS, and DTS-HD. There’s no TrueHD option in Kodi 17, at least in the version loaded in Qintaix Q912.

Click to Enlarge

Click to Enlarge

I also added a SAMBA share to play my test videos. The procedure has slightly changed due to the new skin. Go to Videos, then select the Files icon on the top right, and you’ll be able to click on Add videos and browse Windows network (SMB) shares to add your own.

Click to Enlarge

Click to Enlarge

Now that everything is setup, it’s time to test some 4K videos:

  • 4K Hawaii Sunset _ GoPro Hero 4 Black [email protected] (No Audio) – OK
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265 @ 30 fps – No audio) – OK
  • big_buck_bunny_4k_H264_30fps.mp4 (H.264 @ 30 fps – MPEG1/2 and AC3 audio) – OK (when audio pass-through disabled)
  • BT.2020.20140602.ts (H.265 Rec.2020 compliant – AAC audio) – OK
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (H.265 @ 60 fps – AC3) – OK
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – OK
  • The.Curvature.of.Earth.4K.60FPS-YT-UceRgEyfSsc.VP9.3840×2160.OPUS.160K.webm – Watchable, but not perfectly smooth. Same result as on other S905X / S912 TV boxes
  • Tara-no9-webm (4K / VP9 @ 59.940 fps) – OK

So it’s not too bad as all videos above play smoothly with hardware decoding, except automatic frame rate switching is not working, and there are two black bars on the sides of the video. I tried to change the View mode to Zoom, but then there’s some “frame jumping” – for the lack of a better word – going on, as you’ll see in the video below.

The next step was to try HDMI audio pass-through, and my DD 5.1 sample worked fine, however big_buck_bunny_4k_H264_30fps.mp4 above had frequent audio cuts, and it also slowed down the video. TrueHD is not supported at all, and audio will be downmixed to PCM 2.0, while videos with DTS-HD and DTS-X audio would just show a black screen (3 out of 3 of them), and no audio.

The good news is that hardware decoding of 8-bit and 10-bit H.265 and VP9 is working quite well even in the alpha version of Kodi 17, but there are still bugs to fix, as expected, and audio pass-through is not usable.

Amlogic S905, S905X, and S912 Processors Appear to be Limited to 1.5 GHz, not 2 GHz as Advertised

August 28th, 2016 161 comments

When I compared the performance Amlogic S905 and Rockchip RK3368 processors  last year, I noticed Amlogic S905 single thread performance not being much faster than the one of Rockchip RK3368, despite the former allegedly clocked at 2.0 GHz against the latter 1.2 GHz. But early this month one member (koschi) on ODROID forums started a thread entitled “No performance difference between 1.5, 1.75 & 2GHz” about ODROID-C2 board.

Amlogic_S905_1.5-GHz

The first post link to Ant-computing website about choosing a processor for a build farm, and one of the tables comparing various ARM and x86 processors with the claim that Amlogic S905 was listed to 1.536 GHz, because “the device claims to run at 2.016 GHz but the kernel silently ignores frequencies above 1.536 GHz!”

ARM_x86_CPU_Comparison_TableSo koschi did his own tests with 7z and sysbench, using cpufreq-set -u $FREQ to set a fixed frequency between test, and could confirm the issue:

So it looks like Amlogic is cheating with the frequencies, and anything above 1.536 GHz does not change the results… There has been many comments in the thread with others confirming the issue. Hardkernel investigated the issue, and the answer while truthful is disappointing:

Please don’t waste your valuable time.
All the Coretex-A53 based Amlogic SoCs have the same issue. S905, S905 Rev-C(S905H), S905X and even S912.
The kernel clock frequency 1.75 and 2Ghz do not exist in the BL3x blobs.
It must be Amlogic’s fault. But we should detect it earlier in our internal development stage. Really sorry about that mistake.

We’ve been modifying/testing the BL3x code to find a maximum feasible/stable clocks like 1.53Ghz, 1.58Ghz, 1.61Ghz, 1.65Ghz, 1.68Ghz, 1.71Ghz, etc for a couple of weeks.
But 1.65Ghz seems to be the maximum one due to some power and heat issues. We will run the burnA53 on Ubuntu and the Stress app on Android with 10 set of C2 boards in this weekend (for 48 hours stability test) to make sure it.
Once we will have a test result, we will report it on this thread with update package for further sampling test in early next week.

If we disable two cores, the SoC can run up to 1.75Ghz probably. But we need further stability test too.
And yes. I fully agree most people don’t like this approach.

Anyway, we know well 1.65Ghz or 1.75Ghz is still very far from the 2Ghz. So we will change the C2 specification in our home page next week as per the test result.
And we must consider some compensation for C2 users. But we need to check what we can do first.

Please accept my sincere apologies for the mistake and kindly understand our situation.

The only good news is that the limit might not be 1.5 GHz, and possibly closer to 1.7 GHz, with the final number pending Hardkernel burn-in test results. That issue will not only affect ODROID boards, but also any other devices based on Amlogic S905, S905X, and S912 processors.

Thanks to Tim for the tip.

Amlogic Releases Linux 3.14 Source Code for S905X, S905D, and S912 Processors, Has Started Working on Linux 4.4 / Android 7.0

August 19th, 2016 26 comments

Amlogic has just released buildroot with Linux 3.14 with support for Amlogic S905X (p212 board), S905D (p230 board), and S912 (Q200 board) processors, and the company appears to have started working on Linux 4.4 likely for future support for Android 7.0.

Amlogic_S912_Linux_BuildrootYou can check the source code as follows:

If you have the wrong toolchain the code won’t build (See comments section). So I installed several toolchains provided by Amlogic (all may not be needed) in /opt:

I also downloaded a shell script to add the toolchains to my path:

Once toolchains are setup, you can select one of three boards config (Q200 / S912 as example) and start building the code:

If you are interested in S905X or S905D instead, use respectively mesongxl_p212_release_defconfig or mesongxl_p230_release_defconfig.

I built both S912:

and S905X images successfully:

Separately, you can also find buildroot for Linux 4.4, but this is very likely very early work, and should be used together with Amlogic Android 7.0 SDK once it is released.

M12N Amlogic S912 TV Box Benchmarks

August 17th, 2016 19 comments

Since Shenzhen Shiningworth MXQ Plus M12N is my first TV box powered by Amlogic S912 octa-core processor, I’ve decided to write a separate post to show system information with CPU-Z, and benchmark results with Antutu 6.x, Vellamo 3.x, and 3Dmark Ice Storm Extreme. Please note that it may not be representative of all Amlogic S912 boards, as mentioned in the teardown post, there are some concerns about the thermal design of M12N TV box.

M12N / Amlogic S912 System Info

I’ve merged CPU-Z’ SOC, DEVICE and SYSTEM data into a single table.

Click to Enlarge

Click to Enlarge

The app correctly detects an 8 core Cortex A53 processor @ 100 MHz to 2.02 GHz with an ARM Mali-T820 GPU. The brand for this particurlar device is MXQ, and Model m12n. Frame buffer resolution is 1920×1080, and memory and storage data are both OK for a box with 2GB and 16GB flash. The device runs Android 6.0.1 on top of Linux 3.14.29.

M12N / Amlogic S912 Benchmarks

With 8 cores and a faster GPU, I was expecting a much higher Antutu 6.x score with Amlogic S912.

Antutu_6_Amlogic-S912_M12N
The box however only achieved 41,303 points in Antutu 6.2, which compared to 38,032 points on Amlogic S905 based MINIX NEO U1 running Android 5.1 with the same Android 6.x benchmark. The 3D score is naturally higher because of the fast GPU, and also begin the MaliT-820MP3 GPU also supports OpenGL ES 3.1, which was skipped on Amlogic S905. UX, CPU and RAM scores are about the same, or slightly lower in Amlogic S912. So there’s a problem here either because of thermal design, or Android 6.0 Amlogic SDK still needs some work. I launched the benchmark again another day, and got 38,798 points.. 3D was a little higher (9,353), UX and CPU slightly lower (14,088 + 12,414), but RAM test collapse d to 2,943 points.

Vellamo 3.2 offers some more perspective, and one of the Multicore tests failed (see yellow “warning” triangle) because of a “Sysbench issue with Finepar: Invalid CPU mode”.
Vellamo_AMlogic_S912_M12N
For reference, MINIX NEO U1, one of the fastest and most stable Amlogic S905 TV boxes, got respectively 1,587, 1,235, and 2,157 points for Multicore, Metal, and Browser scores. Again, that’s not a pretty picture for Amlogic S912 or M12N TV box.

3Dmark Ice Storm Extreme provides a slightly more positive picture.

Click to Enlarge

Click to Enlarge

M12N achieved 5,752 points, against only 4,327 points for MINIX NEO U1. You’ll also note the CPU frequency appears to maxes out at 1.5 or 1.6 GHz instead of the claimed 2.02 GHz. M12N score is quite lower than the 7,512 points achieved in Rockchip RK3288 (ARM Mali-764 GPU) based Tronsmart Orion R28 running Android 4.4, and released in 2014.

Results are quite lower than what I would have expected, so there could be a problem with cooling (despite the rather short Android benchmarks), and/or Android 6.0 Amlogic SDK or M12N firmware might need some more work.

Amlogic S905 vs S905X Benchmarks Comparison

July 31st, 2016 25 comments

We’ve already compared the main features between Amlogic S905, Amlogic S905X and Amlogic S912, with Amlogic S905X being an upgrade of Amlogic S905 with the same quad core Cortex A53 cores and Mali-450MP GPU but adding VP9 hard ware decoding, HDR support,  and integrating 10/100 Ethernet PHY and audio codec to lower the cost. The CPU frequency was also said to be lowered to 1.5 GHz in early document, but TV manufacturers keep promoting Amlogic S905 as a 2.0 GHz processor, and I noticed CPU-Z and Antutu also reported the maximum frequency to be 2.02 GHz.

Amlogic_S905_vs_Amlogic_S905XIn that case the performance should be about the same for both processors. Let’s find out by comparing benchmark results between Amlogic S905 based MINIX NEO U1 (Android 5.1) and Amlogic S905X powered MINI M8S II  (Android 6.0) using Antutu 6.x, Vellamo 3.x, and 3DMark Ice Storm Extreme 1.2. A ratio greater than one means Amlogic S905X is the fastest for a given test.

Amlogic S905 Amlogic S905X Ratio
CPU Quad core Cortex A53 @ 1.5 GHz* Quad core Cortex A53 @ 1.5 GHz*
GPU Penta-core ARM Mali-450MP Penta-core ARM Mali-450MP
Antutu 6.x
Overall 38,032 33,553 0.88
3D (1920×1080) 3,979 3,099 0.78
UX 15,690 12,365 0.79
CPU 13,458 12,438 0.92
RAM 4,905 5,651 1.15
Vellamo 3.x
Metal 1,235 910 0.74
Multicore 1,589 1,491 0.94
Browser 2,157 1,855 0.86
3DMark – Ice Storm Extreme v1.2
Total score 4,327 4,183 0.97
Graphics score 3,698 3,709 1.00
Physics score 10,689 7,561 0.71

[*Update: Amlogic S9xx processors have recently been found to be limited to 1.5 GHz only]

Please note that currently most S905 TV boxes run Android 5.1, while Amlogic S905X devices are already running Android 6.0, so the latter may benefit from some small performance boosts due to more recent firmware. But in any case, that represents a side-by-side comparison of what you can expect from devices sold on July/August 2016, although some Amlogic S905 devices are now getting Android 6.0 Marshmallow firmware updates.

The main takeaway is that you should expect slightly lower performance from Amlogic S905X compared to S905, so the new processor is only interesting if you need 4K VP9 hardware decoding (not usable for YouTube 4K, except in the upcoming Xiaomi Mi Box), and/or High Dynamic Range support, or if the price is cheaper compared to an equivalent S905 TV box.

LibreELEC 7.0 Ported to Amlogic S905 TV Boxes & ODROID-C2 Board

July 18th, 2016 37 comments

Most TV boxes are now sold pre-loaded with Android, but there’s still a fair amount of people who only want to play videos in their box, or only run Kodi, so they may prefer a Linux experience. Some companies provide ready-to-use solution such as ARNU Box Mach 10 64-bit Pure Linux, but in some cases it’s also possible to side-load OpenELEC or LibreELEC, with the main advantage being that it is usually quite cheaper at the cost of being a bit more complicated.

LibreELEC_AmlogicThanks to a comment by Sabai, I discovered LibreELEC 7.0.0 had been (unofficially) ported to Amlogic S905 TV boxes, and tested one devices such as NEXBOX A95X (S905), WeTek Hub, Beelink S905 Mini MXIII, MXQ Pro 4K, and others. If you own an ODROID-C2 board, you can load another LibreELEC 7.0.0 image.

If you are unsure whether your Android TV box is supported, you should first try the SD card method by copying  aml_autoscript, kernel.img,  SYSTEM and 2 md5 files to the root of the SD card, and enter recovery. This is all explained in details in the forum post linked above, and this will not affect your Android installation nor data.

If you’re happy with the results, and don’t plan to use Android anymore, you can flash LibreELEC to the NAND/eMMC flash. The procedure is the same as the SD card method, except the files are different, and you’ll have to copy aml_autoscript, factory_update_param.aml and an update zip file containing LibreELEC firmware to the SD card.

The developers have already fixed many bugs, but at the time of writing there are still a few known issues for the TV box version:

  • Reboot and poweroff may take a long time or don’t work at all when using Broadcom WiFi
  • No multichannel PCM audio
  • Jerky playback of some 29.97fps videos and some Live TV channels
  • CEC is still a bit buggy

There are also some unsupported features such as SSV6051 WiFi, front LED/segment displays, and built-in DVB tuners.

You can report other bugs on LibreELEC forums. If you’ve tried it on your own Amlogic S905 TV boxes, it might be nice to report success or failure in comments too.

Amlogic S912(-H) TV Box Boards Are Starting to Show Up

June 28th, 2016 20 comments

Amlogic S912 is one of the most expected processor this year for TV box users, and while there’s still a few months development needed before devices based on the new platform go on sale, some boards have started to surface on the Internet.

Click to Enlarge

Click to Enlarge

The first board named S912_MBX_REF_Q02_V01 is shown above, and has the following specifications:

  • SoC – Amlogic S912 or S912-H octo core ARM Cortex A53 processor @ 2.0GHz  with ARM Mali-820MP3 @ 750MHz+
  • System Memory – 2GB  (Optional 1GB)
  • Storage – 16GB eMMC flash (Optional 8GB) + micro SD slot
  • Video Output – HDMI 2.0 and AV ports
  • Audio Output – HDMI, AV, and optical S/PDIF
  • Connectivity – Gigabit Ethernet, WiFi 802.11 b/g/n/ac + Bluetooth 4.0
  • Misc – IR receiver, recovery push button (behind AV jack)

As a reminder the -H suffix means Dolby and DTS licenses are paid for, so audio down-mixing will work in all apps.

Click to Enlarge

Click to Enlarge

The second board is called S92-V01, will likely found its way into MXQ S92 or similarly named products, and specifications are quite similar except the AV is gone, and it features one extra USB port. Both boards also appear to provide easy access to the serial port.

Does Amlogic S905X Support USB 3.0?

June 24th, 2016 12 comments

Despite Amlogic roadmap claiming none of the upcoming Amlogic TV box SoCs will support USB 3.0, I’ve been informed that Amlogic S905X might already support USB 3.0. So I had a check with NEXBOX A5 TV box.

USB_3.0_LogoFirst we can see dwc3 (DesignWare USB3) module is loaded:

then this happens when I connect a USB 3.0 hard drive or flash drive:

The important point here is xhci, which stands for “eXtensible Host Controller Interface” and supports USB 1.x to USB 3.x devices.

The next step is to check performance, but since S905X is running Android 6.0, I went through permission issues with both A1SD bench and Disk Speed apps, so I reverted to using dd to read a large file to /dev/null.

Result with USB 3.0 hard drive:

That’s about 35.6 MB/s, which would be an excellent USB 2.0 transfer rate, but not quite USB 3.0 material, and the drive can achieve around 100MB/s in a Linux computer with USB 3.0 port.

Results with USB 3.0 flash drive:

That’s 21.07 MB/s, which is quite typical for USB 2.0 transfers.

So while a USB 3.0 driver is loaded into memory, those results don’t quite point to much better performance. [Update: After further study, the speed is also limited to 480 Mbps (USB 2.0 speed), see comments below]