Requirements

Hardware

To help hack the Lima driver, you need some Mali based hardware.

If you're a geek with a high end smartphone that isn't an iPhone or a Nokia N9, there is a good chance that you have the stellar Samsung Galaxy SII, this not only gets you a good phone, it also gets you an unlocked bootloader and a buildable and runnable kernel.

If you are looking for a more affordable route into Lima development, then the cheapest or easiest route is to buy a cheap android based tablet with one of the SoCs listed below. 80-100 EUR gets you a 7"er with a mali-200 and a resistive touchscreen (not so good for playing a game with flying foul on the side). 130-200EUR gets you the current generation of cheap tablets with a Mali-400 and a capacitive touchscreen. Do be aware the makers of these cheap tablets are not providing kernel source and are breaching the GPL.

Software

A full GNU/linux installation is of course preferred, but unless you have a Snowball, that is not very likely.

The minimum version requirement for Android is version 2.3 (Gingerbread). The reason for this is that the reinvented libc and thus reinvented linker, only added support for LD_PRELOAD in version 2.3. LD_PRELOAD is needed to be able to capture the command stream (especially in absence of runnable kernel source).

(SPLIT HERE)

GPUs


Mali-200

The Mali-200 GPU has 1 GP (Geometry Processor) and 1 PP (Pixel Processor). A Mali-200 pushes out 16M triangles per second at 275Mhz, while pushing out 1 pixel per clock (so 275M pixels/s at 275MHz).

The Mali-200 can be found in the Telechips 8902 and 8803 SoCs.

Mali-400

The Mali-400 GPU has 1 GP (Geometry Processor) and can have up to 4 PPs (Pixel Processors). The common variant has only 1PP, which makes it little more than an updated and faster Mali-200, and is denoted as a Mali-400 MP1. The Mali-400 MP4, available in the Samsung Exynos, has 4PPs and is pretty competitive in benchmarks. While the single GP, quad PP design is lagging when the vertex count goes up, in the real world, in september 2011, no other smartphone GPU could touch it. The Mali-400 GP is capable of pushing out 30M triangles per second at 275Mhz, while the fill rate per PP remains the same as the Mali-200 (1pixel/clock, but up to 4PPs are possible).

Mali-400s are present in AMLogic 8726-M, Allwinner A10, ST-Ericsson Novathor and Samsung Exynos SoCs.

From a driver point of view, very few infrastructural changes are needed for supporting a Mali-400 MP1 from a Mali-200. So far, shader programs have not differed.

Mali-T604/T658

The T604 was first released in November 2012 as part of the Exynos 5250 chipset by Samsung, integrated in the Google Nexus 10 tablet and Samsung Chromebook. This and the as of yet unreleased T658 are of a unified shader design. Once this hardware is available to lima developers, support for it can be evaluated.

SoCs


AMLogic 8726-M

Also known as the Amlogic Meson-M1, this is an ARM Cortex A9, running up to 1GHz, which includes a Mali-400 MP1. It is mostly found in 100-250EUR android tablets, making the Amlogic a cheap and highly mobile solution for hacking the lima driver.

More information is available at amlogic's openlinux website, and a kernel tree can be downloaded from here.

Allwinner A10

An ARM Cortex A8, running up to 1Ghz, which includes a Mali-400 MP1. It is mostly found in 100-250EUR android tablets, making the Allwinner a cheap and highly mobile solution for hacking the lima driver.

More information can be found on the Rhombus Tech website, which includes information on how to build a kernel

ST-Ericsson Novathor

A Dual Core ARM Cortex A9 running at 1GHz, which includes a Mali-400 MP1. Most easily found as part of the Snowball Single Board Computer, which comes with full GNU/Linux and android support. The top of the line smartphone from HTC, the android based Sensation, has a Z710t version which comes with a U9500. Sadly though, this sensation only ships in china.

Plenty of information, which might be very snowball specific, can be found on the igloo community website.

There is a pre-built image of Linaro Android with the Lima(re) demo included. There are three files, system.tar.bz2, boot.tar.bz2 and userdata.tar.bz2 that you put onto a SD card following Linaro's image installation instructions.

Samsung Exynos

The Samsung Exynos 42xx is a range of ARM Cortex A9 devices clocked between 1.2 and 1.8GHz. They are the only devices currently carrying a Mali-400MP4. The Exynos of course stars in the top selling, high end Samsung android based smartphones and tablets. The best sold phone of 2011, the Samsung Galaxy S II, comes with an Exynos. A Single Board Computer with a 4210, called origen, is available with android and ubuntu support. Another option is the Cotton Candy by FXI Tech, a USB/HDMI thumb computer, which in its initial revision has the 4210.

Exynos 5250 (also seen as Exynos 5) is a dual-core ARM Cortex A15 device clocked at 1.7GHz with a Mali T604. The first releases were part of the first Google Nexus 10, and the first ARM-based Chromebook, both by Samsung.

Telechips 8902

Telechips 8803