Quick look and some benchmarks of Radxa Rock RK3188 single board computer
Radxa Rock is yet another single board computer. It's equipped with a quad core RK3188 processor and 2 GB of RAM. It supports Android 4.2/4.4 as well as classical Linux desktop. In this article I'll take a look at Radxa, benchmark it and compare to recently tested Measy U4A RK3188 dongle.
Radxa Rock is a single board computer equipped with a popular Chinese quad core SoC - RK3188. The specification covers also WiFi, Bluetooth, 100 mbit Ethernet or IR receiver. What makes it different from popular Android dongles is 80 GPIO pins. On dx.com it's priced at around $120, while cheapest RK3188 dongle at less than a half of it. The Radxa set comes with a case, USB power cable, and WiFi antenna.
Radxa Rock is noticeably more expensive than a Raspberry Pi. But when you add the price of a case, Bluetooth and WiFi dongles, powered USB hub to even out the features the prices get very close to each other. RK3188 offers four quite good cores. It's tailored with 2GB of faster RAM allowing more database and in general RAM-oriented work to be done on Radxa than on Raspberry.
Radxa got quite popular for any RK3188 development. There are Linuxium dual boot Android/Linux images, there is miniroot image as well as quite active Forum.
In terms of GPIO there isn't much yet. There is no high level library that makes GPIO/I2C/SPI operations easy and wrapped within one API. All GPIOs can be handled by matching specific tool (direct GPIO 1/0 switching), i2c-tools/i2c-dev for I2C and quite likely spidev for SPI. I sometimes wonder if it wasn't better if the GPIO was managed by existing platform (like mbed, Arduino, MicroPython etc.) so that developers wouldn't have to reinvent the wheel.
Android is the flagship OS supported by Rockchip SoC. Linux desktop is also supported, but not fully. VPU - video processing unit is not supported which nearly kills most of video playback and so on. Also this and other ARM SoCs do not support OpenGL but it mobile version - OpenGL ES. Most desktop Linux apps rely on OpenGL and will not work effieciently on OpenGL ES (many games and applications alike).
Out of the box Radxa can boot into Android 4.2 and can switch to Linux desktop and vice versa. Mali 400 GPU is supported on Linux, and I even flashed newer image to get most of it in the benchmarks.
Image flashing is done with the same tools as those used to flash Rockchip consumer devices - RKBatchTool and RKAndroidTool. More on that on the wiki.
I've benchmarked Measy U4A not so long ago. It has the same SoC but only 1GB of RAM. I was very curious of the difference in performance when running Linux. So I've used Phoronix benchmarks and run some comparisons. You can find the benchmarks results on openbenchmarking.
x11perf yields slightly better scores, RAM is also bit faster. C-ray got noticeably better. It tests floating point operations efficiency of the CPU, but on those ARM SoCs it likes to give surprising result like if the GPU unit also played a role in it (Radxa and Measy have the same SoC while Radxa is running with full Mali support). Other benchmarks gave very similar results as those from much cheaper dongle.
Intel Bay Trail platform got a lot of the market offering quite good performance at low prices and low energy usage. You can get quad core Bay Trail fanless PC below $200 and laptops at around $300. Those can run Windows and Linux witout limitations like the ARMs often have and can use even 8-16 GB of fast DDR3 RAM.
RK3188 isn't very powerful, that may improve noticeably with RK3288, but as those ARMs gets stronger their prices rise too so it may be hard to beat x86 devices with price/performance ratio on desktop (not on Android). RK3288 wants to target Chromebooks too, so we may expect better official support for desktop Linux (although still no OpenGL).
Going back to RK3188 and Radxa Rock here are some comparison benchmarks:
I've added not so new Samsung Exynos4412 in the tests too. It has the same Mali 400 GPU as RK3188, but different CPU. In most tests it's slightly better than RK3188, but both fall below Celeron J1900. The Intel CPU is around 40-50% more efficient than low end Android chips. The difference may not be as big as you might expect, but those benchmarks doesn't covers extra features x86 designs give, like SATA, USB3, GigE Ethernet, PCIe rails and bigger amount of RAM (which is vastly faster). ARM single board computers are good for embedded and very specific tasks, but it's rather inefficient to make laptops and PCs with them.
I'm planning to use Radxa GPIO a bit, although it will be hard to use full potential of it without some handy libraries. If you want a multimedia box cheaper dongles or those with newer chips (like S802) will be better and quite likely cheaper (and they can have XBMC out of the box). If you need some specific embedded design with Ethernet and other peripherals Radxa has then it ought to be a good choice. For a classical desktop not that much.
When the price of a single board computer increases it's getting hard to find a usage for it. Sometime more processing power is required, but consumer products that are cheaper also became usable for makers/hardware hackers (like the Android dongles). New board often struggles with providing good and rich API for its GPIO. That also limits how quickly makers can pick it and do their projects. USB or Bluetooth connected microcontroller boards based on existing platforms would be more time-effiecient when it comes to writing code using already known libraries.
It would be interesting to see Linux running on a RK3188 tablet with support of its touch display (and not just HDMI out). Adapting easily accessible consumer devices seems like the future for hardware hacking / making.