ROCK64 Board Review – Part 1: eMMC Flash Module, Android 7.1 Firmware, Benchmarks, and Kodi

ROCK64 is the second ARM Linux development board by Pine64 that is based on Rockchip RK3328 processor, instead of Allwinner 64 for Pine A64 board, and while both processors comes with four Cortex A53 cores, the Rockchip processor offers a faster GPU, 4K @ 60 Hz video support, as well as USB 3.0 support. I’ve got a sample with an eMMC flash module, and I’m going to test it first with Android 7.1, since those were the only firmware images currently available on the Wiki, but Linux will be available before the board ships publicly at the end of July.

Click to Enlarge

Rock64 Linux Ports Status

There are now at least three Linux ports in progress:

  1. ayufan’s Debian Jessie and Ubuntu Xenial images which are now in pre-release, but should officially be released next week.
  2. Arch Linux ARM with no pre-built Rock64 images yet
  3. Fedora 25 minimal Image
  4. The Yocto Project support is also being worked on with the first release planed for August

I’ve got some comments on IRC, that ayufan images supports GPIO(s), Mali hardware graphics acceleration – but performance needs to be tuned -, as well as hardware video decoding but 4K videos are not playing that well right now. I’ll make sure to try one of ayufan image, before the boards ship on July 31st.

eMMC Flash Module Compatibility with ODROID Boards

ROCK64 board can boot from micro SD card or an eMMC flash module, with the latter likely to provide better performance than most SD cards, and you won’t have to worry about fakes. The eMMC flash module is not a new idea, as Hardkernel has offered those with their ODROID boards for year. And I read that Pine64 eMMC flash module would be compatible with ODROID boards, which would be good news if you already own any of Hardkernel ones. I tested compatibility the easy way, as I connected Pine64’s eMMC flash to Hardkernel eMMC to micro SD adapter…

and plugged it in to a card reader in my computer, and I could access “system” and “Volumn” partitions on the eMMC flash module part of the pre-installed Android image.So ODROID users can rejoice, as you may not need to buy extra eMMC flash modules to play around with ROCK64 board.

Installing Android 7.1 on ROCK64 Board

ROCK64 board firmware update to the eMMC flash module works just like firmware update on Rockchip TV boxes, i.e using Android_Tool program in Windows, or upgrade_tool (now renamed rkdeveloptool) in Linux. You’ll also need a USB male to male connected between your computer and the board. If you plan to run Android from a micro SD card instead, you can use the same image, but flashing it via SD_Firmware_Tool from Windows.  Eventually Pine64 installer program, based on Etcher, will probably be updated to support ROCK64 board, and handle both download and flashing to the micro SD card.

Currently there are two Android images provided via the Wiki:

  • Stock Android 7.1 [20170712] Engineering version released by the company
  • Community Build Android TV 7.1 [ver 0.1.8] by ayufan

I’ll use “Stock Android 7.1” for this review, since I’m not a big fan of Android TV, and both download are slow, with the Pine64 server easily winning the download race against github. 🙂

Since I’m a Ubuntu user, I went with the Linux method. Let’s install the update_tool, and uncompress the firmware image first. After download run:


After connecting a jumper – or something else to short both pins – as shown in the picture above with a red circle, I connected the power supply, and a USB cable between the top USB 2.0 port and my computer in order to enter MaskROM mode, and finally removed the jumper before running:


This should take a couple of minutes with the following output:


Firmware update is done.

Android 7.1 “Engineering Version”  Launcher, Settings and Benchmarks

So we can connect the board with everything we need.

The first time. I’m asked to choose between “ROCK64 Launcher” and “ROCK64 Launcher”, and you’ve got to love the choice offer here.
I just selected the first one (com.cloudmedia.rock64launcher) and it did not work quite as expected…

I tried to open the app again, but it did not work, so I just restarted the board, and could finally access the launcher [Update: The second launcher works better apparently]. Note that the framebuffer resolution is only 1280×720 instead of the more common 1920×1080 on this type of hardware.

