This should have been fun
While the Tinker Board's networking performance doesn't light the world on fire, our attempts to use this system as a game console or media streamer are where the Tinker Board really falls apart. Retro emulation is one of the most common uses for Raspberry Pi machines. Clever users have 3D printed cases to use the Pi 3 as a replacement for Nintendo's hard-to-find NES Classic Edition, shoehorned the Pi Zero into an Altoids tin as a portable gaming machine, and more.
RetroArch is a popular software package designed for integrating emulator software together into a cohesive experience with an interface similar to the one found in Sony's newer home and portable game consoles. Coders have created an entire Linux distribution called RetroPie that is completely dedicated to running RetroArch on Pi hardware. The Raspberry Pi 3 is generally fast enough to emulate all the popular 8- and 16-bit consoles and the Sony Playstation, but it doesn't have the muscle to serve as an impromptu Nintendo 64. I thought that testing N64 emulation would allow the Tinker Board to strut its stuff.
RetroPie obviously doesn't run on the Tinker Board, but sadly, neither does the generic RetroArch software. I was able to install RetroArch through the apt software package manager from Asus' Tinker OS repository, and I could run it until I powered off or rebooted the machine, but after that the program crashed with a segmentation fault every time I launched it. This result was quite disappointing, given that Asus' repository contains software compiled exclusively for the device. We reached out to Asus about this problem, but the company was not able to provide a fix.
I tried to download the source code and compile RetroArch for the Tinker Board's ARM7 Mali hardware myself, but I was never able to get it to work. I went back to the drawing board and tried to install the Mupen64 N64 emulator without RetroArch. The package was listed in Asus' Tinker OS repository, but attempts to install it were thwarted by unresolved dependencies.
The disappointment continued when using the Tinker Board as a media device with Kodi, formerly known as Xbox Media Center (XBMC). Getting Kodi set up on a PC is simply a matter of running the Windows setup executable or installing through a Linux package manager. Pi users have the option of installing the application on the popular Raspbian OS or choosing between two different Linux distributions specifically designed to run Kodi at system startup. I installed Kodi on Tinker OS using the package manager, but as with RetroArch, the program always crashed on startup after a reboot. I observed this behavior with three different power supplies and several microSD cards of varying make and capacity.
The Tinker Board was better than the Raspberry Pi 3 when browsing modern websites, though it still trailed far behind the Liva in terms of responsiveness. The Asus device was somewhat better at playback of non-HD Youtube videos with the h264ify plugin installed, but was still miles behind the smooth 1080p capability of the Liva. Neither of the ARM machines could play Netflix video through their web browsers.
Using Android on the Tinker Board
The incompatibility with computer monitors that I experienced in the Linux-based Tinker OS was repeated in Android. The overscan problem I observed in Linux was also present in Android, but the Android settings menu at least offered a straightforward way to scale the display to fit. Unfortunately, adjustments to this setting weren't retained between reboots.
Asus' Android 6.0 Marshmallow disk image does not include the Google Play Store app or Google Play services. I followed a guide from the only Tinker Board forum I was able to find, and side-loaded the necessary APK packages to access the Play Store. After installing these packages, I could search for and install apps from the Store, but warning messages indicating problems with Google Play services would appear periodically. In my opinion, Android is little more than a curiosity on the Tinker Board until Asus offers full Google Play Store and Google Play Services support.
I tested RetroArch and Kodi on Asus' Android distribution by side-loading the APKs. The good news is that Kodi worked well and that RetroArch loaded without crashing. The bad news is that RetroArch's interface was completely unresponsive whether using a keyboard, mouse, or wired Xbox 360 controller as input. Those hoping to capitalize on the Tinker Board's Android support and the "4K" labeling on the box to use the device to play Netflix will be disappointed. The Netflix app did not appear in the side-loaded Google Play Store. I tried to side-load a Netflix APK, but that didn't work either.
A brief word about GPIO
One thing that is generally included in an SBC that one doesn't find in a standard computer is a set of general purpose input-output (GPIO) pins. These are pins that can be assigned different purposes by the user. The typical use case for GPIO pins is interfacing with simple electronic circuits like switches or LEDs. Some GPIO pins can be used for more specialized purposes, like interfacing with devices that use I2C or SPI buses. The GPIO documentation for the Raspberry Pi is the gold standard, and virtually any configuration one might want to achieve has been documented online.
The Tinker Board does include GPIO pins and software libraries to use them. I was able to get the GPIO pins to accept input from a simple switch and to deliver switched output to an LED, but the documentation for more advanced functionality, including using the I2C and SPI buses, was quite sparse. The Liva included no documentation at all for its GPIO pins. Users looking to connect a device with a sensor array would do better to look at a better-documented device from the Pi Foundation or a microcontroller like an Arduino or an ESP8266-based device.