├── .gitignore ├── .gitmodules ├── git_update.sh ├── Pipfile ├── .style.yapf ├── .editorconfig ├── create_env.sh ├── Pipfile.lock ├── README.creole ├── device_info.log ├── lineageos_info.py ├── device_info_16.csv └── device_info_17.csv /.gitignore: -------------------------------------------------------------------------------- 1 | .* 2 | !.editorconfig 3 | !.gitignore 4 | !.gitmodules 5 | !.style.yapf 6 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lineage_wiki"] 2 | path = lineage_wiki 3 | url = https://github.com/LineageOS/lineage_wiki.git 4 | branch = master 5 | -------------------------------------------------------------------------------- /git_update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -xe 4 | 5 | git checkout master 6 | git pull origin master 7 | 8 | cd lineage_wiki 9 | git pull origin master 10 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "pypi" 3 | url = "https://pypi.org/simple" 4 | verify_ssl = true 5 | 6 | [dev-packages] 7 | 8 | [packages] 9 | pyyaml = "*" 10 | 11 | [requires] 12 | python_version = "3.6" 13 | -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- 1 | # https://github.com/google/yapf#formatting-style 2 | # https://github.com/google/yapf/blob/master/yapf/yapflib/style.py 3 | 4 | [style] 5 | based_on_style = google 6 | # max-line-length = 119 from django, see: https://github.com/django/django/blob/master/setup.cfg 7 | BLANK_LINE_BEFORE_MODULE_DOCSTRING = True 8 | COLUMN_LIMIT = 119 9 | DEDENT_CLOSING_BRACKETS = True 10 | EACH_DICT_ENTRY_ON_SEPARATE_LINE = True 11 | SPLIT_BEFORE_DICT_SET_GENERATOR = False 12 | ALLOW_SPLIT_BEFORE_DICT_VALUE = False 13 | COALESCE_BRACKETS = True 14 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = space 7 | indent_size = 4 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | charset = utf-8 11 | end_of_line = lf 12 | 13 | [*.{bat,cmd,ps1}] 14 | end_of_line = crlf 15 | 16 | [{Makefile,**.mk}] 17 | indent_style = tab 18 | 19 | [LICENSE] 20 | insert_final_newline = false 21 | 22 | [*.py] 23 | # Configuring isort 24 | # https://github.com/timothycrosley/isort/wiki/isort-Settings 25 | atomic = true 26 | # max-line-length = 119 from django, see: https://github.com/django/django/blob/master/setup.cfg 27 | line_length = 119 28 | # 5 - Hanging Grid Grouped 29 | multi_line_output = 5 30 | 31 | default_section=THIRDPARTY 32 | sections=FUTURE,STDLIB,EXTERNAL,THIRDPARTY,FIRSTPARTY,LOCALFOLDER 33 | -------------------------------------------------------------------------------- /create_env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | DESTINATION=$(pwd)/.virtualenv 4 | REQ_FILE=$(pwd)/requirements.txt 5 | 6 | ( 7 | set -e 8 | set -x 9 | 10 | python3 --version 11 | python3 -Im venv --without-pip ${DESTINATION} 12 | ) 13 | ( 14 | source ${DESTINATION}/bin/activate 15 | set -x 16 | python3 -m ensurepip 17 | ) 18 | if [ "$?" == "0" ]; then 19 | echo "pip installed, ok" 20 | else 21 | echo "ensurepip doesn't exist, use get-pip.py" 22 | ( 23 | set -e 24 | source ${DESTINATION}/bin/activate 25 | set -x 26 | cd ${DESTINATION}/bin 27 | wget https://bootstrap.pypa.io/get-pip.py 28 | ${DESTINATION}/bin/python get-pip.py 29 | ) 30 | fi 31 | ( 32 | set -e 33 | source ${DESTINATION}/bin/activate 34 | set -x 35 | cd ${DESTINATION}/bin/ 36 | 37 | pip3 install --upgrade pip 38 | pip3 install -r ${REQ_FILE} 39 | ) 40 | -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "d518a36ed441568acff15b0a3c4b536738a55fb68801cdd682045be04d29954a" 5 | }, 6 | "pipfile-spec": 6, 7 | "requires": { 8 | "python_version": "3.6" 9 | }, 10 | "sources": [ 11 | { 12 | "name": "pypi", 13 | "url": "https://pypi.org/simple", 14 | "verify_ssl": true 15 | } 16 | ] 17 | }, 18 | "default": { 19 | "pyyaml": { 20 | "hashes": [ 21 | "sha256:0113bc0ec2ad727182326b61326afa3d1d8280ae1122493553fd6f4397f33df9", 22 | "sha256:01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4", 23 | "sha256:5124373960b0b3f4aa7df1707e63e9f109b5263eca5976c66e08b1c552d4eaf8", 24 | "sha256:5ca4f10adbddae56d824b2c09668e91219bb178a1eee1faa56af6f99f11bf696", 25 | "sha256:7907be34ffa3c5a32b60b95f4d95ea25361c951383a894fec31be7252b2b6f34", 26 | "sha256:7ec9b2a4ed5cad025c2278a1e6a19c011c80a3caaac804fd2d329e9cc2c287c9", 27 | "sha256:87ae4c829bb25b9fe99cf71fbb2140c448f534e24c998cc60f39ae4f94396a73", 28 | "sha256:9de9919becc9cc2ff03637872a440195ac4241c80536632fffeb6a1e25a74299", 29 | "sha256:a5a85b10e450c66b49f98846937e8cfca1db3127a9d5d1e31ca45c3d0bef4c5b", 30 | "sha256:b0997827b4f6a7c286c01c5f60384d218dca4ed7d9efa945c3e1aa623d5709ae", 31 | "sha256:b631ef96d3222e62861443cc89d6563ba3eeb816eeb96b2629345ab795e53681", 32 | "sha256:bf47c0607522fdbca6c9e817a6e81b08491de50f3766a7a0e6a5be7905961b41", 33 | "sha256:f81025eddd0327c7d4cfe9b62cf33190e1e736cc6e97502b3ec425f574b3e7a8" 34 | ], 35 | "index": "pypi", 36 | "version": "==5.1.2" 37 | } 38 | }, 39 | "develop": {} 40 | } 41 | -------------------------------------------------------------------------------- /README.creole: -------------------------------------------------------------------------------- 1 | Note: In the meanwhile, there is a more beautiful project: 2 | 3 | * https://github.com/bucherfa/lineageos-devices -> https://lineageosdevices.com/ 4 | 5 | 6 | ---- 7 | 8 | 9 | = LineageOS supported devices info 10 | 11 | Goal of this project: A good overview of all supported LineageOS devices. 12 | 13 | Filter rules are: 14 | 15 | * LineageOS **v16** or **v17** is supported 16 | * Device has maintainers 17 | * Has more than 2GB RAM and more than 16 GB storage space 18 | 19 | The base data is the official Wiki: https://wiki.lineageos.org/devices/ 20 | We use https://github.com/LineageOS/lineage_wiki/ as git submodules and read the files from [[https://github.com/LineageOS/lineage_wiki/tree/master/_data/devices|/_data/devices/]] 21 | 22 | Disscuss on reddit here: [[https://www.reddit.com/r/LineageOS/comments/alauhr/lineageos_supported_devices_info/|r/LineageOS supported devices info]] 23 | 24 | == results 25 | 26 | Current result csv is: 27 | 28 | * LineageOS v16: [[https://github.com/jedie/lineageos_info/blob/master/device_info_16.csv|device_info_16.csv]] 29 | * LineageOS v17: [[https://github.com/jedie/lineageos_info/blob/master/device_info_17.csv|device_info_17.csv]] 30 | 31 | A list of skipped device is: [[https://github.com/jedie/lineageos_info/blob/master/device_info.log|device_info.log]] 32 | 33 | === top 10 devices 34 | 35 | * [[https://wiki.lineageos.org/devices/cheeseburger|Oneplus 5]] (6 maintainers) 36 | * [[https://wiki.lineageos.org/devices/pro1|Fxtec pro¹]] (5 maintainers) 37 | * [[https://wiki.lineageos.org/devices/griffin|Motorola moto z]] (5 maintainers) 38 | * [[https://wiki.lineageos.org/devices/mata|Essential essential ph-1]] (4 maintainers) 39 | * [[https://wiki.lineageos.org/devices/channel|Motorola moto g7 play]] (4 maintainers) 40 | * [[https://wiki.lineageos.org/devices/flox|Asus nexus 7 2013 (wi-fi, repartitioned)]] (3 maintainers) 41 | * [[https://wiki.lineageos.org/devices/bardock|Bq aquaris x]] (3 maintainers) 42 | * [[https://wiki.lineageos.org/devices/zangya|Bq aquaris x2]] (3 maintainers) 43 | * [[https://wiki.lineageos.org/devices/zangyapro|Bq aquaris x2 pro]] (3 maintainers) 44 | * [[https://wiki.lineageos.org/devices/blueline|Google pixel 3]] (3 maintainers) 45 | 46 | Last LineageOS wiki page update: 2020-12-27 47 | Generated: 2020-12-30 48 | 49 | == tryout 50 | 51 | === install requirements 52 | 53 | Only [[https://pyyaml.org/wiki/PyYAMLDocumentation|pyyaml]] is needed. 54 | 55 | ==== prepare system 56 | 57 | If you don't have {{{pipenv}}} installed, install {{{pip}}} and install it: 58 | {{{ 59 | # install pip e.g.: 60 | ~$ sudo apt install python3-pip 61 | # or: 62 | ~$ sudo python3 -m ensurepip --upgrade 63 | }}} 64 | Or use get-pip, see: https://pip.pypa.io/en/stable/installing/ 65 | 66 | Install {{{pipenv}}}, e.g.: 67 | {{{ 68 | ~$ sudo pip3 install -U pipenv 69 | }}} 70 | 71 | ==== Clone and setup pipenv 72 | 73 | {{{ 74 | ~$ git clone --recursive https://github.com/jedie/lineageos_info.git 75 | ~$ cd lineageos_info/ 76 | ~/lineageos_info$ git submodule update --init --recursive 77 | ~/lineageos_info$ pipenv sync 78 | }}} 79 | 80 | Generate device info: 81 | {{{ 82 | # go into project directory: 83 | ~$ cd lineageos_info/ 84 | 85 | # Update git repro and submodules: 86 | ~/lineageos_info$ ./git_update.sh 87 | 88 | # generate new csv file: 89 | (.virtualenv) ~/lineageos_info$ pipenv run ./lineageos_info.py 90 | }}} 91 | -------------------------------------------------------------------------------- /device_info.log: -------------------------------------------------------------------------------- 1 | INFO:__main__:Generate csv on 2020-12-30 17:02:48.839256+0000 2 | INFO:__main__:Skip 'Motorola moto g7 play': Only '2 GB' RAM 3 | INFO:__main__:Skip 'Asus nexus 7 2013 (wi-fi, repartitioned)': Only '2 GB' RAM 4 | INFO:__main__:Skip 'Huawei honor 5x': Only '2 GB' RAM 5 | INFO:__main__:Skip 'Motorola moto x 2014': Only '2 GB' RAM 6 | INFO:__main__:Skip 'Samsung galaxy a7 (2016)': Only '16 GB' Storage 7 | INFO:__main__:Skip 'Samsung galaxy j7 (2015)': Only '16 GB' Storage 8 | INFO:__main__:Skip 'Samsung galaxy s4 (gt-i9505/g, sgh-i337m, sgh-m919)': Only '2 GB' RAM 9 | INFO:__main__:Skip 'Samsung galaxy s4 (sch-i545)': Only '2 GB' RAM 10 | INFO:__main__:Skip 'Samsung galaxy s4 (sch-r970, sph-l720)': Only '2 GB' RAM 11 | INFO:__main__:Skip 'Samsung galaxy s4 (sgh-i337)': Only '2 GB' RAM 12 | INFO:__main__:Skip 'Samsung galaxy s4 active': Only '2 GB' RAM 13 | INFO:__main__:Skip 'Samsung galaxy s4 value edition (gt-i9515/l)': Only '2 GB' RAM 14 | INFO:__main__:Skip 'Motorola moto e 2015 lte': Only '1 GB' RAM 15 | INFO:__main__:Skip 'Motorola moto x play': Only '2 GB' RAM 16 | INFO:__main__:Skip 'Samsung galaxy a3 (2016)': Only '16 GB' Storage 17 | INFO:__main__:Skip 'Samsung galaxy a5 (2016)': Only '2 GB' RAM 18 | INFO:__main__:Skip 'Samsung galaxy s5 active (g870f)': Only '2 GB' RAM 19 | INFO:__main__:Skip 'Samsung galaxy s5 neo': Only '2 GB' RAM 20 | INFO:__main__:Skip 'Samsung galaxy s5 plus': Only '2 GB' RAM 21 | INFO:__main__:Skip 'Fairphone fp2': Only '2 GB' RAM 22 | INFO:__main__:Skip 'Htc one (m8)': Only '2 GB' RAM 23 | INFO:__main__:Skip 'Htc one (m8) dual sim': Only '2 GB' RAM 24 | INFO:__main__:Skip 'Lge g2 (at&t)': Only '2 GB' RAM 25 | INFO:__main__:Skip 'Lge g2 (canadian)': Only '2 GB' RAM 26 | INFO:__main__:Skip 'Lge g2 (international)': Only '2 GB' RAM 27 | INFO:__main__:Skip 'Lge g2 (t-mobile)': Only '2 GB' RAM 28 | INFO:__main__:Skip 'Motorola moto g3 turbo': Only '2 GB' RAM 29 | INFO:__main__:Skip 'Motorola moto g4 play': Only '16 GB' Storage 30 | INFO:__main__:Skip 'Oppo f1 (international)': Only '16 GB' Storage 31 | INFO:__main__:Skip 'Samsung galaxy grand 2 duos': Only '8 GB' Storage 32 | INFO:__main__:Skip 'Samsung galaxy s5 lte (g9006v/8v)': Only '2 GB' RAM 33 | INFO:__main__:Skip 'Samsung galaxy s5 lte (g900f/m/r4/r7/t/v/w8)': Only '2 GB' RAM 34 | INFO:__main__:Skip 'Samsung galaxy s5 lte (g900i/p)': Only '2 GB' RAM 35 | INFO:__main__:Skip 'Samsung galaxy s5 lte (g900k/l/s)': Only '2 GB' RAM 36 | INFO:__main__:Skip 'Samsung galaxy s5 lte (sc-04f/scl23)': Only '2 GB' RAM 37 | INFO:__main__:Skip 'Samsung galaxy s5 lte duos (g9006w/8w)': Only '2 GB' RAM 38 | INFO:__main__:Skip 'Samsung galaxy s5 lte duos (g900fd/md)': Only '2 GB' RAM 39 | INFO:__main__:Skip 'Sony xperia z3 compact': Only '2 GB' RAM 40 | INFO:__main__:Skip 'Wileyfox swift': Only '2 GB' RAM 41 | INFO:__main__:Skip 'Ark benefit a3': no maintainers. 42 | INFO:__main__:Skip 'Asus nexus 7 (lte, 2013 version)': no maintainers. 43 | INFO:__main__:Skip 'Asus nexus 7 (wi-fi, 2013 version)': no maintainers. 44 | INFO:__main__:Skip 'Asus nexus player': no maintainers. 45 | INFO:__main__:Skip 'Asus zenfone 2 (1080p)': no maintainers. 46 | INFO:__main__:Skip 'Asus zenfone 2 (720p)': no maintainers. 47 | INFO:__main__:Skip 'Asus zenfone 2 (ze500cl)': no maintainers. 48 | INFO:__main__:Skip 'Asus zenfone 2 laser (720p)': no maintainers. 49 | INFO:__main__:Skip 'Asus zenfone 2 laser/selfie (1080p)': no maintainers. 50 | INFO:__main__:Skip 'Asus zenpad 8.0 (z380kl)': no maintainers. 51 | INFO:__main__:Skip 'Bq aquaris e5 4g / aquaris e5s': no maintainers. 52 | INFO:__main__:Skip 'Bq aquaris m5': no maintainers. 53 | INFO:__main__:Skip 'Bq aquaris u': no maintainers. 54 | INFO:__main__:Skip 'Bq aquaris u plus': no maintainers. 55 | INFO:__main__:Skip 'Bq aquaris x5': no maintainers. 56 | INFO:__main__:Skip 'Bq aquaris x5 plus': no maintainers. 57 | INFO:__main__:Skip 'Google android one 2nd gen': no maintainers. 58 | INFO:__main__:Skip 'Google pixel c': no maintainers. 59 | INFO:__main__:Skip 'Htc 10': no maintainers. 60 | INFO:__main__:Skip 'Htc nexus 9 (lte)': no maintainers. 61 | INFO:__main__:Skip 'Htc nexus 9 (wi-fi)': no maintainers. 62 | INFO:__main__:Skip 'Htc one (gsm)': no maintainers. 63 | INFO:__main__:Skip 'Htc one (verizon)': no maintainers. 64 | INFO:__main__:Skip 'Htc one a9': no maintainers. 65 | INFO:__main__:Skip 'Htc one m9 (gsm)': no maintainers. 66 | INFO:__main__:Skip 'Htc one m9 (verizon)': no maintainers. 67 | INFO:__main__:Skip 'Htc one max (gsm)': no maintainers. 68 | INFO:__main__:Skip 'Htc one max (verizon)': no maintainers. 69 | INFO:__main__:Skip 'Huawei ascend mate 2 4g': no maintainers. 70 | INFO:__main__:Skip 'Huawei honor 4/4x (unified)': no maintainers. 71 | INFO:__main__:Skip 'Huawei honor 4x (china telecom)': no maintainers. 72 | INFO:__main__:Skip 'Huawei nexus 6p': no maintainers. 73 | INFO:__main__:Skip 'Lenovo vibe k5 / k5 plus': no maintainers. 74 | INFO:__main__:Skip 'Lenovo vibe z2 pro': no maintainers. 75 | INFO:__main__:Skip 'Lge g pad 7.0 (lte)': no maintainers. 76 | INFO:__main__:Skip 'Lge g pad 7.0 wifi': no maintainers. 77 | INFO:__main__:Skip 'Lge g pad 8.0 (wi-fi)': no maintainers. 78 | INFO:__main__:Skip 'Lge g pad 8.3': no maintainers. 79 | INFO:__main__:Skip 'Lge g pad x (t-mobile)': no maintainers. 80 | INFO:__main__:Skip 'Lge g2 mini': no maintainers. 81 | INFO:__main__:Skip 'Lge g3 beat': no maintainers. 82 | INFO:__main__:Skip 'Lge g3 s': no maintainers. 83 | INFO:__main__:Skip 'Lge g4 (international)': no maintainers. 84 | INFO:__main__:Skip 'Lge g4 (t-mobile)': no maintainers. 85 | INFO:__main__:Skip 'Lge g6 (eu unlocked)': no maintainers. 86 | INFO:__main__:Skip 'Lge g6 (us unlocked)': no maintainers. 87 | INFO:__main__:Skip 'Lge k10': no maintainers. 88 | INFO:__main__:Skip 'Lge l90': no maintainers. 89 | INFO:__main__:Skip 'Lge nexus 4': no maintainers. 90 | INFO:__main__:Skip 'Lge nexus 5': no maintainers. 91 | INFO:__main__:Skip 'Lge nexus 5x': no maintainers. 92 | INFO:__main__:Skip 'Lge optimus l70': no maintainers. 93 | INFO:__main__:Skip 'Motorola droid 4': no maintainers. 94 | INFO:__main__:Skip 'Motorola droid bionic': no maintainers. 95 | INFO:__main__:Skip 'Motorola droid razr/razr maxx (cdma)': no maintainers. 96 | INFO:__main__:Skip 'Motorola moto e': no maintainers. 97 | INFO:__main__:Skip 'Motorola moto e 2015': no maintainers. 98 | INFO:__main__:Skip 'Motorola moto g': no maintainers. 99 | INFO:__main__:Skip 'Motorola moto g 2014': no maintainers. 100 | INFO:__main__:Skip 'Motorola moto g 2014 lte': no maintainers. 101 | INFO:__main__:Skip 'Motorola moto g 4g': no maintainers. 102 | INFO:__main__:Skip 'Motorola moto g4': no maintainers. 103 | INFO:__main__:Skip 'Motorola moto x': no maintainers. 104 | INFO:__main__:Skip 'Motorola moto x pure edition/style (2015)': no maintainers. 105 | INFO:__main__:Skip 'Motorola moto z play': no maintainers. 106 | INFO:__main__:Skip 'Motorola moto z2 play': no maintainers. 107 | INFO:__main__:Skip 'Motorola photon q 4g lte': no maintainers. 108 | INFO:__main__:Skip 'Motorola razr/razr maxx (gsm)': no maintainers. 109 | INFO:__main__:Skip 'Nubia z9 max': no maintainers. 110 | INFO:__main__:Skip 'Nvidia shield android tv': no maintainers. 111 | INFO:__main__:Skip 'Nvidia shield portable': no maintainers. 112 | INFO:__main__:Skip 'Nvidia shield tablet': no maintainers. 113 | INFO:__main__:Skip 'Oneplus x': no maintainers. 114 | INFO:__main__:Skip 'Oppo n3': no maintainers. 115 | INFO:__main__:Skip 'Realme 3 pro': no maintainers. 116 | INFO:__main__:Skip 'Samsung galaxy nexus gsm': no maintainers. 117 | INFO:__main__:Skip 'Samsung galaxy nexus lte (sprint)': no maintainers. 118 | INFO:__main__:Skip 'Samsung galaxy nexus lte (verizon)': no maintainers. 119 | INFO:__main__:Skip 'Samsung galaxy note 10.1 2014 (lte)': no maintainers. 120 | INFO:__main__:Skip 'Samsung galaxy note 10.1 wi-fi (2014)': no maintainers. 121 | INFO:__main__:Skip 'Samsung galaxy note 2 (lte)': no maintainers. 122 | INFO:__main__:Skip 'Samsung galaxy note 3 (international 3g)': no maintainers. 123 | INFO:__main__:Skip 'Samsung galaxy note 8.0 (gsm)': no maintainers. 124 | INFO:__main__:Skip 'Samsung galaxy note 8.0 (lte)': no maintainers. 125 | INFO:__main__:Skip 'Samsung galaxy note 8.0 (wi-fi)': no maintainers. 126 | INFO:__main__:Skip 'Samsung galaxy note pro 12.2 wi-fi': no maintainers. 127 | INFO:__main__:Skip 'Samsung galaxy s ii': no maintainers. 128 | INFO:__main__:Skip 'Samsung galaxy s iii (at&t)': no maintainers. 129 | INFO:__main__:Skip 'Samsung galaxy s iii (international)': no maintainers. 130 | INFO:__main__:Skip 'Samsung galaxy s iii (lte / international)': no maintainers. 131 | INFO:__main__:Skip 'Samsung galaxy s iii (sprint)': no maintainers. 132 | INFO:__main__:Skip 'Samsung galaxy s iii (t-mobile)': no maintainers. 133 | INFO:__main__:Skip 'Samsung galaxy s iii (verizon)': no maintainers. 134 | INFO:__main__:Skip 'Samsung galaxy s4 lte-a (gt-i9506)': no maintainers. 135 | INFO:__main__:Skip 'Samsung galaxy s4 mini (international 3g)': no maintainers. 136 | INFO:__main__:Skip 'Samsung galaxy s4 mini (international dual sim)': no maintainers. 137 | INFO:__main__:Skip 'Samsung galaxy s4 mini (international lte)': no maintainers. 138 | INFO:__main__:Skip 'Samsung galaxy s5 (international 3g)': no maintainers. 139 | INFO:__main__:Skip 'Samsung galaxy s5 sport': no maintainers. 140 | INFO:__main__:Skip 'Samsung galaxy s6': no maintainers. 141 | INFO:__main__:Skip 'Samsung galaxy s6 edge': no maintainers. 142 | INFO:__main__:Skip 'Samsung galaxy s7': no maintainers. 143 | INFO:__main__:Skip 'Samsung galaxy s7 edge': no maintainers. 144 | INFO:__main__:Skip 'Samsung galaxy tab 2 7.0 / tab 2 10.1 (gsm)': no maintainers. 145 | INFO:__main__:Skip 'Samsung galaxy tab 2 7.0 / tab 2 10.1 (wi-fi / wi-fi + ir)': no maintainers. 146 | INFO:__main__:Skip 'Samsung galaxy tab 3 7.0 lte': no maintainers. 147 | INFO:__main__:Skip 'Samsung galaxy tab e 8.0 lte (sprint)': no maintainers. 148 | INFO:__main__:Skip 'Samsung galaxy tab e 9.6 (wifi)': no maintainers. 149 | INFO:__main__:Skip 'Samsung galaxy tab pro 10.1': no maintainers. 150 | INFO:__main__:Skip 'Samsung galaxy tab pro 8.4': no maintainers. 151 | INFO:__main__:Skip 'Samsung galaxy tab s 10.5 lte': no maintainers. 152 | INFO:__main__:Skip 'Samsung galaxy tab s 10.5 wi-fi': no maintainers. 153 | INFO:__main__:Skip 'Samsung galaxy tab s 8.4 wi-fi': no maintainers. 154 | INFO:__main__:Skip 'Samsung galaxy tab s2 9.7 (lte)': no maintainers. 155 | INFO:__main__:Skip 'Samsung galaxy tab s2 9.7 (wi-fi)': no maintainers. 156 | INFO:__main__:Skip 'Samsung nexus 10': no maintainers. 157 | INFO:__main__:Skip 'Sony xperia l': no maintainers. 158 | INFO:__main__:Skip 'Sony xperia m': no maintainers. 159 | INFO:__main__:Skip 'Sony xperia sp': no maintainers. 160 | INFO:__main__:Skip 'Sony xperia t': no maintainers. 161 | INFO:__main__:Skip 'Sony xperia tablet z lte': no maintainers. 162 | INFO:__main__:Skip 'Sony xperia tablet z wi-fi': no maintainers. 163 | INFO:__main__:Skip 'Sony xperia tx': no maintainers. 164 | INFO:__main__:Skip 'Sony xperia v': no maintainers. 165 | INFO:__main__:Skip 'Sony xperia z': no maintainers. 166 | INFO:__main__:Skip 'Sony xperia z3+': no maintainers. 167 | INFO:__main__:Skip 'Sony xperia z4 tablet lte': no maintainers. 168 | INFO:__main__:Skip 'Sony xperia z4 tablet wifi': no maintainers. 169 | INFO:__main__:Skip 'Sony xperia z5': no maintainers. 170 | INFO:__main__:Skip 'Sony xperia z5 compact': no maintainers. 171 | INFO:__main__:Skip 'Sony xperia zl': no maintainers. 172 | INFO:__main__:Skip 'Sony xperia zr': no maintainers. 173 | INFO:__main__:Skip 'Wileyfox storm': no maintainers. 174 | INFO:__main__:Skip 'Xiaomi mi 3 / mi 4': no maintainers. 175 | INFO:__main__:Skip 'Xiaomi mi 4c': no maintainers. 176 | INFO:__main__:Skip 'Xiaomi mi max': no maintainers. 177 | INFO:__main__:Skip 'Xiaomi redmi 1s': no maintainers. 178 | INFO:__main__:Skip 'Xiaomi redmi 3/prime': no maintainers. 179 | INFO:__main__:Skip 'Xiaomi redmi note 3': no maintainers. 180 | INFO:__main__:Skip 'Xiaomi redmi note 4': no maintainers. 181 | INFO:__main__:Skip 'Xiaomi redmi note 7 pro': no maintainers. 182 | INFO:__main__:Skip 'Yu yunique': no maintainers. 183 | INFO:__main__:Skip 'Yu yuphoria': no maintainers. 184 | INFO:__main__:Skip 'Yu yureka / yureka plus': no maintainers. 185 | INFO:__main__:Skip 'Zte at&t trek 2 hd': no maintainers. 186 | INFO:__main__:Skip 'Zte axon 7': no maintainers. 187 | INFO:__main__:Skip 'Zte axon 7 mini': no maintainers. 188 | -------------------------------------------------------------------------------- /lineageos_info.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | ''' 4 | Convert the Wiki pages: 5 | https://wiki.lineageos.org/devices/ 6 | 7 | use the git sources from: 8 | https://github.com/LineageOS/lineage_wiki.git 9 | via git submodule, see: 10 | https://github.com/jedie/lineageos_info/blob/master/.gitmodules 11 | 12 | more info in README, see: 13 | https://github.com/jedie/lineageos_info#readme 14 | 15 | created 28.12.2018 by Jens Diemer 16 | ''' 17 | 18 | import csv 19 | import datetime 20 | import logging 21 | import re 22 | import shutil 23 | import subprocess 24 | from pathlib import Path 25 | 26 | # https://pyyaml.org/wiki/PyYAMLDocumentation 27 | from yaml import Loader, load 28 | 29 | logging.basicConfig( 30 | level=logging.DEBUG, 31 | filename='device_info.log', 32 | filemode='w', 33 | ) 34 | log = logging.getLogger(__name__) 35 | 36 | LINEAGE_OS_VERSIONS = {16, 17} 37 | INFO_TEMPLATE = '''{vendor} {name} - https://wiki.lineageos.org/devices/{codename}''' 38 | README_TOP10_HEADLINE = '=== top 10 devices' 39 | 40 | GIT_BIN = shutil.which('git') 41 | 42 | 43 | class CsvGenerator: 44 | HEADER_VENDOR = 'vendor' 45 | HEADER_NAME = 'name' 46 | HEADER_MAINTAINER_COUNT = 'maintainers' 47 | HEADER_CODENAME = 'codename' 48 | HEADER_REMOVEABLE_BATTERY = 'removable battery' 49 | HEADER_RELEASE = 'release' 50 | HEADER_SCREEN = 'screen' 51 | HEADER_MODELS = 'models' 52 | HEADER_RAM = 'RAM' 53 | HEADER_STORAGE = 'storage' 54 | HEADER_SOC = 'SOC' 55 | HEADER_VERSIONS = 'versions' 56 | 57 | HEADER_WIKI_DATE = 'Wiki mod.Date' 58 | HEADER_WIKI_LINK = 'Wiki Link' 59 | 60 | def __init__(self, *, csv_file): 61 | 62 | self.csv_file = csv_file 63 | 64 | fieldnames = [ # Note: Order here is the order in the CVS file! 65 | self.HEADER_VENDOR, 66 | self.HEADER_NAME, 67 | self.HEADER_RELEASE, 68 | self.HEADER_SCREEN, 69 | self.HEADER_RAM, 70 | self.HEADER_STORAGE, 71 | self.HEADER_REMOVEABLE_BATTERY, 72 | self.HEADER_MAINTAINER_COUNT, 73 | self.HEADER_CODENAME, 74 | self.HEADER_MODELS, 75 | self.HEADER_SOC, 76 | self.HEADER_VERSIONS, 77 | self.HEADER_WIKI_DATE, 78 | self.HEADER_WIKI_LINK, 79 | ] 80 | 81 | self.csv_writer = csv.DictWriter(csv_file, fieldnames=fieldnames) 82 | self.csv_writer.writeheader() 83 | 84 | def add_device(self, device): 85 | row = { # Note: Order is *not* important here! 86 | self.HEADER_VENDOR: device.lineageos_data['vendor_short'].capitalize(), 87 | self.HEADER_NAME: device.lineageos_data['name'], 88 | self.HEADER_MAINTAINER_COUNT: device.lineageos_data['maintainer_count'], 89 | self.HEADER_CODENAME: device.lineageos_data['codename'], 90 | self.HEADER_REMOVEABLE_BATTERY: device.lineageos_data['removable_battery'], 91 | self.HEADER_RELEASE: device.lineageos_data['release'], 92 | self.HEADER_SCREEN: device.lineageos_data['screen'], 93 | self.HEADER_MODELS: ','.join([x for x in device.lineageos_data.get('models', '')]), 94 | self.HEADER_RAM: device.lineageos_data['ram'], 95 | self.HEADER_STORAGE: device.lineageos_data['storage'], 96 | self.HEADER_SOC: device.lineageos_data['soc'], 97 | self.HEADER_VERSIONS: device.lineageos_data['versions'], 98 | self.HEADER_WIKI_DATE: device.wiki_commit_date, 99 | self.HEADER_WIKI_LINK: device.lineageos_wiki_link, 100 | } 101 | self.csv_writer.writerow(row) 102 | 103 | 104 | class MultiCsvFile: 105 | def __init__(self, path, filename_template, versions): 106 | self.path = path 107 | assert '{version}' in filename_template 108 | self.filename_template = filename_template 109 | self.versions = versions 110 | 111 | def __enter__(self): 112 | self.files = [] 113 | self.csv_generators = {} 114 | for version in self.versions: 115 | filename = self.filename_template.format(version=version) 116 | file_path = Path(self.path, filename) 117 | csv_file = file_path.open('w') 118 | self.files.append(csv_file) 119 | self.csv_generators[version] = CsvGenerator(csv_file=csv_file) 120 | return self 121 | 122 | def add_device(self, version, device): 123 | csv_generator = self.csv_generators[version] 124 | csv_generator.add_device(device) 125 | 126 | def __exit__(self, exc_type, exc_val, exc_tb): 127 | print() 128 | for f in self.files: 129 | f.close() 130 | print(f' *** file generated: {f.name} ***') 131 | 132 | 133 | class Device: 134 | def __init__(self, lineageos_versions, wiki_commit_date): 135 | self.lineageos_versions = lineageos_versions 136 | self.wiki_commit_date = wiki_commit_date 137 | self.short_name = None 138 | self.lineageos_data = {} 139 | 140 | def __lt__(self, other): 141 | if self.lineageos_data['maintainer_count'] != other.lineageos_data['maintainer_count']: 142 | return self.lineageos_data['maintainer_count'] > other.lineageos_data['maintainer_count'] 143 | 144 | return self.short_name < other.short_name 145 | 146 | def __str__(self): 147 | return f'{self.short_name} ({self.lineageos_data["maintainer_count"]} maintainers)' 148 | 149 | def load_lineageos_wiki_data(self, data): 150 | self.short_name = '{vendor_short} {name}'.format(**data).capitalize() 151 | self.lineageos_data = data 152 | 153 | self.lineageos_data['maintainer_count'] = len(self.lineageos_data['maintainers']) 154 | self.lineageos_data['versions'] = {int(ver) for ver in self.lineageos_data['versions']} 155 | self.filtered_lineageos_version = self.lineageos_data['versions'] & self.lineageos_versions 156 | self.lineageos_wiki_link = f'https://wiki.lineageos.org/devices/{self.lineageos_data["codename"]}' 157 | 158 | screen = self.lineageos_data['screen'] 159 | if screen: 160 | try: 161 | inches = re.findall(r'([\d\.]+) in', repr(screen))[0] 162 | except IndexError: 163 | pass 164 | else: 165 | self.lineageos_data['screen'] = inches 166 | 167 | battery = repr(self.lineageos_data.get('battery')) 168 | if "'removable': True" in battery: 169 | self.lineageos_data['removable_battery'] = True 170 | elif "'removable': False" in battery: 171 | self.lineageos_data['removable_battery'] = False 172 | else: 173 | self.lineageos_data['removable_battery'] = '???' 174 | 175 | print(INFO_TEMPLATE.format(**self.lineageos_data)) 176 | 177 | def skip_device(self): 178 | if self.lineageos_data['maintainer_count'] < 1: 179 | log.info('Skip %r: no maintainers.', self.short_name) 180 | return True 181 | 182 | if not self.filtered_lineageos_version: 183 | log.info('Skip %r: only: %r', self.short_name, self.lineageos_versions) 184 | return True 185 | 186 | ram = self.lineageos_data['ram'] 187 | if ram in ('1 GB', '2 GB'): 188 | log.info('Skip %r: Only %r RAM', self.short_name, ram) 189 | return True 190 | 191 | storage = self.lineageos_data['storage'] 192 | if storage in ('8 GB', '16 GB'): 193 | log.info('Skip %r: Only %r Storage', self.short_name, storage) 194 | return True 195 | 196 | return False # Keep this device 197 | 198 | 199 | def get_git_commit_date(wiki_devices_path, item): 200 | item_path = item.relative_to(wiki_devices_path) 201 | popenargs = [GIT_BIN, 'log', '-1', '--format="%cd"', '--date=short', str(item_path)] 202 | # print(' '.join(popenargs)) 203 | raw_commit_date = subprocess.check_output(popenargs, cwd=wiki_devices_path, universal_newlines=True) 204 | commit_date = raw_commit_date.strip().strip('"\'') 205 | return commit_date 206 | 207 | 208 | def generate_readme_top10(wiki_commit_dates, devices): 209 | lines = [] 210 | 211 | for device in sorted(devices)[:10]: 212 | lines.append( 213 | f'* [[{device.lineageos_wiki_link}|{device.short_name}]]' 214 | f' ({device.lineageos_data["maintainer_count"]} maintainers)' 215 | ) 216 | lines.append('') 217 | 218 | newest_commit_date = max(wiki_commit_dates) 219 | lines.append(f'Last LineageOS wiki page update: {newest_commit_date}') 220 | now = datetime.datetime.now() 221 | lines.append(f'Generated: {now.strftime("%Y-%m-%d")}') 222 | 223 | return lines 224 | 225 | 226 | def generate_csv(*, csv_file_path, filename_template, wiki_devices_path, lineageos_versions, readme_path): 227 | assert isinstance(csv_file_path, Path) 228 | assert isinstance(wiki_devices_path, Path) 229 | assert isinstance(readme_path, Path) 230 | 231 | print(f'Read WIKI divice files from: {wiki_devices_path}') 232 | assert wiki_devices_path.is_dir(), f'ERROR: Path not found: {wiki_devices_path}' 233 | 234 | csv_file_path = csv_file_path.resolve() 235 | 236 | print(f'Generate: {csv_file_path}') 237 | log.info('Generate csv on %s+0000', datetime.datetime.utcnow()) 238 | 239 | ################################################################## 240 | # read LineageOS Wiki files: 241 | 242 | devices = [] 243 | wiki_commit_dates = [] 244 | for item in wiki_devices_path.iterdir(): 245 | wiki_commit_date = get_git_commit_date(wiki_devices_path, item) 246 | wiki_commit_dates.append(wiki_commit_date) 247 | 248 | device = Device(lineageos_versions, wiki_commit_date=wiki_commit_date) 249 | 250 | with item.open('r', encoding='utf-8') as ymlfile: 251 | device_data = load(ymlfile, Loader=Loader) 252 | 253 | device.load_lineageos_wiki_data(data=device_data) 254 | 255 | devices.append(device) 256 | # if len(devices) > 10: # only for developing! 257 | # break 258 | 259 | ################################################################## 260 | # save .cvs files: 261 | 262 | with MultiCsvFile(csv_file_path, filename_template, lineageos_versions) as multi_csv: 263 | for device in sorted(devices): 264 | print(device) 265 | if device.skip_device(): 266 | continue 267 | 268 | for version in device.filtered_lineageos_version: 269 | multi_csv.add_device(version, device) 270 | 271 | ################################################################## 272 | # update TOP-10 in README: 273 | 274 | readme_top10 = generate_readme_top10(wiki_commit_dates, devices) 275 | print('-' * 100) 276 | print('\n'.join(readme_top10)) 277 | print('-' * 100) 278 | 279 | new_readme = [] 280 | top10_found = False 281 | in_top10 = False 282 | with readme_path.open('r') as f: 283 | for line in f: 284 | line = line.rstrip() 285 | if not in_top10: 286 | new_readme.append(line) 287 | if line == README_TOP10_HEADLINE: 288 | top10_found = True 289 | new_readme.append('') 290 | new_readme += readme_top10 291 | new_readme.append('') 292 | in_top10 = True 293 | elif line.startswith('=='): 294 | new_readme.append(line) 295 | in_top10 = False 296 | 297 | assert top10_found, 'replace top10 in readme failed!' 298 | new_readme = '\n'.join(new_readme) 299 | # print(new_readme) 300 | with readme_path.open('w') as f: 301 | f.write(new_readme) 302 | 303 | 304 | if __name__ == '__main__': 305 | generate_csv( 306 | csv_file_path=Path('.'), 307 | filename_template='device_info_{version}.csv', 308 | wiki_devices_path=Path('lineage_wiki/_data/devices'), 309 | lineageos_versions=LINEAGE_OS_VERSIONS, 310 | readme_path=Path('./README.creole'), 311 | ) 312 | print() 313 | print('---END---') 314 | -------------------------------------------------------------------------------- /device_info_16.csv: -------------------------------------------------------------------------------- 1 | vendor,name,release,screen,RAM,storage,removable battery,maintainers,codename,models,SOC,versions,Wiki mod.Date,Wiki Link 2 | Oneplus,5,2017-06,5.5,6/8 GB,64/128 GB UFS 2.1 2-LANE,False,6,cheeseburger,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 14, 15}",2020-12-23,https://wiki.lineageos.org/devices/cheeseburger 3 | Fxtec,Pro¹,2019-10,5.99,6 GB,128 GB UFS 2.1 2-LANE,False,5,pro1,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-10-31,https://wiki.lineageos.org/devices/pro1 4 | Motorola,Moto Z,2016-09,5.5,4 GB,32/64 GB,False,5,griffin,"XT1650-03,XT1650-05",Qualcomm MSM8996 Snapdragon 820,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/griffin 5 | Essential,Essential PH-1,2017-08,5.71,4 GB,128 GB UFS 2.1 2-LANE,False,4,mata,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/mata 6 | Bq,Aquaris X,2017-06,5.2,3/4 GB LPDDR3,32/64 GB,False,3,bardock,,Qualcomm MSM8953 Pro Snapdragon 626,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/bardock 7 | Bq,Aquaris X2,2018-05,5.65,3/4 GB LPDDR3,32/64 GB,False,3,zangya,,Qualcomm SDM660 Snapdragon 636,{16},2020-09-28,https://wiki.lineageos.org/devices/zangya 8 | Bq,Aquaris X2 Pro,2018-05,5.65,4/6 GB LPDDR3,64/128 GB,False,3,zangyapro,,Qualcomm SDM660 Snapdragon 660,{16},2020-09-28,https://wiki.lineageos.org/devices/zangyapro 9 | Motorola,Moto G7,2019-02,6.2,4 GB,64 GB,False,3,river,"XT1962-01,XT1962-04,XT1962-05,XT1962-06",Qualcomm MSM8953 Snapdragon 632,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/river 10 | Nextbit,Robin,2016-02,5.2,3 GB,32 GB,False,3,ether,,Qualcomm MSM8992 Snapdragon 808,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/ether 11 | Oneplus,5T,2017-11,6.01,6/8 GB,64/128 GB UFS 2.1 2-LANE,False,3,dumpling,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-12-23,https://wiki.lineageos.org/devices/dumpling 12 | Samsung,Galaxy S III Neo (Dual SIM),2014-04-11,4.8,1.5 GB,8/16 GB,True,3,s3ve3gds,GT-I9300I,Qualcomm MSM8226 Snapdragon 400,{16},2020-10-28,https://wiki.lineageos.org/devices/s3ve3gds 13 | Samsung,Galaxy S III Neo (Samsung Camera),2014-04-11,4.8,1.5 GB,8/16 GB,True,3,s3ve3gjv,"GT-I9301I,GT-I9301Q",Qualcomm MSM8226 Snapdragon 400,{16},2020-10-28,https://wiki.lineageos.org/devices/s3ve3gjv 14 | Samsung,Galaxy S III Neo (Sony Camera),2014-04-11,4.8,1.5 GB,8/16 GB,True,3,s3ve3gxx,"GT-I9301I,GT-I9301Q",Qualcomm MSM8226 Snapdragon 400,{16},2020-10-28,https://wiki.lineageos.org/devices/s3ve3gxx 15 | Samsung,Galaxy Tab S2 8.0 Wi-Fi (2016),2016,8,3 GB,32/64 GB,False,3,gts28vewifi,SM-T713,Qualcomm MSM8976 Snapdragon 652,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/gts28vewifi 16 | Sony,Xperia XA2,2018-02,5.2,3 GB,32 GB,False,3,pioneer,"H3113,H4113,H3133,H4133,H3123",Qualcomm SDM630 Snapdragon 630,"{16, 17, 15}",2020-07-27,https://wiki.lineageos.org/devices/pioneer 17 | Xiaomi,Mi 5,2016-04,5.15,3 GB LPDDR4 (Standard and Pro editions) / 4 GB LPDDR4 (Exclusive edition),32 GB UFS2.0 (Standard edition) / 64 GB UFS2.0 (Pro edition) / 128 GB UFS2.0 (Exclusive edition),False,3,gemini,,Qualcomm MSM8996 Snapdragon 820,"{16, 17, 14, 15}",2020-06-11,https://wiki.lineageos.org/devices/gemini 18 | Asus,Zenfone 6 (ZS630KL),2019-05-16,6.4,6/8 GB,64/128/256 GB UFS2.1,False,2,I01WD,,Qualcomm sm8150 Snapdragon 855,"{16, 17}",2020-08-05,https://wiki.lineageos.org/devices/I01WD 19 | Asus,Zenfone Max Pro M2,2018-12,6.26,3/4/6 GB,32/64 GB,False,2,X01BD,,Qualcomm SDM660 Snapdragon 660,{16},2020-06-09,https://wiki.lineageos.org/devices/X01BD 20 | Bq,Aquaris X Pro,2017-06,5.2,3/4 GB LPDDR3,32/64/128 GB,False,2,bardockpro,,Qualcomm MSM8953 Pro Snapdragon 626,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/bardockpro 21 | Google,Pixel,2016-10,5.0,4 GB,32/128 GB,False,2,sailfish,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/sailfish 22 | Google,Pixel XL,2016-10,5.5,4 GB,32/128 GB,False,2,marlin,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/marlin 23 | Huawei,P Smart,2017-12,5.65,4 GB,32/64/128 GB,False,2,figo,"FIG-LX1,FIG-LA1,FIG-LX2,FIG-LX3,FIG-TL10,FIG-AL10",HiSilicon Kirin 659,{16},2020-09-02,https://wiki.lineageos.org/devices/figo 24 | Leeco,Le 2,2016-04,5.5,3 GB,32 GB,False,2,s2,"X520,X522,X526,X527",Qualcomm MSM8976 Snapdragon 652,"{16, 13, 14, 15}",2020-08-23,https://wiki.lineageos.org/devices/s2 25 | Leeco,Le Max2,2016-04,5.7,4/6 GB,32/64/128 GB,False,2,x2,"LEX820,LEX821,LEX822,LEX829",Qualcomm MSM8996 Snapdragon 820,"{13, 14, 15, 16, 17}",2020-06-09,https://wiki.lineageos.org/devices/x2 26 | Leeco,Le Pro3 / Le Pro3 Elite,"[{'Le Pro3': '2016-10'}, {'Le Pro3 Elite': '2017-03'}]",5.5,4/6 GB,32/64/128 GB,False,2,zl1,"LEX720,LEX722,LEX727",Qualcomm MSM8996 Snapdragon 820 (Le Pro3 Elite) / Qualcomm MSM8996 Pro Snapdragon 821 (Le Pro3),"{13, 14, 15, 16, 17}",2020-06-09,https://wiki.lineageos.org/devices/zl1 27 | Lenovo,P2,2016-11,5.5,3/4 GB,32/64 GB,False,2,kuntao,P2a42,Qualcomm MSM8953 Snapdragon 625,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/kuntao 28 | Lenovo,Yoga Tab 3 Plus LTE,2016-12,10.1,3 GB,32 GB,False,2,YTX703L,"YTX703L,YTX703X",Qualcomm MSM8976 Snapdragon 652,"{16, 15}",2020-06-09,https://wiki.lineageos.org/devices/YTX703L 29 | Lenovo,Yoga Tab 3 Plus Wi-Fi,2016-12,10.1,3 GB,32 GB,False,2,YTX703F,YTX703F,Qualcomm APQ8076 Snapdragon 652,"{16, 15}",2020-06-09,https://wiki.lineageos.org/devices/YTX703F 30 | Lge,G3 (AT&T),2014-06,5.5,2/3 GB,16/32 GB,True,2,d850,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d850 31 | Lge,G3 (Canada),2014-06,5.5,2/3 GB,16/32 GB,True,2,d852,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d852 32 | Lge,G3 (International),2014-06,5.5,2/3 GB,16/32 GB,True,2,d855,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d855 33 | Lge,G3 (Korea),2014-06,5.5,3 GB,16/32 GB,True,2,f400,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/f400 34 | Lge,G3 (Sprint),2014-06,5.5,3 GB,16/32 GB,True,2,ls990,,Qualcomm MSM8974AC Snapdragon 801,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/ls990 35 | Lge,G3 (T-Mobile),2014-06,5.5,2/3 GB,16/32 GB,True,2,d851,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d851 36 | Lge,G3 (Verizon),2014-06,5.5,3 GB,16/32 GB,True,2,vs985,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/vs985 37 | Moto,Nexus 6,2014-10-29,5.96,3 GB,32/64 GB,False,2,shamu,,Qualcomm APQ8084 Snapdragon 805,"{16, 17, 14, 15}",2020-11-19,https://wiki.lineageos.org/devices/shamu 38 | Motorola,Moto Z2 Force,2017-07,5.5,"4 GB, 6 GB","64 GB, 128 GB (UFS 2.1 2-LANE)",False,2,nash,"XT1789-02,XT1789-03,XT1789-04,XT1789-05,XT1789-06,XT1789-07",Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/nash 39 | Oneplus,2,2015-08-28,5.5,3/4 GB,16/64 GB,False,2,oneplus2,,Qualcomm MSM8994 Snapdragon 810,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/oneplus2 40 | Oneplus,6,2018-04,6.28,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,2,enchilada,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-07-27,https://wiki.lineageos.org/devices/enchilada 41 | Oneplus,7 Pro,2019-05,6.67,6/8/12GB GB LPDDR4X,128/256 GB UFS3.0,False,2,guacamole,"GM1910,GM1911,GM1913,GM1915,GM1917",Qualcomm SM8150 Snapdragon 855,"{16, 17}",2020-09-07,https://wiki.lineageos.org/devices/guacamole 42 | Razer,Phone,2017-11,5.7,8 GB,64 GB,False,2,cheryl,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/cheryl 43 | Samsung,Galaxy Note 3 LTE (N9005/P),2013-09,5.7,3 GB,16/32/64 GB,True,2,hlte,"SM-N9005,SM-N900P",Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hlte 44 | Samsung,Galaxy Note 3 LTE (N9008V),2013-09,5.7,3 GB,16/32/64 GB,True,2,hltechn,SM-N9008V,Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hltechn 45 | Samsung,Galaxy Note 3 LTE (N900K/L/S),2013-09,5.7,3 GB,16/32/64 GB,True,2,hltekor,"SM-N900K,SM-N900L,SM-N900S",Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hltekor 46 | Samsung,Galaxy Note 3 LTE (N900T/V/W8),2013-09,5.7,3 GB,16/32/64 GB,True,2,hltetmo,"SM-N900T,SM-N900V,SM-N900W8",Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hltetmo 47 | Samsung,Galaxy S5 LTE-A,2014-07-15,5.1,3 GB,32 GB,True,2,lentislte,"SM-G906S,SM-G906K,SM-G906L",Qualcomm APQ8084 Snapdragon 805,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/lentislte 48 | Samsung,Galaxy Tab S2 9.7 Wi-Fi (2016),2016,9.7,3 GB,32/64 GB,False,2,gts210vewifi,SM-T813,Qualcomm MSM8976 Snapdragon 652,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/gts210vewifi 49 | Sony,Xperia Z3,2014-09-04,5.2,3 GB,32 GB,False,2,z3,D6603,Qualcomm MSM8974AC Snapdragon 801,"{16, 17}",2020-09-07,https://wiki.lineageos.org/devices/z3 50 | Xiaomi,Mi 6,2017-04,5.15,4/6 GB,64/128 GB,False,2,sagit,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/sagit 51 | Xiaomi,Mi MIX,2016-10,6.4,4/6 GB LPDDR4,128/256 GB UFS2.0,False,2,lithium,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 14, 15}",2020-06-11,https://wiki.lineageos.org/devices/lithium 52 | Xiaomi,Mi MIX 2,2017-09,5.99,6/8 GB,64/128/256 GB,False,2,chiron,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/chiron 53 | Xiaomi,Poco F1,2018-08,6.18,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,2,beryllium,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/beryllium 54 | Yandex,Phone,2018-12,5.65,4 GB,64 GB,False,2,Amber,,Qualcomm SDM630 Snapdragon 630,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/Amber 55 | Asus,Zenfone 3,2016-05-30,5.1,2/3/4 GB,16/32/64 GB,False,1,zenfone3,"ZE520KL,ZE552KL",Qualcomm MSM8953 Snapdragon 625,{16},2020-06-09,https://wiki.lineageos.org/devices/zenfone3 56 | Asus,Zenfone Max Pro M1,2018-05,5.99,3/4/6 GB,64 GB,False,1,X00TD,,Qualcomm SDM636 Snapdragon 636,"{16, 15}",2020-06-09,https://wiki.lineageos.org/devices/X00TD 57 | Google,Pixel 2,2017-10,5,4 GB,64/128 GB,False,1,walleye,,Qualcomm SDM835 Snapdragon 835,"{16, 17}",2020-09-03,https://wiki.lineageos.org/devices/walleye 58 | Google,Pixel 2 XL,2017-10,6,4 GB,64/128 GB,False,1,taimen,,Qualcomm SDM835 Snapdragon 835,"{16, 17}",2020-09-03,https://wiki.lineageos.org/devices/taimen 59 | Huawei,Honor View 10,2018-01,5.99,4/6 GB,64/128 GB,False,1,berkeley,"BKL-AL00,BKL-AL10,BKL-AL20,BKL-L09,BKL-TL10,BKL-TL20",HiSilicon Kirin 970,{16},2020-06-09,https://wiki.lineageos.org/devices/berkeley 60 | Huawei,P20 Lite,2018-03,5.84,4 GB,32/64/128 GB,False,1,anne,"ANE-LX1,ANE-LX2,ANE-LX3,ANE-LX2J,ANE-AL00,ANE-L23,ANE-L22,ANE-L21",HiSilicon Kirin 659,{16},2020-09-02,https://wiki.lineageos.org/devices/anne 61 | Huawei,P20 Pro,2018-04,6.1,6/8 GB,128/256 GB,False,1,charlotte,"CLT-AL00,CLT-AL01,CLT-L04,CLT-L09,CLT-L29,CLT-TL00,CLT-TL01",HiSilicon Kirin 970,{16},2020-06-09,https://wiki.lineageos.org/devices/charlotte 62 | Motorola,Moto X4,2017-10,5.2,3/4/6 GB,32/64/128 GB,False,1,payton,,Qualcomm SDM630 Snapdragon 630,"{16, 17, 15}",2020-11-22,https://wiki.lineageos.org/devices/payton 63 | Nubia,Z17,2017-06,5.5,6/8 GB,64/128 GB UFS 2.1,False,1,nx563j,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/nx563j 64 | Oneplus,3 / 3T,"[{'A3000': '2016-06'}, {'A3003': '2016-10'}]",5.5,6 GB LPDDR4,64 GB UFS 2.0 (3) / 64/128 GB UFS 2.0 (3T),False,1,oneplus3,"A3000,A3003",Qualcomm MSM8996 Snapdragon 820 (3) / Qualcomm MSM8996 Pro Snapdragon 821 (3T),"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/oneplus3 65 | Oneplus,6T,2018-11,6.41,6/8 GB LPDDR4X,128/256 GB UFS2.1,False,1,fajita,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-07-27,https://wiki.lineageos.org/devices/fajita 66 | Oneplus,One,2014-06-06,5.5,3 GB,16/64 GB,False,1,bacon,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-07-25,https://wiki.lineageos.org/devices/bacon 67 | Oppo,Find 7a/s,"[{'Find 7a': datetime.date(2014, 3, 19)}, {'Find 7s': datetime.date(2014, 5, 19)}]",5.5,2/3 GB,16/32 GB,True,1,find7,"Find 7a,Find 7s",Qualcomm MSM8974AB/MSM8974AC Snapdragon 801,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/find7 68 | Oppo,R5/R5s (International),"[{'R8106': '2014-12'}, {'R8106s': '2015-08'}]",5.2,"2 GB (R5), 3 GB (R5s)","16 GB (R5), 32 GB (R5s)",False,1,r5,"R8106,R8106s",Qualcomm MSM8939 Snapdragon 615,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/r5 69 | Oppo,R7 Plus (International),2015-05,6.0,3/4 GB,32/64 GB,False,1,r7plus,R7plusf,Qualcomm MSM8939 Snapdragon 615,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/r7plus 70 | Oppo,R7s (International),2015-11,5.5,4 GB,32 GB,False,1,r7sf,R7sf,Qualcomm MSM8939 Snapdragon 615,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/r7sf 71 | Realme,2 Pro,2018-10-11,6.3,4/6/8 GB LPDDR4X,64/128 GB eMMC5.1,False,1,RMX1801,RMX1801,Qualcomm SDM660 Snapdragon 660,"{16, 17}",2020-08-16,https://wiki.lineageos.org/devices/RMX1801 72 | Samsung,Galaxy A5 (2017),2017-01-02,5.2,3 GB,32/64 GB,False,1,a5y17lte,"SM-A520F,SM-A520F/DS,SM-A520K,SM-A520L,SM-A520S,SM-A520W",Samsung Exynos 7880,"{16, 17, 14}",2020-11-22,https://wiki.lineageos.org/devices/a5y17lte 73 | Samsung,Galaxy A7 (2017),2017-01-02,5.2,3 GB,32/64 GB,False,1,a7y17lte,"SM-A720F,SM-A720F/DS,SM-A720S",Samsung Exynos 7880,"{16, 17, 14}",2020-11-22,https://wiki.lineageos.org/devices/a7y17lte 74 | Sony,Xperia XA2 Ultra,2018-02,6,4 GB,32 GB,False,1,discovery,"H3213,H4213,H4233,H3223",Qualcomm SDM630 Snapdragon 630,"{16, 17, 15}",2020-07-27,https://wiki.lineageos.org/devices/discovery 75 | Xiaomi,Mi 5s,2016-10,5.15,3/4 GB LPDDR4,32/64/128 GB UFS 2.0,False,1,capricorn,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/capricorn 76 | Xiaomi,Mi 5s Plus,2016-10,5.7,4/6 GB LPDDR4,64/128 GB UFS2.0,False,1,natrium,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 14, 15}",2020-06-11,https://wiki.lineageos.org/devices/natrium 77 | Xiaomi,Mi 8,2018-07,6.21,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,1,dipper,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/dipper 78 | Xiaomi,Mi A1,2017-10,5.5,4 GB,32/64 GB,False,1,tissot,,Qualcomm MSM8953 Snapdragon 625,"{16, 17, 15}",2020-06-26,https://wiki.lineageos.org/devices/tissot 79 | Xiaomi,Mi MIX 2S,2018-04,5.99,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,1,polaris,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/polaris 80 | Xiaomi,Mi Note 2,2016-11,5.7,4/6 GB LPDDR4,64/128 GB UFS2.0,False,1,scorpio,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 15}",2020-06-11,https://wiki.lineageos.org/devices/scorpio 81 | Xiaomi,Mi Note 3,2017-09,5.5,4/6 GB,64/128 GB,False,1,jason,,Qualcomm SDM660 Snapdragon 660,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/jason 82 | Xiaomi,Redmi 3S/3X,2016-06,5.0,2/3 GB,16/32 GB,False,1,land,,Qualcomm MSM8937 Snapdragon 430,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/land 83 | Xiaomi,Redmi 4(X),2017-05,5.0,2/3/4 GB,16/32/64 GB,False,1,santoni,,Qualcomm MSM8940 Snapdragon 435,"{16, 15}",2020-06-09,https://wiki.lineageos.org/devices/santoni 84 | Zuk,Z1,2015-10-14,5.5,3 GB,64 GB,False,1,ham,,Qualcomm MSM8974AC Snapdragon 801,"{16, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/ham 85 | Zuk,Z2 Plus,2016-06,5.0,3 GB LPDDR4 / 4 GB LPDDR4,32 / 64 GB,False,1,z2_plus,,Qualcomm MSM8996 Snapdragon 820,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/z2_plus 86 | -------------------------------------------------------------------------------- /device_info_17.csv: -------------------------------------------------------------------------------- 1 | vendor,name,release,screen,RAM,storage,removable battery,maintainers,codename,models,SOC,versions,Wiki mod.Date,Wiki Link 2 | Oneplus,5,2017-06,5.5,6/8 GB,64/128 GB UFS 2.1 2-LANE,False,6,cheeseburger,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 14, 15}",2020-12-23,https://wiki.lineageos.org/devices/cheeseburger 3 | Fxtec,Pro¹,2019-10,5.99,6 GB,128 GB UFS 2.1 2-LANE,False,5,pro1,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-10-31,https://wiki.lineageos.org/devices/pro1 4 | Motorola,Moto Z,2016-09,5.5,4 GB,32/64 GB,False,5,griffin,"XT1650-03,XT1650-05",Qualcomm MSM8996 Snapdragon 820,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/griffin 5 | Essential,Essential PH-1,2017-08,5.71,4 GB,128 GB UFS 2.1 2-LANE,False,4,mata,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/mata 6 | Bq,Aquaris X,2017-06,5.2,3/4 GB LPDDR3,32/64 GB,False,3,bardock,,Qualcomm MSM8953 Pro Snapdragon 626,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/bardock 7 | Google,Pixel 3,2018-10,5.5,4 GB,64/128 GB,False,3,blueline,,Qualcomm SDM845 Snapdragon 845,{17},2020-09-22,https://wiki.lineageos.org/devices/blueline 8 | Google,Pixel 3 XL,2018-10,6.3,4 GB,64/128 GB,False,3,crosshatch,,Qualcomm SDM845 Snapdragon 845,{17},2020-09-22,https://wiki.lineageos.org/devices/crosshatch 9 | Google,Pixel 4,2019-09,5.7,6 GB,64/128 GB,False,3,flame,,Qualcomm SM8150 Snapdragon 855,{17},2020-11-17,https://wiki.lineageos.org/devices/flame 10 | Google,Pixel 4 XL,2019-09,6.3,6 GB,64/128 GB,False,3,coral,,Qualcomm SM8150 Snapdragon 855,{17},2020-11-17,https://wiki.lineageos.org/devices/coral 11 | Lge,G5 (International),2016-02,5.3,4 GB,32 GB,True,3,h850,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/h850 12 | Lge,G5 (T-Mobile),2016-02,5.3,4 GB,32 GB,True,3,h830,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/h830 13 | Lge,G5 (US Unlocked),2016-02,5.3,4 GB,32 GB,True,3,rs988,,Qualcomm MSM8996 Snapdragon 820,"{17, 15}",2020-11-14,https://wiki.lineageos.org/devices/rs988 14 | Lge,V20 (AT&T),2016-10,5.7,4 GB,64 GB,True,3,h910,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/h910 15 | Lge,V20 (Global),2016-10,5.7,4 GB,64 GB,True,3,h990,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/h990 16 | Lge,V20 (Sprint),2016-10,5.7,4 GB,64 GB,True,3,ls997,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/ls997 17 | Lge,V20 (T-Mobile),2016-10,5.7,4 GB,64 GB,True,3,h918,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/h918 18 | Lge,V20 (US Unlocked),2016-10,5.7,4 GB,64 GB,True,3,us996,,Qualcomm MSM8996 Snapdragon 820,{17},2020-11-14,https://wiki.lineageos.org/devices/us996 19 | Lge,V20 (Verizon),2016-10,5.7,4 GB,64 GB,True,3,vs995,,Qualcomm MSM8996 Snapdragon 820,"{17, 14}",2020-11-14,https://wiki.lineageos.org/devices/vs995 20 | Motorola,Moto G7,2019-02,6.2,4 GB,64 GB,False,3,river,"XT1962-01,XT1962-04,XT1962-05,XT1962-06",Qualcomm MSM8953 Snapdragon 632,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/river 21 | Motorola,Moto G7 Power,2019-02,6.2,"3 GB, 4 GB","32 GB, 64 GB",False,3,ocean,"XT1955-1,XT1955-2,XT1955-4,XT1955-5,XT1955-7",Qualcomm MSM8953 Snapdragon 632,{17},2020-08-28,https://wiki.lineageos.org/devices/ocean 22 | Oneplus,5T,2017-11,6.01,6/8 GB,64/128 GB UFS 2.1 2-LANE,False,3,dumpling,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-12-23,https://wiki.lineageos.org/devices/dumpling 23 | Sony,Xperia XA2,2018-02,5.2,3 GB,32 GB,False,3,pioneer,"H3113,H4113,H3133,H4133,H3123",Qualcomm SDM630 Snapdragon 630,"{16, 17, 15}",2020-07-27,https://wiki.lineageos.org/devices/pioneer 24 | Xiaomi,Mi 5,2016-04,5.15,3 GB LPDDR4 (Standard and Pro editions) / 4 GB LPDDR4 (Exclusive edition),32 GB UFS2.0 (Standard edition) / 64 GB UFS2.0 (Pro edition) / 128 GB UFS2.0 (Exclusive edition),False,3,gemini,,Qualcomm MSM8996 Snapdragon 820,"{16, 17, 14, 15}",2020-06-11,https://wiki.lineageos.org/devices/gemini 25 | Asus,Zenfone 6 (ZS630KL),2019-05-16,6.4,6/8 GB,64/128/256 GB UFS2.1,False,2,I01WD,,Qualcomm sm8150 Snapdragon 855,"{16, 17}",2020-08-05,https://wiki.lineageos.org/devices/I01WD 26 | Bq,Aquaris X Pro,2017-06,5.2,3/4 GB LPDDR3,32/64/128 GB,False,2,bardockpro,,Qualcomm MSM8953 Pro Snapdragon 626,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/bardockpro 27 | Google,Pixel,2016-10,5.0,4 GB,32/128 GB,False,2,sailfish,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/sailfish 28 | Google,Pixel 3a,2019-04,5.6,4 GB,64 GB,False,2,sargo,,Qualcomm SDM670 Snapdragon 670,{17},2020-09-22,https://wiki.lineageos.org/devices/sargo 29 | Google,Pixel 3a XL,2019-04,6.0,4 GB,64 GB,False,2,bonito,,Qualcomm SDM670 Snapdragon 670,{17},2020-09-22,https://wiki.lineageos.org/devices/bonito 30 | Google,Pixel XL,2016-10,5.5,4 GB,32/128 GB,False,2,marlin,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/marlin 31 | Leeco,Le Max2,2016-04,5.7,4/6 GB,32/64/128 GB,False,2,x2,"LEX820,LEX821,LEX822,LEX829",Qualcomm MSM8996 Snapdragon 820,"{13, 14, 15, 16, 17}",2020-06-09,https://wiki.lineageos.org/devices/x2 32 | Leeco,Le Pro3 / Le Pro3 Elite,"[{'Le Pro3': '2016-10'}, {'Le Pro3 Elite': '2017-03'}]",5.5,4/6 GB,32/64/128 GB,False,2,zl1,"LEX720,LEX722,LEX727",Qualcomm MSM8996 Snapdragon 820 (Le Pro3 Elite) / Qualcomm MSM8996 Pro Snapdragon 821 (Le Pro3),"{13, 14, 15, 16, 17}",2020-06-09,https://wiki.lineageos.org/devices/zl1 33 | Lenovo,P2,2016-11,5.5,3/4 GB,32/64 GB,False,2,kuntao,P2a42,Qualcomm MSM8953 Snapdragon 625,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/kuntao 34 | Lge,G3 (AT&T),2014-06,5.5,2/3 GB,16/32 GB,True,2,d850,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d850 35 | Lge,G3 (Canada),2014-06,5.5,2/3 GB,16/32 GB,True,2,d852,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d852 36 | Lge,G3 (International),2014-06,5.5,2/3 GB,16/32 GB,True,2,d855,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d855 37 | Lge,G3 (Korea),2014-06,5.5,3 GB,16/32 GB,True,2,f400,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/f400 38 | Lge,G3 (T-Mobile),2014-06,5.5,2/3 GB,16/32 GB,True,2,d851,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/d851 39 | Lge,G3 (Verizon),2014-06,5.5,3 GB,16/32 GB,True,2,vs985,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/vs985 40 | Moto,Nexus 6,2014-10-29,5.96,3 GB,32/64 GB,False,2,shamu,,Qualcomm APQ8084 Snapdragon 805,"{16, 17, 14, 15}",2020-11-19,https://wiki.lineageos.org/devices/shamu 41 | Motorola,Moto G 2015,2015-07,5.0,1/2 GB,8/16 GB,False,2,osprey,"XT1540,XT1541,XT1542,XT1543,XT1544,XT1548,XT1550",Qualcomm MSM8916 Snapdragon 410,"{17, 14}",2020-11-27,https://wiki.lineageos.org/devices/osprey 42 | Motorola,Moto G7 Plus,2019-02,6.2,4 GB,64 GB,False,2,lake,"XT1965-2,XT1965-3,XT1965-6,XT1965-T",Qualcomm SDM636 Snapdragon 636,{17},2020-06-09,https://wiki.lineageos.org/devices/lake 43 | Motorola,Moto Z2 Force,2017-07,5.5,"4 GB, 6 GB","64 GB, 128 GB (UFS 2.1 2-LANE)",False,2,nash,"XT1789-02,XT1789-03,XT1789-04,XT1789-05,XT1789-06,XT1789-07",Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/nash 44 | Nokia,6.1 (2018),2018,5.46,3/4 GB LPDDR4X,32/64 GB,False,2,PL2,"TA-1043,TA-1089",Qualcomm SDM660 Snapdragon 630,{17},2020-10-09,https://wiki.lineageos.org/devices/PL2 45 | Oneplus,2,2015-08-28,5.5,3/4 GB,16/64 GB,False,2,oneplus2,,Qualcomm MSM8994 Snapdragon 810,"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/oneplus2 46 | Oneplus,6,2018-04,6.28,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,2,enchilada,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-07-27,https://wiki.lineageos.org/devices/enchilada 47 | Oneplus,7 Pro,2019-05,6.67,6/8/12GB GB LPDDR4X,128/256 GB UFS3.0,False,2,guacamole,"GM1910,GM1911,GM1913,GM1915,GM1917",Qualcomm SM8150 Snapdragon 855,"{16, 17}",2020-09-07,https://wiki.lineageos.org/devices/guacamole 48 | Razer,Phone,2017-11,5.7,8 GB,64 GB,False,2,cheryl,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/cheryl 49 | Samsung,Galaxy Note 3 LTE (N9005/P),2013-09,5.7,3 GB,16/32/64 GB,True,2,hlte,"SM-N9005,SM-N900P",Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hlte 50 | Samsung,Galaxy Note 3 LTE (N9008V),2013-09,5.7,3 GB,16/32/64 GB,True,2,hltechn,SM-N9008V,Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hltechn 51 | Samsung,Galaxy Note 3 LTE (N900K/L/S),2013-09,5.7,3 GB,16/32/64 GB,True,2,hltekor,"SM-N900K,SM-N900L,SM-N900S",Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hltekor 52 | Samsung,Galaxy Note 3 LTE (N900T/V/W8),2013-09,5.7,3 GB,16/32/64 GB,True,2,hltetmo,"SM-N900T,SM-N900V,SM-N900W8",Qualcomm MSM8974AB Snapdragon 800,"{16, 17, 14}",2020-10-07,https://wiki.lineageos.org/devices/hltetmo 53 | Samsung,Galaxy Tab S5e (LTE),2019,10.5,4/6 GB,64/128 GB,False,2,gts4lv,SM-T725,Qualcomm SDM670 Snapdragon 670,{17},2020-11-07,https://wiki.lineageos.org/devices/gts4lv 54 | Samsung,Galaxy Tab S5e (Wi-Fi),2019,10.5,4/6 GB,64/128 GB,False,2,gts4lvwifi,SM-T720,Qualcomm SDM670 Snapdragon 670,{17},2020-11-07,https://wiki.lineageos.org/devices/gts4lvwifi 55 | Sony,Xperia XZ2,2018-04,5.7,4 or 6 GB,64 GB UFS2.1,False,2,akari,,Qualcomm SDM845 Snapdragon 845,{17},2020-07-28,https://wiki.lineageos.org/devices/akari 56 | Sony,Xperia XZ2 Compact,2018-04,5,4 GB,64 GB UFS2.1,False,2,xz2c,,Qualcomm SDM845 Snapdragon 845,{17},2020-07-28,https://wiki.lineageos.org/devices/xz2c 57 | Sony,Xperia Z3,2014-09-04,5.2,3 GB,32 GB,False,2,z3,D6603,Qualcomm MSM8974AC Snapdragon 801,"{16, 17}",2020-09-07,https://wiki.lineageos.org/devices/z3 58 | Xiaomi,Mi 6,2017-04,5.15,4/6 GB,64/128 GB,False,2,sagit,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/sagit 59 | Xiaomi,Mi MIX,2016-10,6.4,4/6 GB LPDDR4,128/256 GB UFS2.0,False,2,lithium,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 14, 15}",2020-06-11,https://wiki.lineageos.org/devices/lithium 60 | Xiaomi,Mi MIX 2,2017-09,5.99,6/8 GB,64/128/256 GB,False,2,chiron,,Qualcomm MSM8998 Snapdragon 835,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/chiron 61 | Xiaomi,Poco F1,2018-08,6.18,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,2,beryllium,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/beryllium 62 | Xiaomi,Redmi Note 5 Pro,2018-02,5.99,3 GB / 4 GB / 6 GB (LPDDR4X),32 / 64 / 128 GB eMMC 5.1 flash storage,False,2,whyred,,Qualcomm SDM636 Snapdragon 636,"{17, 15}",2020-06-09,https://wiki.lineageos.org/devices/whyred 63 | Xiaomi,Redmi Note 8 / 8T,"[{'Note 8': '2019-08'}, {'Note 8T': '2019-11'}]",6.3,3/4/6 GB,32/64/128 GB,False,2,ginkgo,,Qualcomm SDM665 Snapdragon 665,{17},2020-09-21,https://wiki.lineageos.org/devices/ginkgo 64 | Yandex,Phone,2018-12,5.65,4 GB,64 GB,False,2,Amber,,Qualcomm SDM630 Snapdragon 630,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/Amber 65 | Asus,ROG Phone 2 (I001D),2019-09,6.59,8/12 GB,128/512/1024 GB UFS3.0,False,1,I001D,,Qualcomm SM8150-AC Snapdragon 855 Plus,{17},2020-08-05,https://wiki.lineageos.org/devices/I001D 66 | Fairphone,FP3,2019-09,5.65,4 GB,64 GB,True,1,FP3,"FP3,FP3+",Qualcomm MSM8953 Snapdragon 632,{17},2020-12-27,https://wiki.lineageos.org/devices/FP3 67 | Google,Pixel 2,2017-10,5,4 GB,64/128 GB,False,1,walleye,,Qualcomm SDM835 Snapdragon 835,"{16, 17}",2020-09-03,https://wiki.lineageos.org/devices/walleye 68 | Google,Pixel 2 XL,2017-10,6,4 GB,64/128 GB,False,1,taimen,,Qualcomm SDM835 Snapdragon 835,"{16, 17}",2020-09-03,https://wiki.lineageos.org/devices/taimen 69 | Motorola,Moto G6 Plus,2018-05,5.2,4/6 GB,64/128 GB,False,1,evert,"XT1926-2,XT1926-3,XT1926-5,XT1926-6,XT1926-7,XT1926-8,XT1926-9",Qualcomm SDM630 Snapdragon 630,{17},2020-11-22,https://wiki.lineageos.org/devices/evert 70 | Motorola,Moto One Power,2018-10-10,6.14,"4 GB, 6 GB",64 GB,False,1,chef,"XT1942-1,XT1942-2",Qualcomm SDM636 Snapdragon 636,{17},2020-06-09,https://wiki.lineageos.org/devices/chef 71 | Motorola,Moto X4,2017-10,5.2,3/4/6 GB,32/64/128 GB,False,1,payton,,Qualcomm SDM630 Snapdragon 630,"{16, 17, 15}",2020-11-22,https://wiki.lineageos.org/devices/payton 72 | Motorola,Moto Z3 Play,2018-06,6.2,"4 GB, 6 GB","32 GB, 64 GB, 128 GB",False,1,beckham,"XT1929-2,XT1929-3,XT1929-4,XT1929-5,XT1929-6",Qualcomm SDM636 Snapdragon 636,{17},2020-11-22,https://wiki.lineageos.org/devices/beckham 73 | Nubia,Z17,2017-06,5.5,6/8 GB,64/128 GB UFS 2.1,False,1,nx563j,,Qualcomm MSM8998 Snapdragon 835,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/nx563j 74 | Oneplus,3 / 3T,"[{'A3000': '2016-06'}, {'A3003': '2016-10'}]",5.5,6 GB LPDDR4,64 GB UFS 2.0 (3) / 64/128 GB UFS 2.0 (3T),False,1,oneplus3,"A3000,A3003",Qualcomm MSM8996 Snapdragon 820 (3) / Qualcomm MSM8996 Pro Snapdragon 821 (3T),"{16, 17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/oneplus3 75 | Oneplus,6T,2018-11,6.41,6/8 GB LPDDR4X,128/256 GB UFS2.1,False,1,fajita,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-07-27,https://wiki.lineageos.org/devices/fajita 76 | Oneplus,7,2019-05,6.41,6/8 GB LPDDR4X,128/256 GB UFS3.0,False,1,guacamoleb,,Qualcomm SM8150 Snapdragon 855,{17},2020-07-27,https://wiki.lineageos.org/devices/guacamoleb 77 | Oneplus,7T Pro,2019-10,6.67,8/12GB GB LPDDR4X,256 GB UFS3.0,False,1,hotdog,"HD1910,HD1911,HD1913,HD1917",Qualcomm SM8150 Snapdragon 855+,{17},2020-09-07,https://wiki.lineageos.org/devices/hotdog 78 | Oneplus,One,2014-06-06,5.5,3 GB,16/64 GB,False,1,bacon,,Qualcomm MSM8974AC Snapdragon 801,"{16, 17, 14, 15}",2020-07-25,https://wiki.lineageos.org/devices/bacon 79 | Realme,2 Pro,2018-10-11,6.3,4/6/8 GB LPDDR4X,64/128 GB eMMC5.1,False,1,RMX1801,RMX1801,Qualcomm SDM660 Snapdragon 660,"{16, 17}",2020-08-16,https://wiki.lineageos.org/devices/RMX1801 80 | Samsung,Galaxy A5 (2017),2017-01-02,5.2,3 GB,32/64 GB,False,1,a5y17lte,"SM-A520F,SM-A520F/DS,SM-A520K,SM-A520L,SM-A520S,SM-A520W",Samsung Exynos 7880,"{16, 17, 14}",2020-11-22,https://wiki.lineageos.org/devices/a5y17lte 81 | Samsung,Galaxy A7 (2017),2017-01-02,5.2,3 GB,32/64 GB,False,1,a7y17lte,"SM-A720F,SM-A720F/DS,SM-A720S",Samsung Exynos 7880,"{16, 17, 14}",2020-11-22,https://wiki.lineageos.org/devices/a7y17lte 82 | Samsung,Galaxy Note 9,2018-08-09,6.4,6/8 GB,128/512 GB,False,1,crownlte,"SM-N960F,SM-N960F/DS,SM-N960N",Samsung Exynos 9810,{17},2020-07-27,https://wiki.lineageos.org/devices/crownlte 83 | Samsung,Galaxy S9,2018-03-11,5.8,4 GB,64 GB,False,1,starlte,"SM-G960F,SM-G960F/DS,SM-G960N",Samsung Exynos 9810,"{17, 15}",2020-07-27,https://wiki.lineageos.org/devices/starlte 84 | Samsung,Galaxy S9+,2018-03-11,6.2,6 GB,64/128/256 GB,False,1,star2lte,"SM-G965F,SM-G965F/DS,SM-G965N",Samsung Exynos 9810,"{17, 15}",2020-07-27,https://wiki.lineageos.org/devices/star2lte 85 | Samsung,Galaxy Tab S6 Lite (Wi-Fi),2020-04-02,10.4,4 GB,64/128 GB,False,1,gta4xlwifi,SM-P610,Samsung Exynos 9611,{17},2020-12-22,https://wiki.lineageos.org/devices/gta4xlwifi 86 | Sony,Xperia 10,2019-02,6,3/4 GB,64 GB,False,1,kirin,"I3113,I3123,I4113,I4193",Qualcomm SDM630 Snapdragon 630,{17},2020-06-09,https://wiki.lineageos.org/devices/kirin 87 | Sony,Xperia 10 Plus,2019-02,6.5,4/6 GB,64 GB,False,1,mermaid,"I3213,I3223,I4213,I4293",Qualcomm SDM636 Snapdragon 636,{17},2020-06-09,https://wiki.lineageos.org/devices/mermaid 88 | Sony,Xperia XA2 Plus,2018-07,6.0,4/6 GB,32 GB,False,1,voyager,"H3413,H4413,H4493",Qualcomm SDM630 Snapdragon 630,{17},2020-07-27,https://wiki.lineageos.org/devices/voyager 89 | Sony,Xperia XA2 Ultra,2018-02,6,4 GB,32 GB,False,1,discovery,"H3213,H4213,H4233,H3223",Qualcomm SDM630 Snapdragon 630,"{16, 17, 15}",2020-07-27,https://wiki.lineageos.org/devices/discovery 90 | Wingtech,Redmi 2,2015-01,4.7,1/2 GB,8/16 GB,True,1,wt88047,,Qualcomm MSM8916 Snapdragon 410,"{17, 14, 15}",2020-06-09,https://wiki.lineageos.org/devices/wt88047 91 | Xiaomi,Mi 5s Plus,2016-10,5.7,4/6 GB LPDDR4,64/128 GB UFS2.0,False,1,natrium,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 14, 15}",2020-06-11,https://wiki.lineageos.org/devices/natrium 92 | Xiaomi,Mi 6X,2018-04,5.99,4/6 GB,32/64/128 GB,False,1,wayne,,Qualcomm SDM660 Snapdragon 660,{17},2020-06-09,https://wiki.lineageos.org/devices/wayne 93 | Xiaomi,Mi 8,2018-07,6.21,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,1,dipper,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/dipper 94 | Xiaomi,Mi A1,2017-10,5.5,4 GB,32/64 GB,False,1,tissot,,Qualcomm MSM8953 Snapdragon 625,"{16, 17, 15}",2020-06-26,https://wiki.lineageos.org/devices/tissot 95 | Xiaomi,Mi A2,2018-07,5.99,4/6 GB,32/64/128 GB,False,1,jasmine_sprout,,Qualcomm SDM660 Snapdragon 660,{17},2020-06-09,https://wiki.lineageos.org/devices/jasmine_sprout 96 | Xiaomi,Mi MIX 2S,2018-04,5.99,6/8 GB LPDDR4X,64/128/256 GB UFS2.1,False,1,polaris,,Qualcomm SDM845 Snapdragon 845,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/polaris 97 | Xiaomi,Mi Note 2,2016-11,5.7,4/6 GB LPDDR4,64/128 GB UFS2.0,False,1,scorpio,,Qualcomm MSM8996 Pro Snapdragon 821,"{16, 17, 15}",2020-06-11,https://wiki.lineageos.org/devices/scorpio 98 | Xiaomi,Mi Note 3,2017-09,5.5,4/6 GB,64/128 GB,False,1,jason,,Qualcomm SDM660 Snapdragon 660,"{16, 17, 15}",2020-06-09,https://wiki.lineageos.org/devices/jason 99 | Xiaomi,Redmi 7,2019-03,6.26,2/3 GB,16/32 GB,False,1,onclite,,Qualcomm MSM8953 Snapdragon 632,{17},2020-07-12,https://wiki.lineageos.org/devices/onclite 100 | Xiaomi,Redmi K20 / Mi 9T,2019-06-06,6.39,6/8 GB,64/128/256 GB,False,1,davinci,"M1903F10A,M1903F10C,M1903F10G,M1903F10I,M1903F10T",Qualcomm SM7150-AA Snapdragon 730,{17},2020-10-07,https://wiki.lineageos.org/devices/davinci 101 | Xiaomi,Redmi Note 6 Pro,2018-10,6.26,3/4/6 GB,32/64 GB,False,1,twolip,,Qualcomm SDM660 Snapdragon 636,{17},2020-06-09,https://wiki.lineageos.org/devices/twolip 102 | Xiaomi,Redmi Note 7,2019-01,6.3,3/4/6 GB,32/64/128 GB,False,1,lavender,,Qualcomm SDM660 Snapdragon 660,{17},2020-06-09,https://wiki.lineageos.org/devices/lavender 103 | Zuk,Z2 Plus,2016-06,5.0,3 GB LPDDR4 / 4 GB LPDDR4,32 / 64 GB,False,1,z2_plus,,Qualcomm MSM8996 Snapdragon 820,"{16, 17}",2020-06-09,https://wiki.lineageos.org/devices/z2_plus 104 | --------------------------------------------------------------------------------