TargetsEvaluation » History » Revision 85

« Previous | Revision 85/212 (diff) | Next »
Denis 'GNUtoo' Carikli, 10/12/2013 08:48 AM
we already support theses...

Targets Evaluation

Evaluation criteria

Minimal requirements

List of the bare minimum requirements for a device to be ported to Replicant:
  • The device must be supported by CyanogenMod officially (better) or via 3rd party repos
  • There must be a way to flash images (via bootloader or recovery) using a free program
  • The kernel must not be signed: the bootloader must not check the kernel signature
  • The kernel sources must have been released
  • The network type must be GSM, no CDMA phone can be supported for now

Good target

What makes a good target for Replicant:
  • Bootloader must be ready to flash images, or be very easy to unlock
  • Free user-space implementation for most of the hardware already available
  • Standard or well-known protocols used in the hardware (V4L2/ALSA/NMEA, etc)
  • Firmwares needed only for WiFi/Bluetooth, and not sound, screen, touchscreen, camera, etc
  • Freedom-compliant hardware design: Modem isolation (no shared mem, GPS, audio)

Ideal target

An ideal target for Replicant would be:
  • Free bootloaders that allow easy flashing for the user
  • All the hardware using standard protocols, kernel-drivers and no user-space binary blobs
  • Components that do not require loadable firmware
  • Ways to update the internal firmwares of the chips (for instance to allow a free software modem implementation)
  • Total modem isolation (doesn't control audio, nor GPS, mem, NAND, etc)
  • SIM unlock

Known to be bad targets

Here is a list of the bad targets for Replicant and reasons why:
  • MSM/QSD devices are known to have bad hardware design where the modem controls GPS, audio (including mic), RAM, NAND.
    However, some MSM/QSD SoCs don't ship with a modem embedded, so they may be good targets.
  • Nvidia Tegra 2 devices are known to be too slow with Replicant, since there is no NEON nor any free hwcomposer/gralloc.
    Perhaps newer Tegra SoCs (which include NEON) would be faster on Replicant.
  • Motorola devices manufactured after the Milestone (inclusive). These have non-free locked bootloaders that check kernel signatures. sbf_flash, a utility capable of flashing Motorola devices, is non-free.

Devices evaluation

Android devices

Device Manufacturer CyanogenMod port Flash method SoC Graphics Sound Modem WiFi/Bluetooth Camera GPS Sensors Notes Freedom Issues
One GeeksPhone CM 7.2 (Android 2.3) Recovery MSM7K Should be fast Should work Non-standard protocol but AT seems possible, bad design for freedom WiFi is not the same as GTA02 and requires firmwares MSM undocumented mechanism Probably NMEA from modem, bad design for freedom ? PaulK has one Qualcomm => Hardware is BAD for freedom
Zero GeeksPhone CM 7.2 (Android 2.3) Fastboot MSM7227 Should be fast May need firmwares ? Need firmwares MSM undocumented mechanism Probably NMEA from modem, bad design for freedom ? Qualcomm => Hardware is BAD for freedom
Galaxy Tab 8.9 Samsung CM 9.0 (Android 4.0) Heimdall/Recovery Tegra 4 ? Free module Samsung IPC, XMM6260 Need firmwares Non-free tegra module, perhaps not even v4l2 BCM4751: secret protocol ? PaulK had one but failed to port to it because of Tegra slowness issues. ?
Nexus 7 Asus CM 10 (Android 4.1) Fastboot Tegra 4 ? Free module 3G version modem uses AT Need firmwares Non-free tegra module, perhaps not even v4l2 BCM4751: secret protocol ? ?
Nexus 10 Samsung ? Fastboot Exynos 5250 Free gralloc, hwcomposer, non-free 3d, beware: ultra high resolution(could be slow) Free module N/A (Has No Modem) Need firmwares Free module BCM4751: secret protocol Free module ?
Nexus 4 LG CM 10.1 (Android 4.2) Fastboot Qualcomm Snapdragon S4 Pro APQ8064 ? ? Unknown protocol Need firmware ? ? ? ? Really BAD: has too much proprietary things and the hardware is bad for freedom: modem transport is over HSIC (high speed USB), but it controls the GPS (included in the modem chip), audio and perhaps NAND too
Defy Motorola CM 7.2 (Android 2.3) Recovery, in-system recovery flash OMAP 3630 Should work ? ? ? Non-free ? ? Bootloader is locked Kernel is signed, making a Replicant port impossible

Other devices

Device Manufacturer Android port Bootloader SoC Standardness Blobs Firmwares Modem Notes
Neo Freerunner Openmoko AoF u-boot, flash with dfu-utils Samsung S3C2442, CPU @400Mhz Audio: ALSA, GPS: NMEA, Modem: AT No No Total isolation Hardware is too old to be support by Replicant, armv4t
N900 Nokia Nitdroid partially signed, chainloaded u-boot, flash with 0xff OMAP3430, CPU @600Mhz Voice calls depend on cmt_speech pulseaudio plugin, modem protocol is non-standard but implemented in ofono Nitdroid uses blobs Nitdroid uses firmwares (WiFi, bluetooth, camera) GPS is controlled by the modem, modem transport is over high-speed serial GNUtoo has one, Nitdroid is hard to build and undocumented
iPhone Apple iDroid iDroid bootloader seems free iPhone 3G: Similar to Samsung S5PC110 iPhone 3G: Audio: ALSA, Modem: AT, WiFi: libertas Probably needs some Probably needs some Known to never sleep already supported by the Idroid project ,however it has a really bad status : it can't suspend to ram...
FLOW G1.55 GizmoForYou Stock xloader + u-boot OMAP3 Audio: ALSA, Modem: AT ? WiFi/Bluetooth Needs to be check, could be OK Instructions to build Android 2.2 for it are provided: Unfortunately that phone isn’t cheap.
PengPod1000/700 PengPod ? Android development forum u-boot Allwinner A10 ? both 8192cu and rtl8188eu WiFi chips need firmware blob Some have rtl8192cu WiFi, some have rtl8188eu N/A More focused on running GNU/Linux than Android. Wiki

There is a small number of Do-it-yourself phones where the user is expected to assemble his phone. Examples of this include the odroid phones with comes with android support.
However the issue is that not all users wants or are able to assemble their own phones.

Updated by Denis 'GNUtoo' Carikli over 6 years ago · 85 revisions