Click for Original Size

One small problem though… While the USB keyboard would work, my air mouse’s RF dongle connected to the top USB dongle would not be recognized. I had to move it to the lower part to make it work. Nothing would work on that upper USB port, so I guess it’s stuck in device mode, and could not find an option in Android to change that. So I connect a USB Hub with the USB keyboard and RF dongle, and it would not work either. After unplugging and replugging the hub, I was finally able to use at the same time.

Click to Enlarge

The settings will show on the right side of the screen, I just composed the screenshot above to show both resolution options up to 4096x2160p60(YCrCr420), and maybe 4096x2160p60(YCrCb444), which may have seen filtered out since LG 42UB820T television used for review is not supporting that mode.


The storage section shows 3.08GB used out of 14.45GB from the 16GB eMMC flash module, and the system could mount both NTFS and EXT4 partitions from the USB 3.0 hard drive, but not exFAT nor BTRFS.That image is based on Android 7.1.2 plus Linux 3.10.104, and a fairly recent April 5,2017 security patch.


Above is the list of pre-installed app in that image. I went to Google Play Store to install a few apps, and many were grayed out and impossible to install. I still managed to install Antutu and DRM Info. I ran the former, keeping in mind that without heatsink, the score may not be that good. 34,811 points in Antutu 6.x without heatsink is not bad, especially considering the room temperature was close to 30 ºC. I actually got a lower score with Rockchip RK3328 TV boxes like A95X R2 with only 33,117 points, also using the same 1280×720 resolution. DRM Info returns no support for Widevine DRM at all, not really surprising.

In order to install more apps, I decided to download APKPure apk via the installed Lightning web browser, and somehow the board became rather unresponsive, as is there was lot of I/Os in the background. After killing the browser twice when getting the “app not responding” window, I finally manage to download and install APKPure.

Damn, it will launch in portrait, a frequent bug on TV boxes running Android…. 4 or 5 years ago. So I decided that maybe I should give ayufan Android image a try after all, since the “Engineering Version” image has soon many bugs right now. As I finished testing I was also informed that “the stock build listed as engineering, we still tuning on 4K playback”, and that “eventually this tuning will roll into ayufan TV build around end of this month when ROCK64 production board roll out”. So eventually people will be directed to use Android TV 7.1 OS, and you should still keep in mind that there’s still 2 weeks before the board ships so many bugs will be ironed out.

Android TV 7.1 “ayufan” Firmware

As I tested the “Engineering” image, Android TV 7.1 firmware could complete to download (it tool around 6 hours), and I uncompress it, and flashed it using the same method as above:


I had no troubles to access to the launcher this time, and both USB 2.0 ports are working.

Click to Enlarge

The resolution is still 1920×1080, so that’s also an improvement.

Android TV firmware does not play nice with my air mouse however, as in many sections, mouse clicks are not supported, and the Home key has no effect. Doing searches in Google Play is a nightmare, as it will randomly switch to “voice mode” when I type with a keyboard or air mouse.

I could not find Chrome, nor Firefox in Google Play, so instead I installed some other “TV Browser”, and the download would not start, so instead I download APKPure in my computer, and installed it from ES File Explorer. The same portrait orientation occurred again, so I gave up, and side-loaded CPU-Z, A1SD Bench, and iperf from ES File Explorer.


CPU-Z shows a quad core Cortex A53 processor clocked at up to 1.51 GHz with a Mali-450MP GPU…

… and that I got the 1GB RAM version of the board (there are also 2GB and 4GB version), and the “screen resolution” is 1920×1080 as we’ve seen above.

This image is also based on Android 7.1.2 with Linux 3.10.104 kernel.

I used A1SD bench for storage benchmarks in Android which reports sequential speeds only.

Click to Enlarge

