Project

General

Profile

TargetsEvaluation » History » Version 148

Kurtis Hanna, 09/01/2018 04:25 AM
corrected grammer: changed "is" to "are" and "with come" to "which comes"

1 81 Paul Kocialkowski
h1. Targets Evaluation
2 1 Brian Kemp
3 104 Wolfgang Wiedmeyer
{{>toc}}
4
5 89 Linus Drumbler
In this page we evaluate potential target devices to which we may port Replicant. These devices are _not_ supported, and are only in consideration.
6
7 101 Wolfgang Wiedmeyer
The [[DeveloperGuide#Commonly-used-terminology|developer guide]] explains the terminology used on this page. See also the "website":https://www.replicant.us/freedom-privacy-security-issues.php for background information.
8
The [[Index#Replicant-porting-guides|porting guides]] provide information how the following requirements can be evaluated.
9
10 81 Paul Kocialkowski
h2. Evaluation criteria
11 1 Brian Kemp
12 99 Wolfgang Wiedmeyer
h3. Minimal requirements
13
14 23 Paul Kocialkowski
List of the bare minimum requirements for a device to be ported to Replicant:
15 92 Wolfgang Wiedmeyer
* The device must be supported by LineageOS/CyanogenMod officially (better) or via 3rd party repos
16 23 Paul Kocialkowski
* There must be a way to flash images (via bootloader or recovery) using a free program
17
* The kernel must not be signed: the bootloader must not check the kernel signature
18 1 Brian Kemp
* The kernel sources must have been released
19 93 Wolfgang Wiedmeyer
* The network type must be GSM, no CDMA phone can be supported for now
20
21 23 Paul Kocialkowski
h3. Good target
22 1 Brian Kemp
23 23 Paul Kocialkowski
What makes a good target for Replicant:
24 1 Brian Kemp
* Bootloader must be ready to flash images, or be very easy to unlock
25 23 Paul Kocialkowski
* Free user-space implementation for most of the hardware already available
26
* Standard or well-known protocols used in the hardware (V4L2/ALSA/NMEA, etc)
27 102 Wolfgang Wiedmeyer
* Proprietary loadable firmwares only needed for Wi-Fi/Bluetooth, and not sound, screen, touchscreen, camera, etc
28 23 Paul Kocialkowski
* Freedom-compliant hardware design: Modem isolation (no shared mem, GPS, audio)
29
30
h3. Ideal target
31
32
An ideal target for Replicant would be:
33
* Free bootloaders that allow easy flashing for the user
34
* All the hardware using standard protocols, kernel-drivers and no user-space binary blobs
35 103 Wolfgang Wiedmeyer
* Components do not require loadable non-free firmware
36
* There are ways to update the internal firmwares of the chips (for instance to allow a free software modem implementation)
37
* Has total modem isolation (doesn't control audio, nor GPS, mem, NAND, etc)
38 24 Paul Kocialkowski
* SIM unlock
39 3 Denis 'GNUtoo' Carikli
40 75 Paul Kocialkowski
h3. Known to be bad targets
41
42
Here is a list of the bad targets for Replicant and reasons why:
43 100 Wolfgang Wiedmeyer
* *Qualcomm MSM/QSD* devices are known to have bad hardware design where the modem controls GPS, audio (including mic), RAM, NAND.
44 79 Paul Kocialkowski
However, some MSM/QSD SoCs don't ship with a modem embedded, so they may be good targets.
45
* *Nvidia Tegra 2* devices are known to be too slow with Replicant, since there is no NEON nor any free hwcomposer/gralloc.
46
Perhaps newer Tegra SoCs (which include NEON) would be faster on Replicant.
47 83 Brian Kemp
* *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.
48 75 Paul Kocialkowski
49 81 Paul Kocialkowski
h2. Devices evaluation
50 68 Denis 'GNUtoo' Carikli
51 76 Paul Kocialkowski
h3. Android devices
52
53 124 Denis 'GNUtoo' Carikli
|_. Manufacturer |_. Device |_. Upstream |_. Flash method |_. SoC |_. Graphics |_. Sound |_. Modem |_. Camera |_. GPS |_. Sensors |_. Removable battery |_. nonfree |_. Freedom issues |_. Verdict |
54
| *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 |
55
| *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 | ? | ? | ? |\2=. Qualcomm, hardware is BAD for freedom |
56
| *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 | ? | ? | ? |\2=. Qualcomm, hardware is BAD for freedom |
57 126 Denis 'GNUtoo' Carikli
| *LG* | *Nexus 4* | CM 10.1 (Android 4.2) | Fastboot | Qualcomm Snapdragon S4 Pro APQ8064 | ? | ? | Unknown protocol | ? | ? | ? | ? |\3=. Really BAD: has "too many proprietary things":https://android.googlesource.com/device/lge/mako/+/77f8e6b51a8f26ea9288a9186179511a92c07df0/proprietary-blobs.txt and the hardware is bad for freedom: modem controls the GPS (included in the modem chip), audio and perhaps NAND too |
58 124 Denis 'GNUtoo' Carikli
| *LG* | *Optimus L9* | CM 10.1 (Android 4.2) | ? | OMAP 4430 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
59
| *Motorola* | *Defy* | CM 7.2 (Android 2.3) | Recovery | OMAP 3630 | Should work | ? | ? | Non-free | ? | ? | ? | ? |\2=. *Kernel is signed*, making a Replicant port impossible |
60 144 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy Note 2 (LTE) ":https://en.wikipedia.org/wiki/Samsung_Galaxy_Note_II* | "LineageOS 14.1":https://wiki.lineageos.org/devices/t0lte | "heimdall":https://wiki.lineageos.org/devices/t0lte/install | Exynos 4412 | 1280x720 | ? | "Qualcomm MDM9X15":https://github.com/LineageOS/android_kernel_samsung_smdk4412/blob/cm-14.1/arch/arm/configs/lineageos_t0lte_defconfig#L557 "HSIC":https://github.com/LineageOS/android_kernel_samsung_smdk4412/blob/cm-14.1/arch/arm/configs/lineageos_t0lte_defconfig#L558 | ? | ? | ? | ? | ? | ? | ? |
61 143 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy Note 3 (HSPA+ version) ":https://en.wikipedia.org/wiki/Samsung_Galaxy_Note_3* | "LineageOS 14.1":https://wiki.lineageos.org/devices/ha3g | "heimdall":https://wiki.lineageos.org/devices/ha3g/install | Exynos 5420 | 1080x1920 | ? | "XMM6360":https://github.com/LineageOS/android_kernel_samsung_exynos5420/blob/cm-14.1/arch/arm/configs/lineageos_deathly_ha3g_defconfig#L1393 "HSIC":https://github.com/LineageOS/android_kernel_samsung_exynos5420/blob/cm-14.1/arch/arm/configs/lineageos_deathly_ha3g_defconfig#L1398 | ? | ? | ? | Yes | ? | ? | ? |
62 139 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy Note 4 (LTE Cat.4 & South Korea LTE Cat.6 & LTE Cat.9 (S-LTE)) ":https://en.wikipedia.org/wiki/Samsung_Galaxy_Note_4* | ? | ? | Exynos 5433  | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
63 142 Denis 'GNUtoo' Carikli
| *Samsung* | *"Samsung Galaxy Note Edge (South Korea version) ":https://en.wikipedia.org/wikiSamsung_Galaxy_Note_Edge* | ? | ? | Exynos 5433  | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
64 140 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy Note 5 ":https://en.wikipedia.org/wiki/Samsung_Galaxy_Note_5* | ? | ? | Exynos 7420  | ? | ? | ? | ? | ? | ? | No | ? | ? | ? |
65 124 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy S4 (GT-I9500​) ":https://en.wikipedia.org/wiki/Samsung_Galaxy_S4* | ? | ? | Exynos 5410 | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
66 134 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy S5 (SM-G900H) ":https://en.wikipedia.org/wiki/Samsung_Galaxy_S5* | "LineageOS 14.1":https://wiki.lineageos.org/devices/k3gxx | "heimdall":https://wiki.lineageos.org/devices/k3gxx/install | Exynos 5422 | 1080x1920 screen | ? | "XMM6360":https://github.com/LineageOS/android_kernel_samsung_k3gxx/blob/cm-14.1/arch/arm/configs/lineage_k3gxx_defconfig#L1235 "HSIC":https://raw.githubusercontent.com/LineageOS/android_kernel_samsung_k3gxx/cm-14.1/drivers/misc/modem_v2/link_pm_hsic_xmm626x.c | ? | ? | ? | Yes | "proprietary-files.txt":https://raw.githubusercontent.com/LineageOS/android_device_samsung_k3gxx/cm-14.1/proprietary-files.txt | ? | ? |
67 124 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy S6 ":https://en.wikipedia.org/wiki/Samsung_Galaxy_S6* | ? | ? | Exynos 7420 | ? | ? | ? | ? | ? | ? | No | ? | ? | ? |
68 135 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy S7 ":https://en.wikipedia.org/wiki/Samsung_Galaxy_S7* | "LineageOS 14.1":https://wiki.lineageos.org/devices/herolte | "heimdall":https://wiki.lineageos.org/devices/herolte/install | Exynos 8890 | 2560x1440 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
69 136 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy S7 Edge ":https://en.wikipedia.org/wiki/Samsung_Galaxy_S7* | "LineageOS 14.1":https://wiki.lineageos.org/devices/hero2lte | "heimdall":https://wiki.lineageos.org/devices/hero2lte/install | Exynos 8890 | 2560x1440 | ? | ? | ? | ? | ? | ? | ? | ? | ? |
70 124 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy S8 international ":https://en.wikipedia.org/wiki/Samsung_Galaxy_S8* | ? | ? | Exynos 8895 | ? | ? | ? | ? | ? | ? | No | ? | ? | ? |
71
| *Samsung* | *"Galaxy Tab 8.9":https://en.wikipedia.org/wiki/Samsung_Galaxy_Tab_10.1* | 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 |
72 145 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy Xcover 3 ":https://en.wikipedia.org/wiki/Samsung_Galaxy_Xcover_3* | ? | ? | Marvell Armada PXA1908 | Vivante GPU | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
73 146 Denis 'GNUtoo' Carikli
| *Samsung* | *"Galaxy Xcover 4 ":https://en.wikipedia.org/wiki/Samsung_Galaxy_Xcover_4* | ? | ? | Exynos 7570 | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
74
| *Samsung* | *"Nexus 10":https://en.wikipedia.org/wiki/Nexus_10* | CM 13.0 (Android 6.0) | Fastboot | "Exynos 5250":https://en.wikipedia.org/wiki/Exynos | 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 |
75 147 Denis 'GNUtoo' Carikli
| *Wiko* | *"Highway 4G":https://www.gsmarena.com/wiko_highway_4g-6795.php* | ? | ? | Tegra | ? | ? | ? | ? | ? | ? | ? | ? | ? | TODO: Check if the bootloader is signed |
76
77 26 Paul Kocialkowski
h3. Other devices
78 3 Denis 'GNUtoo' Carikli
79 14 Denis 'GNUtoo' Carikli
|_. Device |_. Manufacturer |_. Android port |_. Bootloader |_. SoC |_. Standardness |_. Blobs |_. Firmwares |_. Modem |_. Notes |
80 86 Linus Drumbler
| *Neo Freerunner* | *Openmoko* | "AoF":http://code.google.com/p/android-on-freerunner/ | 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 |
81 102 Wolfgang Wiedmeyer
| *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 | 
82 90 Paul Kocialkowski
| *iPhone* | *Apple* | "iDroid":http://www.idroidproject.org | 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":http://www.idroidproject.org ,however it has "a really bad status":http://www.idroidproject.org/wiki/Status : it can't suspend to ram...  |
83
| *FLOW G1.55* | *GizmoForYou* | "Stock":https://gitorious.org/flow-g1-5/ | 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. |
84 102 Wolfgang Wiedmeyer
| *PengPod1000/700* | *PengPod* | ? "Android development forum":http://pengpod.com/forum/viewforum.php?f=12 | "u-boot":https://github.com/npeacock/u-boot-sunxi | 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":http://pengpod.com/pengwiki/index.php?title=Main_Page |
85 46 Denis 'GNUtoo' Carikli
86 1 Brian Kemp
87 148 Kurtis Hanna
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":http://www.hardkernel.com/ phones which comes with android support. However, the issue is that not all users want or are able to assemble their own phones.