Archive

Posts Tagged ‘amlogic’

Amlogic S905X and S912 Processors To Support 4K VP9, HDMI 2.0a, Built-in DAC and More

December 17th, 2015 13 comments

I had heard some news that Amlogic S912 was delayed, and even possibly canceled, while talks about a new S908 processor surfaced recently with support for VP9 up to 4K resolution. We now have some more details as I’ve received some more information about Amlogic product roadmap, and S908 should be renamed S905M [Update: The name will apparently be changed to S905X now, the saga continues…]

Amlogic S905 Amlogic S908 / S905M / S905X
Amlogic S912
CPU Quad core Cortex A53 @ up to 2.0 GHz Quad core Cortex A53 @ up to 1.5/2.0 GHz Octa core Cortex A53 @ up to 2.0 GHz
GPU Penta-core Mali-450 up to 750 MHz High perf gaming GPU
Memory 16/32-bit DDR3, LPDDR2/3
Up to 2GB, DDR2133
16/32-bit DDR3/4, LPDDR2/3
Up to 2GB, DDR2400
Storage NAND [email protected]
eMMC 5.0, SD, Nor Flash
Video Decoding 4Kp60 10-bit HEVC, 4Kp30 H.264 4Kp60 10-bit HEVC, VP9
4Kp30 H.264
Video Encoding H.264, [email protected] H.265, [email protected]
Ethernet 10/100/1000 RGMII 10/100/1000 RGMII, 10/100M PHY
Audio DAC N/A Built-in Stereo DACs
USB 2.0 2.0 and 3.0 (TBC)
TV Output 4K2K HDMI 2.0, CVBS 4K2K HDMI 2.0a, CVBS
HDR N/A HDR10 Dolby Vision, HDR10
DTV Ts in
Products 4K HDMI dongle, OTT/IP-STB Cost effective low power 4K HDMI dongle, OTT/IP-STB High-end 4K OTT/IP-STB, gaming box

While Amlogic S905 and S905M will have a hard-limit to 2GB RAM, S912 will support dual channel memory and up to 4GB RAM. The two new processors will also support 4K VP9 video decoding, feature a DAC, HDMI 2.0a, support for HDR10 media profile and/or Dolby Vision. Both will also an embedded 10/100M PHY which will bring the cost down for devices with Fast Ethernet. Amlogic S912 will also support USB 3.0 interface and H.265 video encoding up to 1080p60. The document did not reveal the details about the GPU used in the two new processor, but it’s clear Amlogic S912 will have a powerful one good enough to be used in Android gaming console, and there have been some clues that S912 GPU could be Mali-T830 in the past.

Amlogic S9xx DRM Secure OS

Amlogic S9xx DRM Solution with TrustZone and Secure OS

The company has also improved DRM support in their latest processors, including S905 itself, with support for Google Widewine Level 1 & 3, Verimatrix Standard and Advanced, Microsoft Playready 2.0 (TVP and non TVP), Internet Marlin 1.7, and Vudu DRM. DRM is enabled thanks to “Secure OS”, but it’s not needed for the most basic DRM solutions such as Widewine Level 3, Verimatrix Standard, and  PlayReady 2.0 Non-TVP. So as we’ve seen recently that most Amlogic S905 TV box lack DRM support, a firmware upgrade should be enough to enable these, but any DRM scheme that requires Secure OS is likely impossible on devices that have not been flashed with Secure OS at the factory.

Amlogic S905M/S905X will come before Amlogic S912, but so far I don’t have exact ETA for either processors, so we’ll need to be patient.

How to Root Amlogic S905 based MINIX NEO U1 Box in Windows and Linux

December 15th, 2015 24 comments

MINIX NEO U1 is a great device, but if you have some apps that require root access, the firmware is not rooted by default. AndroidPC.es just posted instructions to root the device in Windows, and I’ve also adapted Daemonium’s batch script for Windows as a shell script in order root the device from Linux. Please note that this will break OTA firmware update, so you’ll have to upgrade firmware manually after rooting.

MINIX_NEO_U1_Root