The “Cache read” is the internal memory so the 90.80 MB/s read speed is invalid. The 35.39MB/s write speed should be correct, and is not too bad with a flash. We’ll find more about the eMMC flash module once I run iozone3 benchmark in Linux. USB storage is working OK, with the EXT-4 partition (Red SD card) achieving 94.13 and 90.93 MB/s W/W speeds, and the NTFS partition (Yellow SD card) getting 92.82 MB/s and 62.66 MB/s not that from what I get on my computer with that mechanical hard drive. Other people have tested performance up to 300 MB/s on SSD drive connected to the USB 3.0 port of ROCK64 board. The important part is that performance maxes out Gigabit Ethernet bandwidth, which with EXT-4 file system it nearly does.

Speaking about Ethernet, I tested Gigabit performance by using iperf for 60 seconds for a full duplex transfer:


Not too bad, but it looks like it can not (currently) transfer close to max speed in both direction at the same time. If you are using it as TV box, it will not matter a bit however.

I also tested a few 4K videos from the USB 3.0 drive in Kodi 17.3 installed from Google Play since I was told it should work OK…:

  • HD.Club-4K-Chimei-inn-60mbps.mp4 (H.264, 30 fps) – Audio OK, but video is a slidehow despite hardware video decoding with amc-h264 codec
  • sintel-2010-4k.mkv (H.264, 24 fps, 4096×1744) – Shows previous video still with many green lines. I had very difficult controls from the air mouse, so I powered cycled the board.
  • BT.2020.20140602.ts (Rec.2020 compliant video; 36 Mbps; 59.97 Hz) – Audio OK, but video is a slideshow despite using hardware decoding with amc-h265
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – Audio OK, but video is a slideshow with the picture refresh every ~6 seconds
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – Several audio cuts, and slideshow
  • 暗流涌动-4K.mp4 (10-bit H.264; 120 Mbps) – Video will freeze after a few seconds
  • tara-no9-vp9.webm (4K VP9 YouTube video @ 60 fps, Vorbis audio) – Maybe 1 fps with amc-VP9 (HW)

All videos above are using hardware video decoding according to Kodi overlay info. I tried Big Buck Bunny 1080p60 sample, but the video was not watchable either. It would play, but not smoothly. CPU temperature should not be the problem, as I measured around 65 °C with a IR thermometer. I skipped HDMI audio pass-through, since I was told it would not work, and I can’t play videos properly in Kodi with the current firmware. Better video playback and HDMI audio pass-through are all being worked on right now.

So Android support does not look too good right now, and while I’m hopeful the most critical issues will be fixed by the time, people get the board next months, there are so many problems that, it’s likely many other bugs will still have to be fixed, so you may have to be patient if you have ordered  a board in order to run Android.

ROCK64 can be pre-ordered for $24.95 with 1GB RAM, $34.95 with 2GB RAM, and $44.95 with 4GB RAM on Pine64 website. You may want to add a power supply, and optionally the eMMC flash module to your order. Remember that you’ll also need a USB male to male if you want to flash the firmware to the eMMC flash. It’s not needed if you run Android from a micro SD card. You can find some tips to order a proper micro SD card in the article entitled  “Micro SD Cards for Development Boards – Classes, Tools, Benchmarks, Reliability, and Tips & Tricks“.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
20 Comments
oldest
newest
tkaiser
tkaiser
6 years ago

Just a quick note for those interested to use ROCK64 with Linux: The above performance numbers are irrelevant since Android uses an outdated 3.10 kernel while Linux development happens currently with 4.4.70 and 4.12 soon in parallel. The Android builds also miss all the performance tweaks while ayufan’s ROCK64 Linux builds fortunately use all our Armbian optimizations now but for whatever reasons the most important script rock64_fix_irqs.sh currently gets not executed automatically (so I added this to /etc/rc.local when testing the last weeks) With more capable SSDs and USB Attached SCSI we now get 380MB/s and network performance with Linux… Read more »

