Project

General

Profile

Actions

TargetsEvaluation » History » Revision 178

« Previous | Revision 178/214 (diff) | Next »
Kurtis Hanna, 08/24/2019 05:09 AM
ARMv7 instead of just ARM


Targets Evaluation

In this page we evaluate potential target devices to which we may port Replicant. These devices are not supported, and are only in consideration.

The developer guide explains the terminology used on this page. See also the website for background information.
The porting guides provide information how the following requirements can be evaluated.

Evaluation criteria

Minimal requirements

List of the bare minimum requirements for a device to be ported to Replicant:
  • Users must not be required to use download, install or use any nonfree software to install Replicant.
  • The bootloader must not prevent users from installing modified kernel versions.
  • Replicant will need to be usable on the device without having to redistribute any nonfree software.
  • Users or automatic programs are not expected to download and install nonfree software to make the device usable.
  • The device also need to have enough resources to run Android. For instance, at the time of writing, it's unrealistic to port devices with 128M of RAM to Replicant.
Also keep in mind that:
  • The device must have at least one usable Linux kernel with with complete corresponding source code. If this is not the case, it might still be possible to obtain the complete corresponding source code from the device manufacturer, or to port the Linux kernel to the device yourself before starting to work on Replicant.
  • Some devices might have CPU architectures not supported by the latest Android version, like MIPS. Replicant may refuse to support such devices due to concern over long term maintenance of the code.
  • Replicant doesn't support CDMA yet. If your device has CDMA, adding support for CDMA may or may not be a lot of work depending on the device.

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)
  • Proprietary loadable firmwares only needed for Wi-Fi/Bluetooth, and not camera, or other peripherals etc
  • Freedom-compliant hardware design: Modem isolation (no shared mem, GPS, audio)
  • It should be possible to deactivate the modem, either by hardware or software.
  • To make the port easier, and to amount lower the maintenance work it would also be a good idea if the chosen device meets or exceed with some margin the minimum HardwareRequirements of the latest Android version.

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 do not require loadable non-free firmware
  • There are ways to update the internal firmwares of the chips (for instance to allow a free software modem implementation)
  • Has total modem isolation (doesn't control audio, nor GPS, mem, NAND, etc)
  • not SIM locked

Known to be bad targets

Here is a list of the bad targets for Replicant and reasons why:
  • Qualcomm 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. See the page on Qualcomm System On a Chip for more details on this issue.
  • 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

Manufacturer Device Upstream Flash method SoC Graphics Sound Modem Camera GPS Sensors Removable battery nonfree Freedom issues Verdict
Asus Nexus 7 CM 10 (Android 4.1) Fastboot Tegra 3 ? Free module 3G version modem uses AT Non-free tegra module, perhaps not even v4l2 BCM4751: secret protocol ? ? ? ? Port possible but unlikely to succeed
GeeksPhone One CM 7.2 (Android 2.3) Recovery MSM7K Should be fast Should work Non-standard protocol but AT seems possible, bad design for freedom MSM undocumented mechanism Probably NMEA from modem, bad design for freedom ? ? ? Qualcomm, hardware is BAD for freedom
GeeksPhone Zero CM 7.2 (Android 2.3) Fastboot MSM7227 Should be fast May need non-free firmwares ? MSM undocumented mechanism Probably NMEA from modem, bad design for freedom ? ? ? Qualcomm, hardware is BAD for freedom
LG Nexus 4 CM 10.1 (Android 4.2) Fastboot Qualcomm Snapdragon S4 Pro APQ8064 ? ? Unknown protocol ? ? ? ? Really BAD: has too many proprietary things and the hardware is bad for freedom: modem controls the GPS (included in the modem chip), audio and perhaps NAND too
LG Optimus L9 CM 10.1 (Android 4.2) ? OMAP 4430 ? ? ? ? ? ? ? ? ?
Motorola Defy CM 7.2 (Android 2.3) Recovery OMAP 3630 Should work ? ? Non-free ? ? ? ? Kernel is signed, making a Replicant port impossible
Samsung Galaxy Note 2 (LTE) LineageOS 14.1 heimdall Exynos 4412 1280x720 ? Qualcomm MDM9X15 HSIC ? ? ? ? ? ? ?
Samsung Galaxy Note 3 (HSPA+ version) LineageOS 14.1 heimdall Exynos 5420 1080x1920 ? XMM6360 HSIC ? ? ? Yes ? ? ?
Samsung Galaxy Note 4 (LTE Cat.4 & South Korea LTE Cat.6 & LTE Cat.9 (S-LTE)) ? ? Exynos 5433 ? ? ? ? ? ? Yes ? ? ?
Samsung Samsung Galaxy Note Edge (South Korea version) ? ? Exynos 5433 ? ? ? ? ? ? Yes ? ? ?
Samsung Galaxy Note 5 ? ? Exynos 7420 ? ? ? ? ? ? No ? ? ?
Samsung Galaxy S4 (GT-I9500​) ? ? Exynos 5410 ? ? ? ? ? ? Yes ? ? ?
Samsung Galaxy S5 (SM-G900H) LineageOS 14.1 heimdall Exynos 5422 1080x1920 screen ? XMM6360 HSIC ? ? ? Yes proprietary-files.txt ? ?
Samsung Galaxy S6 ? ? Exynos 7420 ? ? ? ? ? ? No ? ? ?
Samsung Galaxy S7 LineageOS 14.1 heimdall Exynos 8890 2560x1440 ? ? ? ? ? ? ? ? ?
Samsung Galaxy S7 Edge LineageOS 14.1 heimdall Exynos 8890 2560x1440 ? ? ? ? ? ? ? ? ?
Samsung Galaxy S8 international ? ? Exynos 8895 ? ? ? ? ? ? No ? ? ?
Samsung Galaxy Tab 8.9 CM 9.0 (Android 4.0) Heimdall Tegra 2 ? Free module Samsung IPC, XMM6260 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
Samsung Galaxy Xcover 3 ? ? Marvell Armada PXA1908 Vivante GPU ? ? ? ? ? Yes ? ? ?
Samsung Galaxy Xcover 4 ? ? Exynos 7570 ? ? ? ? ? ? Yes ? ? ?
Samsung Nexus 10 Downstream LineageOS 16.0 ; Downstream AOSP 9.0 ; PostmarketOS wiki and repo ; Upstream support for devices with same SoC : Samsung SMDK5250 eval board: kernel u-boot ; Samsung Chromebook XE303 - codename snow : kernel u-boot (can use nv-U-Boot to boot unverified kernel ) ; Arndale board : wiki kernel u-boot ; HP Chromebook 11 G1 - codename spring : kernel u-boot Fastboot Exynos 5250 Also called the Exynos 5 Dual 1.7 GHz dual-core ARMv7 Cortex-A15 User manual Free gralloc, hwcomposer, non-free 3d, beware: ultra high resolution (could be slow), display may need non-free firmware, Mali T604 GPU can run panfrost May need non-free firmware Has no modem, so no modem isolation issues Free module BCM4751: secret protocol Free module No ? ? Port of Replicant 6.0 was planned but never pursued
Wiko Highway 4G ? ? Tegra ? ? ? ? ? ? ? ? ? TODO: Check if the bootloader is signed

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 supported 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 non-free firmwares (Wi-Fi, 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, Wi-Fi: 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 ? Wi-Fi/Bluetooth Needs to be check, could be OK Instructions to build Android 2.2 for it are provided: http://www.gizmoforyou.net/wiki/index.php/Building_G155_Android Unfortunately that phone isn’t cheap.
PengPod1000/700 PengPod ? Android development forum u-boot Allwinner A10 ? both 8192cu and rtl8188eu Wi-Fi chips need non-free firmware Some have rtl8192cu Wi-Fi, some have rtl8188eu N/A More focused on running GNU/Linux than Android. Wiki

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

Updated by Kurtis Hanna over 4 years ago · 178 revisions

Also available in: PDF HTML TXT