To track the upstream status of various devices, we also have the Upstream wiki page. Here we really need information on the upstream status of smartphones and tablets, even if the devices are worse than the ones currently supported as it helps plan the future of Replicant. For instance we could use the data to understand how to build virtuous circles with various upstream project that care less about freedom.
That page was previously used to evaluate potential target devices to which we may port Replicant, but the information on the devices Replicant would not want to support turned out to be useful as well.
Also note that adding support for a new device in Replicant takes some time and effort.
Because of that, adding new devices in that page doesn't guarantee at all that the device will be supported in Replicant, even if that device has significantly less freedom issues than the ones currently supported by Replicant, as some people still need to step up and do the work.
Other resources: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.
It might be a good idea to investigate how to use Wikidata to store the data and be able to automatically generate some tables from that.
This could also enable us to share the work with other communities. However the main issue with doing that would be to ensure that the data quality is good enough to our standards.
The inventaire project has exactly the same issues and did a presentation on how they deal with it.
It's also possible to build compatibility tables with sparql querries but much more research needs to be done on how to best interface with wikidata data.
Replicant even has a tool:"https://git.replicant.us/replicant/vendor_replicant-scripts/tree/research" to automatize that
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 S5 Neo (SM-G903F, SM-G903M, SM-G903W) | LineageOS 16.0 | heimdall | Exynos 7580 | Mali-T720 MP2 | ? | Shared memory | ? | ? | ? | Yes | s5neolte/proprietary-files.txt universal7580-common/proprietary-files.txt ? universal7580-common/proprietary-files-bsp.txt ? |
Has at least a modem that is not isolated | not isolated modem => too bad for freedom to support in Replicant |
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 - codenamed Manta | Downstream LineageOS 16.0 ; Downstream AOSP 9.0 ; PostmarketOS wiki and repo ; Devices with same SoC that have some upstream support : Samsung SMDK5250 eval board: kernel u-boot ; Samsung Chromebook Series 3 XE303 - codenamed snow : kernel u-boot can use nv-U-Boot to boot unverified kernel tutorial to install upstream kernel at boot time ifixit teardown XDA thread about porting AOSP/CyanogenMod to this Chromebook Tutorial on running Android on this Chromebook Tutorial on bootloader unlock on this Chromebook ; Arndale board : wiki kernel u-boot supports non-secure JTAG debugging ; HP Chromebook 11 G1 - codenamed 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 | No modem | Free module | BCM4751: secret protocol | Free module | No, but ifixit battery replacement is ranked as moderate, taking only 10 to 15 minutes. | ? | ? | Port of Replicant 6.0 was planned but never pursued |
SHIFTPHONE | SHIFT5me | ? | ? | MT6797X Helio X27 | ? | ? | ? | ? | ? | ? | ? | ? | Modem in the same SOC | |
SHIFTPHONE | SHIFT6m | ? | ? | MT6797X Helio X27 | ? | ? | ? | ? | ? | ? | ? | ? | Modem in the same SOC | |
SHIFTPHONE | SHIFT6mq | ? | ? | Qualcomm snapdragon 845 | ? | ? | ? | ? | ? | ? | ? | ? | Modem in the same SOC | |
SHIFTPHONE | SHIFTmu | ? | ? | Qualcomm snapdragon 865 | ? | ? | ? | ? | ? | ? | ? | ? | Modem in the same SOC | |
Wiko | Highway 4G | ? | ? | Tegra | ? | ? | ? | ? | ? | ? | ? | ? | ? | TODO: Check if the bootloader is signed |
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 * Only 128M of RAM |
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 | * Has only 256M of RAM |
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.