The most steps are common between Linux and Windows

  1. Enable Developer options, by going to Settings->Advanced Settings->About Mediabox, and click 6 or 7 times in the Build number section, until the new menu is enabled.
  2. Go back once, and access Developer options to make sure USB debugging is enabled
  3. Now go to Settings->Network to check and note your IP address (WiFi or Ethernet)
  4. Download and extract AndroidPC.es_MINIX_NEO_U1_root_v01_Daemonium.zip

They also asked to install WiFi adb in your system, but I did not need to do so with the Linux procedure, and it’s likely not needed on Windows either.

Windows remaining instructions:

  1. Run root_u1.bat script with NEO U1’s IP address as argument (e.g. 192.168.1.99)
  2. Press Enter when asking to continue, and the system will install the necessary files located in root directory
  3. The system will then automatically reboot and MINIX NEO U1 should be rooted

Linux remaining instructions:

  1. Download root_s905.sh shell script and copy it into the same directory as root_u1.bat
  2. Run the script as follows with your device’s IP address as argument:
  3. Press Enter when asked if root access via adb is successful, and the script will copy the files on your system, and reboot it automatically
  4. MINIX NEO U1 should now be rooted.

Both Windows and Linux scripts might also work with other devices, but they required adb root to provide a shell script with root access, which won’t be the case for all firmware.

How to Run Headless Linux on Amlogic S905 Devices Such as MINI MX or K1 Plus

December 6th, 2015 118 comments

A few week ago, I had been informed that Amlogic S905 U-boot and Linux source code was released, and one person use the code and other resources to load a minimal Ubuntu 14.04 image to his K1 Plus TV box and released the installation instructions and the image (Thanks olin!). I also have K1 Plus here, but since I’ve just finished reviewing Beelink MINI MX, I decided to use the latter instead. The instructions below boot Linux from the (micro) SD card, and can still boot Android if you remove the SD card.

Modifying U-boot environment

The instructions include opening the box, and connecting or soldering a USB to TTL debug board to access U-boot and change some parameters. But later once an image with network is working, you could also build and load fw_setenv and fw_saveenv, and do the same steps with an Android shell and without the need to open the device.

Click to Enlarge

Serial connection to MINI MX (Click to Enlarge)

K1 Plus has the UART headers populated so you don’t have to solder anything, but MINI MX requires a little bit a soldering on the clearly marked Tx, Rx, GND pins.

Connect your USB to TTL debug board to your computer, configure minicom / putty / screen to 115200 8N1, start the board, and press the space bar to interrupt the boot:

You may want to run printenv in order to back the default settings:

Now you can change some settings in U-boot in order to allow for Linux to boot from SD card. If you are doing so directly in Android terminal via adb, you can replace setenv and saveenv by fw_setenv and fw_saveenv (no present in MINI MX firmware):

Flash Ubuntu image to the SD card

First download the Ubuntu image: ubuntu-14.04-headless-arm64.7z.

I’ve done this step in an Ubuntu computer, but you could also perform the same steps in Windows with 7pzip and Win32DiskImager. Install required tools and uncompress the image.

Insert the micro SD card (2GB or greater) in your computer, check the device with lsblk, and flash the image to your SD card by replacing /dev/sdX in the command below by your actual device.

Get the Device Tree File for Your device

If you are trying this on K1 Plus, you can skip that step, but if you are using another device, in my case Beelink MINI MX replacing the device tree file in /boot/dtb.img might be a good idea. For example, MINI MX would only get a Fast Ethernet connection with K1 Plus device tree file, but once I extracted the one from the Android firmware I got an Gigabit Ethernet connection.

If you’ll need to get boot.img either from some firmware update file, or directly from the NAND flash. I don’t have firmwre for MINI NX, so I dumped the boot partition with an adb shell:

Then I followed the instructions to extract a device tree file from Android, until I get boot.img-second.gz file, which I copied to the boot partition in the SD card with Ubuntu

Run Ubuntu in MINI MX

You may want to extend the rootfs partition in the SD card with gparted, or you’ll only have a small part of your SD card used. Now insert the SD into your Amlogic S905 TV box, and connect the power.

After some time getting wasted waiting for the network, you should be able to access to command line by logging in with user debian and password temppwd:

That’s a minimal image so there’s plenty of free space and memory:

All four cores are shown when I check the cpuinfo:

