I received Khadas VIM3 kit at the very beginning of this month, and showed the content of the kit, and how to assemble it. Now after clearing some other items for review, I’ve started to play with the Amlogic A311D board which ships with Android 9.0 by default. I’ll focus my efforts on Ubuntu as most people will run Linux distributions on the board, but before doing so I’ve upgraded Android to the latest version, and checked out system information and ran some benchmarks in Android.
Instructions to upgrade the firmware over USB-C are available for Windows and Ubuntu, but since my laptop runs Ubuntu 18.04 I’ll focus on the latter. We can install the burn-tool for Linux as follows:
sudo apt install libusb-dev git parted
git clone https://github.com/khadas/utils
We can now download and extract the latest Android image:
7z x VIM3_Pie_V190704.7z
Once it’s done you can connect your VIM3 board to your computer with a USB-C cable, and enter upgrade mode by pressing the function button (the one in the middle) three times within two seconds while the board is running. The red LED will turn off, and the blue LED will blink three times. You can confirm the board is detected as follows:
lsusb | grep Amlogic
Bus 003 Device 003: ID 1b8e:c003 Amlogic, Inc.
Now we can flash the firmware:
burn-tool -v aml -b VIM3 -i VIM3_Pie_V190704/update.img
Output upon successful firmware update:
Try to burn Amlogic image...
Burning image 'VIM3_Pie_V190704/update.img' for 'VIM3' to eMMC...
Unpacking image [OK]
Initializing ddr ........[OK]
Running u-boot ........[OK]
Create partitions [OK]
Writing device tree [OK]
Writing bootloader [OK]
Wiping data partition [OK]
Wiping cache partition [OK]
Writing boot partition [OK]
Writing dtbo partition [OK]
Writing logo partition [OK]
Writing odm partition [OK]
Writing product partition [OK]
Writing recovery partition [OK]
Writing system partition [OK]
Writing vbmeta partition [OK]
Writing vendor partition [OK]
Resetting board [OK]
Now we can connect the board back to its power supply, and boot it up to Android 9.0.
Note Aptoide TV app store is installed. The previous firmware had Google Play installed, but it would not be able to download apps. Aptoide TV does not have all apps I needed, so instead I installed APKpure. Note that some apps will rotate to portrait mode, and each time you want to upgrade the firmware, you need to do so using the USB-C cable method, as there’s no OTA update. I’m saying this to make it clear the current Android firmware is not suitable for end users that may just want to use the board as a more powerful TV box.
The firmware does have some interesting settings like HDMI-CEC, Cooling fan control, and LED control.
HDMI self-adaption is for system-wide auto frame rate switching, but if it does not work we’ve recently seen AFRd daemon may fix that for you.
There’s also granular control over audio formats with Dolby Atmos, DTS-HD, and Dolby TrueHD among others which should be useful to A/V receiver owners. We would have to see if it truly works. I doubt it does right now.
CPU-Z confirms Amlogic A311D processor comes with an hexa-core processor with two clusters: a quad-core Cortex-A73 cluster clocked up to 2.21 GHz, and a dual-core Cortex-A53 cluster up to 1.80 GHz, as well as an Arm Mali-G52 GPU. My board comes with 2GB RAM to which 1863 MB can be used for Android, and a 16GB flash with a 11.08GB internal storage partition. VIM3 runs Android 9 with 2018-08-05 security patch level, and Linux 4.9.113. The board is called “kvim3”, and screen resolution is set to 1920×1080. Note that video output was automatically set to 3840×2160 @ 60 Hz since my TV supports it.
Time for some benchmarks starting with Antutu 7.2.2.
Khadas VIM3 got 131,555 points, which is excellent, and the highest I’ve ever gotten in this type of board. For reference a fan cooled Rockchip RK3399 board achieved around 99,000 points. I’ll test temperature and CPU throttling into more details in Linux, but using an IR thermometer I measured up to 55°C only during benchmarks. Arm Cortex-A73 cores then look to be a better choice for this type of board, as they should have power efficiency gains of up to 20 percent over the Cortex-A72 cores found in Raspberry Pi 4’s Broadcom BCM2711 SoC.
For further comparison points, Amlogic A311D based on Khadas VIM3 also gets higher score than Snapdragon 660 based Xiaomi Mi A2 phone (111,353 points) and Mediatek Helio X27 deca-core processor found in Chuwi HiPad LTE tablet (103,217 points).
3D graphics results are quite good, and Khadas VIM3 maxes out 3DMark Ice Storm Extreme, a feat that I could only achieve on an actively cooled RK3399 board so far, as well as Xiaomi Mi A2 phone.
Other 3DMark scores are as follows with comparison to RK3399 added when available:
- Ice Storm Unlimited – 24,317 points
- Sling Shot – 1,659 points
- Sling Shot Extreme – 1,187 points (RK3399 actively cooled: 819 points; NanoPC-T4 with fan only: 566 points @ 28°C)
Note Vulkan API is not supported, that’s why I only have the OpenGL ES 3.0 score for Sling Shot Extreme.
PCMark 10 Work 2.0 benchmark confirms the good performance with 5,968 points, against 4,805 points on a RK3399 SBC.
Amlogic A311D benchmarks show the processor is a clear step ahead in terms in performance over Cortex-A72 competitiors such as Rockchip RK3399, and efficiency also appears to be much better meaning cooling should be less of an issue. I’ll switch to Linux (Ubuntu 18.04) in subsequent tests.