- 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.
Minimal requirements¶List of the bare minimum requirements for a device to be ported to Replicant:
- The device must be supported by LineageOS/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)
- Proprietary loadable firmwares only needed for Wi-Fi/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 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)
- SIM unlock
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.
- 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.
|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||CM 13.0 (Android 6.0)||Fastboot||Exynos 5250||Free gralloc, hwcomposer, non-free 3d, beware: ultra high resolution (could be slow), display may need non-free firmware||May need non-free firmware||N/A (Has No Modem)||Free module||BCM4751: secret protocol||Free module||?||?||?||Port of Replicant 6.0 planned, device donation welcome|
|Wiko||Highway 4G||?||?||Tegra||?||?||?||?||?||?||?||?||?||TODO: Check if the bootloader is signed|
|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 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 come with android support. However, the issue is that not all users want or are able to assemble their own phones.