The kernel is build with Android’s option “CONFIG_ANDROID_PARANOID_NETWORK“, so all network configuration must be done with root:

So there’s some work to be done, but at least that’s a start.

[Update: It’s easy to put the case together with the serial wires by cutting the plastic case a little.

Beelink_MINI_MX_with_UART_cables]

 

H.264 & H.265 4K Video Playback on Amlogic S905 Android TV Box

November 27th, 2015 24 comments

I’ve almost completed my review of Videostrong K1 Plus Android box powered by Amlogic S905, and while there are many shortcomings, 4K video playback is actually pretty good with Android’s Video Player (Kodi is not really usable @ 4K).

4K_10-bit_H.265_Video

4K 10-bit HEVC Video Played in Android Video Player

I connected the device to LG 42UB820T 4K UHD TV, and set video output to 2160p @ 60Hz, and went through several video samples:

  • 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
  • big_buck_bunny_4k_H264_60fps.mp4 (H.264 @ 60 fps – MPEG1/2 and AC3 audio) – Video looks somewhat OK, but big audio delay or AV sync issue.
  • BT.2020.20140602.ts (H.265 Rec.2020 compliant – AAC audio) – OK (First time I can play this video on any hardware).
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (H.265 @ 60 fps – AC3) – Video is very good, but no audio
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC @ 24 fps – no audio) – OK
  • phfx_4KHD_VP9TestFootage.webm (VP9) – 3 to 4 fps (software decode)
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – Perfect!
  • Sintel.2010.4k.mkv (H.264 @ 24 fps – AC3) – Video OK but no audio
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) – Most of the time OK, but it will freeze and the same exact point every time for several seconds.

You can watch the tests in the video below.

I have to say I’m pretty pleased with 4K support on Amlogic S905 so far. 4K H.264 @ 60 fps and VP9 are simply not supported by the VPU in Amlogic S905 SoC, and the only problem I’ve seen with regards to video was with the DVB-S2 stream bug, which could be software or hardware, with the latter requiring a new silicon revision. Only time will tell. That’s not to say there’s still some work to be done, as DTS and Dolby are not supported in the device I tried, and if you are interested in Kodi, you’ll need to be a little more patient.

You can find links to the videos in the comment section of this list of video samples.

How to Update Firmware on Amlogic S905 TV Boxes

November 24th, 2015 128 comments

Videostrong has just sent me a new firmware for K1 Plus mini PC based on Amlogic S905 processor. The procedure is basically the same as for previous Amlogic devices, but I’ve still documented the step to follow an update. Please note that devices from decent brands should have OTA updates implemented, so it may not be needed, except for the cheapest devices, or in case of network issues.

The firmware update procedure below can be done in any computer, including the Android TV box itself. The firmware is specific to K1 Plus, so if you have another TV box, you’ll need to change the download link to the firmware for your device.

  1. Download the firmware file (e.g. K1 Plus 2015-11-23.rar)
  2. Extract the compressed file to the root of a micro SD card, or on any other external storage.
    Amlogic_S905_Firmware_Upgrade_Files
    You should have a few files as shown above, including a zip file (please don’t uncompress that one). The name and number of files will depend on the firmware. Note that the SD card does not need to be empty, also it might be better to check files from previous firmware updates are not located in the root of the device.
  3. If you’ve done so in another computer, connect the micro SD card or external storage (USB) to the TV box.
  4. Start the Update & Backup in the TV box
    Update&Backup_App
  5. If Online Update does not work, then click on Select in the app, and it will scan for .zip files on all your external drives.
    Amlogic_Firmware_ScanningSelect the zip file corresponding to the firmware you’ve just downloaded.
  6. If you want to keep your apps, settings and media files, make sure Wipe Data and Wipe Media are not checked, then click on Update.
    Amlogic_Update&Backup_sd_card_update
  7. At this stage it will ask you to confirm you want to “Start the OTA update”.Amlogic_S905_Local_Firmware_Update
  8. Click Update, and your TV box will reboot, and start the update shortly showing the Android update animation
    Amlogic_Android_Firmware_Update_Animation
  9. Be patient, and after a while your system will reboot, update Android app, and load the Android Home Screen. You are ready to go.

