Linux on ROCK64
I recently picked up a ROCK64 with 4Gb RAM to test it out as a fanless desktop computer. The ROCK64 is a credit card sized single board computer (SBC) like the Raspberry Pi. It's available with 1, 2, or 4Gb of RAM, and optional eMMC storage in addition to a microSD slot. The ROCK64 is fairly comparable to the Raspberry Pi 3 Model B+ except it does not have Wi-Fi, can be configured with much more RAM and supports 4K output over HDMI.
PINE64, who sell the ROCK64 make an installation tool (derived from Etcher) available to make flashing a microSD card with an OS easy. I tried a number of the available options and was ultimately left disappointed.
Community member ayufan publishes a number of images for the ROCK64 and these seems to be the closest thing to official images for the device.
I tried the following images on the ROCK64:
The first disappointment was that 4K@60Hz only seems to be supported for full screen video, and not the normal user interface in Linux or Android. The best I could get it to do was 4K@30Hz on a desktop.
Next up, after reducing the display resolution to 1920x1080 and using the various parts to get hardware accelerated graphics, dragging (but weirdly not resizing) in both Xfce and Openbox was comically laggy, which made using it quite unpleasant.
Armbian's Xfce environment had nice defaults but included a bunch of unnecessary software in the base image. Additionally, their browser of choice (but not mine) Chromium appeared to be operating in 16-bit colour, as most colour appeared dithered.
ayufan's Debian Stretch image ran with full colour but trouble with packages
quickly appeared. One of the board specific packages,
libmali-rk-utgard-450-r7p0 conflicted with
libegl1-mesa which got
into a broken state where it refused to install further packages until the
issue was resolved. Additionally, Debian being Debian, everything is out of
date. The newest Firefox available is Firefox 52, released over a year ago.
There are Ubuntu images available as well, which I didn't try but perhaps these give a better experience.
The Android image worked but the UI ran at a much lower resolution than selected in the settings. There was a 4KHDR test app installed that proved it was possible to output 4K from Android but most of the time it was a blurry mess.
Currently HDMI output is only supported on the Rockchip 4.4 Kernel, which is a fork of Linux 4.4. There is work to get the chip supported in the mainline Linux kernel but it's not there yet.
I explored running Arch Linux ARM on the board but it only supports the mainline kernel, so no graphics. I also looked into running OpenBSD as well however installation must be done over serial console and there is no graphics support. No released versions of FreeBSD or NetBSD appear to support it and even if they did it's unlikely graphics would work.
My takeaway from my experience so far is that the ROCK64 probably makes a good TV connected media PC1 but as a desktop computer it's not a good option. At least not yet. I had assumed the Linux support for the device was better than it was when I ordered it and the claims of 4K 60Hz while theoretically possible aren't readily achievable for desktop use.
It appears that the graphics situation on most ARM SBCs is often pretty terrible, requiring custom kernels and the like. If I am to try to find another cheap fanless SBC I might try something like an UDOO X86 or LattePanda to increase the chances of getting better hardware support.
In hindsight PINE64 call it the, "ROCK64 Media Board Computer", on their webiste, which should have been a clue.