Jon Smirl
6 years ago

Also note that Android engineering builds are way slower than the user builds. You should not be benchmarking on an engineering build.

Jon Smirl
6 years ago

Does ayufan’s Android use the mainline kernel?

tkaiser
tkaiser
6 years ago

@Jon Smirl Nope, it’s also 3.10.104 at the moment. But I’m pretty confident next step is combining Android with 4.4 Rockchip BSP kernel and finally mainline kernel. RK is contributing upstream and partially mainline code is more up to date than their BSP stuff (eg. PMIC related patches). To me the whole situation looks promising… On a related note: TL Lim explained yesterday in IRC a little bit the challenges wrt video/display stuff (planes, GPU/VPU acceleration and some more stuff I’ve not the slightest idea about) and told RK engineers are active here too to resolve many many issues. So… Read more »

Meth
Meth
6 years ago

Reasons to buy 4gb ram model over 2gb?

tkaiser
tkaiser
6 years ago

@Meth With Android most probably not, with Linux it depends on what you want to do. It’s a 64 bit platform and storage performance is excellent when you use USB3/UAS so virtualization/containerization is possible. And then the more memory you have the better. For normal server use cases 1GB RAM should be sufficient since most of the RAM will be used for buffers/caches anyway and immediately used once applications/kernel really need it: root@rock64:~# free total used free shared buff/cache available Mem: 1975216 41892 1572720 13316 360604 1885416 Swap: 0 0 0 root@rock64:~# uptime 14:40:29 up 2 days, 3:42, 1 user,… Read more »

boudyka
boudyka
6 years ago

got 4gb one on order, well I hope its better than the NanoPi K2 support….feel a bit burnt by that one.

ayufan
6 years ago

@Meth

Kubernetes nodes running on CoreOS booted using PXE with bootloader stored on SPI.

ayufan
6 years ago

btw. I’m ayufan, not Ayufan 🙂 can you fix that?

ayufan
6 years ago

@Jean-Luc Aufranc (CNXSoft) > I also tested a few 4K videos from the USB 3.0 drive in Kodi 17.3 installed from Google Play since I was told it should work OK…: Kodi currently uses it seems not the standard way of handling videos (I think that it talks directly to OMX). If you run them with VLC or ES Explorer they are actually being played nice. So this seems for me to not be Android problem per-se, but Kodi incompatibility. Yes, my image runs GUI in 1920×1080 (Engineering version uses 1280×720). This is as much as Mali 450 can handle.… Read more »

Harley
Harley
6 years ago

I would still avoid Rockchip and Allwinner if video playback with Kodi is one of your use cases. Rockchip and Allwinner are still not fully following industri standards on Android or Linux. Niether company is open source friendly either. These two companies still have to play catchup in those areas if they want to continue to be successfull. Price is not everything and in the case with these you get what you pay for, compatibility be damned.

tkaiser
tkaiser
6 years ago

Harley :
Niether company is open source friendly either.

When was the last time you checked out mainline Linux kernel and did this

wzyy2
wzyy2
6 years ago

@Harley
“Rockchip and Allwinner are still not fully following industri standards on Android or Linux”
Not Linux.

Rockchip SOC have a good compatibility on Linux.
Rockchip are willing to support and cooperate with opensource community.
They have support libreelec guys to run KODI Linux in rockchip platform.

Stuart Naylor
6 years ago


Wasn’t anything to do with licence and API issues apart from the MALI GPU which is ARM.
Politics is the main reason as Rockchip are in a different league when it comes to OpenSource when compared to Allwinner.

http://www.androidpolice.com/2016/03/18/developer-kodis-android-app-quit-will-work-fork-instead/

Guy the IT Guy
Guy the IT Guy
6 years ago

@Harley I ran Kodi on mine and it is running just fine with Covenant and Dexter TV. Maybe there was an update in the last few months?

Khadas VIM4 SBC