If you need to update because the system does not boot properly and can’t access the Update&Backup app, you may have to press the firmware update/recovery button before powering up the device, so that it automatically detect the firmware in the micro SD card or USB drive. You can check Amlogic S802 firmware update instructions to find out more details about that specific procedure, which should remain the same for Amlogic S905/S912.

Amlogic S912 Processor Could Feature an ARM Mali-T830 GPU

November 20th, 2015 4 comments

Amlogic S912 launch has been delayed by a few months, and if we are to believe the data from GFXBench (test 1; test 2), the reason could be that they switched the design from a Mali-T7xx GPU to a more powerful Mali-T830 GPU.

Click to Enlarge

Click to Enlarge

S912 processor is still based on four Cortex A53 core @ up to 2.0 GHz like in S905, but the GPU will be much more powerful.

One person noticed these results and wrote an analysis and comparison (in Korean) against the Mali-860MP2 GPU found in Mediatek MT6755 SoC (Helio P10) SoC.

 Offscreen  Manhattan 3.1  Manhattan  T-Rex  ALU  ALU2  Fillrate  Texturing
 MT6755  4.8  7.2  17.2  6.0  1012
 S912  4.4  7.0  16.3  34.7  5.3  1283  1000

So while Mali-860MP2 is faster for all listed benchmark the advantage is not that great. His analysis  compared benchmarks (read post for details) concludes that the GPU in S912 could be clocked at around 650 MHz.

Thanks to Adriano for the tip.

Amlogic S805 vs S905 Benchmarks Comparison

November 20th, 2015 25 comments

After publishing a benchmark comparison between Amlogic S905 and Rockchip RK3368 yesterday, I was asked to do the same with Amlogic S805 and Amlogic S905. Since I already had the data, I just went ahead to write this post. Bear in mind that Amlogic S805 TV boxes run Android 4.4, while Amlogic S905 devices all feature Android 5.1. So while the table below should give a good estimate of the actual performance improvement between the two generation devices, Amlogic S905 performance will be amplified thanks to optimizations in Android 5.1, for instance the use of ART runtime instead of Dalvik.

Amlogic_S905_vs_S805

With that in mind here are the results comparing the results I got with Videostrong K1 Plus (Amlogic S905) and MXQ S85 (Amlogic S805) TV boxes.

Amlogic S905 Amlogic S805 Ratio
CPU Quad core Cortex A53 @ 2.02 GHz Quad core Cortex A5 @ 1.488 GHz
GPU ARM Mali-450MP ARM Mali-450MP
Antutu 5.x
Overall 28,027 16,448 1.70
Multitask 4,260 2,967 1.44
Runtime 2,721 1,057 2.57
RAM Ops 1,960 1,392 1.41
RAM Speed 2,420 1,590 1.52
CPU Integer (multi-thread) 2,310 1,390 1.66
CPU float-point (multi-thread) 2,483 1,468 1.69
CPU Integer (single thread) 1,587 882 1.80
CPU float-point (single thread) 1,510 930 1.62
2D Graphics(1920×1080) 1,374 904 1.52
3D Graphics (1920×1080) 6,126 2,996 2.04
Vellamo 3.x
Metal 763 551 1.38
Multicore 1,572 1,319 1.19
Browser* 2,002 816 2.45
3DMark – Ice Storm Extreme v1.2
Total score 4,304 2,308 1.86
Graphics score 3,684 1,950 1.89
Physics score 10,468 6,471 1.62

*Vellamo 3.x browser benchmark had an issue that underreported Amlogic S805 performance.

A ratio greater than 1 means S905 is faster than S805, and the new processor outperforms in all categories. This is especially true for the runtime test that combines a faster processor with a better ART runtime. So If you plan to upgrade your Amlogic S805 mini PC to a Amlogic S905 mini PC you’ll notice an obviously performance boost with the new processor.

That for the performance. Price-wise the most cost effective Amlogic S805 TV boxes sell for about $30 (even lower with discounts or promotions), while equivalent Amlogic S905 devices go for around $42, so the price difference is only about $12. Having said that, S805 is a mature platform, and as I found out with Videostrong K1 Plus, the firmware may not be polished yet in S905 devices currently shipping with for instance, the Google Play Store not working very well, and no DRM at all.

DRM_info_K1_Plus

DRM Info Screenshot in K1 Plus

That means Amlogic S905 definitely offers a better performance than Amlogic S805, but at this point (November 2015), there’s probably no rush to buy an Amlogic S905 TV box, unless you are ready to go through some bugs at first, and the lack of DRM – which might not be fixable by firmware updates – is no issue to you.

Amlogic S905 vs Rockchip RK3368 Benchmarks Comparison

November 19th, 2015 26 comments

The first Amlogic S905 TV boxes have started to ship,  and I received Videostrong K1 Plus a few days ago, but due to some issues with Google Play Store, I’ve decided to postpone the review. In the meantime, I’ve side-loaded popular benchmark apps including Antutu, Vellamo, and 3Dmarks to the device to compare it to its main 64-bit ARM competitor: Rockchip RK3368.

S905_vs_RK3368

I used benchmark results from Beelink i68 review and compared them to K1 Plus, both devices running Android 5.1. A ratio greater than 1 (green) mean S905 is better, while a ratio lower than 1 (red) means RK3368 fares better.

Amlogic S905 Rockchip RK3368 Ratio
CPU Quad core Cortex A53 @ 2.02 GHz* Octa core Cortex A53 @ 1.2GHz
GPU ARM Mali-450MP PowerVR G6110
Antutu 5.x
Overall 28,027 34,171 0.82
Multitask 4,260 4,041 1.05
Runtime 2,721 2,949 0.92
RAM Ops 1,960 2,346 0.84
RAM Speed 2,420 2,601 0.93
CPU Integer (multi-thread) 2,310 2,973 0.78
CPU float-point (multi-thread) 2,483 2,930 0.85
CPU Integer (single thread) 1,587 1,536 1.03
CPU float-point (single thread) 1,510 1,492 1.01
2D Graphics(1920×1080) 1,374 1,617 0.85
3D Graphics (1920×1080) 6,126 10,115 0.61
Vellamo 3.x
Metal 763 773 0.99
Multicore 1,572 1,288 1.22
Browser 2,002 1,796 1.11
3DMark – Ice Storm Extreme
Total Score
4,304 4,248 1.01
Graphics score
3,684 4,361 0.84
Physics score
10,468 3,893 2.64

Overall both platforms are pretty close for most tests, and results will vary a little between devices due to firmware optimizations and different memory and storage chips… Nevertheless, it’s no surprise that an octa core Cortex A53 processor beats an quad core Cortex A53 processor in Antutu multi-threaded tests, but somehow K1 Plus was better than Beelink i68 at multi-tasking, and had an higher score in Vellamo’s multicore benchmark… Considering S905 is clocked at 2.02 GHz (CPU-Z data) against 1.2Ghz for RK3368 I was expecting a much faster single thread performance, but in Antutu single thread performance S905 was barely faster.

[*Update: Amlogic S905 is likely limited to 1.5 to 1.7 GHz as a recent (August 2016) investigation shows. and explained the lack of extra single thread performance]

3D graphics benchmarks are also at adds with Antutu showing much better 3D performance for PoverVR G6110 GPU found in RK3368 against the penta-core Mali-450MP GPU in S905, while 3Dmark Ice Storm Extreme total score was basically a draw, but looking into the details of graphics and physics scores show disparities with the GPUs having their own strength and weaknesses.

The takeaway from this comparison is that the user experience on Amlogic S905 and Rockchip RK3368 based devices should feel pretty similar, with possibly a slightly edge for RK3368 when it comes to 3D games. Considering both processors are mostly found in TV boxes the most important will be video playback support, including 4K H.265, as well as price, and Amlogic S905 devices are currently significantly cheaper than equivalent Rockchip RK3368 devices. I have not tested video playback yet, but for what it’s worth Antutu Video Tester scores 899 points on Ugoos AM1 Amlogic S905 TV box, while I got respectively 532, 328, and 516 points on respectively Beelink i68, Zidoo X6 Pro, and Kingnovel R8 all based on Rockchip RK3368 processor.

I’ve added the K1 Plus benchmark screenshots for reference below.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge