Google співпрацює з Qualcomm, щоб полегшити доставку оновлень програмного забезпечення, увімкнувши 4 версії ОС Android і 4 роки оновлень безпеки.
Понад 3 роки тому Google анонсував Project Treble, масштабна перебудова Android, спрямована на пришвидшення оновлення програмного забезпечення. Хоча архітектура, запроваджена Project Treble, допомогла OEM-виробникам пришвидшити доставку основних Оновлення ОС Android і щомісячні виправлення безпеки негативно вплинули на таких постачальників SoC, як Qualcomm. Насправді Treble збільшив складність і, отже, витрати на розробку, пов’язані з наданням підтримки оновлення ОС Android для будь-якого чіпсета. Це обмежило тривалість підтримки, яку Qualcomm може надати для своїх SoC, але незабаром це зміниться. Усі Snapdragon SoC, що випускаються з Android 11 або новішої версії — починаючи з з процесором Snapdragon 888, Qualcomm підтримуватиме 3 оновлення версій ОС Android (стартовий випуск + 3 літерні оновлення), а також 4 роки оновлень безпеки. Це додатковий рік, ніж вони раніше надавали для своїх флагманських чіпсетів 800-ї серії.
Сьогоднішнє оголошення є важливим, але його неможливо зрозуміти, не знаючи того, чого Google намагався досягти за допомогою Project Treble 3 роки тому.
Treble створив поділ між фреймворком ОС Android (включаючи весь код інтерфейсу користувача, API та системні процеси, які додатки взаємодіяти з ним) і низькорівневе програмне забезпечення для конкретного пристрою (включаючи базове ядро Linux і рівні абстракції апаратного забезпечення, або HAL). Спеціальне програмне забезпечення низького рівня зв’язується з інфраструктурою ОС Android через чітко визначену стабільну інтерфейс постачальника. Кожна версія ОС Android гарантує зворотну сумісність із реалізацією постачальника, яку Google забезпечує за допомогою набору тестів постачальника (VTS), стандартизованого набору тестів на відповідність. Це означає, що, наприклад, платформа ОС Android 11 зворотно сумісна з реалізацією постачальника, розробленою для Android 10. Насправді для кожної нової версії Android Google публікує Generic System Images (GSI), створені на основі джерела образи системи, які є зворотно сумісними з останніми 3 версіями реалізацій постачальника. Коли OEM створює новий пристрій Android, він може модифікувати структуру ОС Android, щоб представити нову пропрієтарні функції та API, але вони повинні гарантувати, що реалізація постачальника пристрою сумісна з GSI.
Перш за все це те, як Treble зменшує фрагментацію та пришвидшує доставку нових оновлень ОС — значно менше поломок під час сполучення фреймворку ОС Android (який відкритий джерелом і надається Google) і низькорівневе програмне забезпечення для конкретного пристрою (яке часто є закритим кодом і надається за контрактами з постачальниками SoC) завдяки стабільному постачальнику інтерфейс. В ідеалі це означає, що OEM-виробники можуть витрачати менше часу на виправлення помилок у апаратному забезпеченні та більше часу на перенесення змін на системному рівні до останньої версії ОС Android. Насправді, з моменту появи Treble, Google каже, що OEM-виробники перейняли останню версію ОС Android набагато швидше, ніж раніше. «На момент запуску Android 11 було 667 мільйонів активних користувачів Android 10, 82% з яких отримали збірку Android 10 через бездротове оновлення (OTA),» — повідомили в Google.
Оскільки кожен новий випуск Android додає підтримку для більшої кількості апаратних функцій (ОС має підтримувати нові функції, щоб йти в ногу зі швидким прогресом мобільної індустрії), для цього Google має оновити інтерфейс постачальника реліз. Таким чином, компанія визначає нові вимоги до HAL і вимагає нових версій ядра Linux, але для них потрібні лише пристрої запуск з новою версією ОС Android, щоб фактично підтримувати ці зміни, що впливають на постачальника. Наприклад, якщо Google модифікує HAL камери Android для підтримки кількох датчиків задньої камери, лише нові пристрої, які запускаються з новою версією Android підтримка оновленого HAL, тоді як старіші пристрої, які оновлюються до нової версії, можуть повторно використовувати свою стару реалізацію від постачальника без цієї нової камери HAL вимога. Це зменшує вартість і складність (з точки зору виробника обладнання) перенесення нової версії ОС Android на старіший пристрій. Однак проблема полягає в тому, що такий підхід створює додаткову складність для таких постачальників SoC, як Qualcomm, MediaTek та інших.
В результаті цього принципу проектування Qualcomm та інші постачальники SoC повинні підтримувати кілька комбінацій програмного забезпечення ОС Android і реалізацій постачальників. Постачальник SoC, який підтримує 3 покоління версій ОС Android для певного чіпсета, повинен підтримувати 6 комбінацій програмного забезпечення інфраструктури ОС і реалізацій постачальника. Це тому, що хоча OEM-виробники можуть уникнути повторного використання старішої реалізації постачальника, щоб обійти новий HAL і ядро Linux вимогам до версій, постачальники SoC повинні забезпечити підтримку як старої, так і нової версії вимоги. Вони не мають права вибирати. Помножте це на десятки чіпсетів, які повинен підтримувати постачальник SoC, і ви побачите, як Treble фактично збільшив складність для них.
Саме з цієї причини Qualcomm та інші постачальники SoC зазвичай надають максимум 2 літерні оновлення ОС і 3 роки оновлень безпеки для конкретного чіпсета. Хоча я не знаю точної вартості, я припускаю, що для постачальників SoC, таких як Qualcomm, економічно недоцільно підтримувати чіпсети набагато довше. Ми бачили, як Qualcomm та інші постачальники SoC іноді надають підтримку довше, але це залежить від попиту з боку OEM-виробників щоб зробити його економним. Якщо такого попиту немає, то OEM-виробники повинні нести основний тягар витрат на розробку для випуску нової версії Android — і це непростий подвиг. Але завдяки спільним зусиллям Google і Qualcomm остання тепер підтримуватиме 4 ОС Android версії та 4 роки оновлень безпеки для вибраних чіпсетів Snapdragon, починаючи з Qualcomm Snapdragon 888.
Щоб зробити це можливим, Google поширив «принцип відсутності зворотної дії» Project Treble на системи на процесорі, а не на пристрої. Це означає, що нові вимоги до версії ядра HAL і Linux не матимуть зворотної сили для SoC. Так, наприклад, SoC, що запуски з Android 11 (наприклад, Snapdragon 888) можуть повторно використовувати реалізацію того самого постачальника для підтримки Android 12 через Android 14. Таким чином, постачальники SoC можуть розробити єдиний пакет підтримки плати (BSP) для певного чіпсета для розповсюдження на OEM-виробники, а не підтримувати кілька версій BSP, які потрібно оновлювати з кожним новим Android реліз. Це значно знижує витрати на розробку, пов’язані з підтримкою Android на конкретному чіпсеті, надаючи постачальникам SoC, таким як Qualcomm, можливість підтримувати свої чіпсети довше.
Google також співпрацює з Qualcomm, щоб гарантувати, що остання повторно використовує те саме програмне забезпечення фреймворку ОС у кількох Qualcomm чіпсетів, ще більше зменшуючи кількість комбінацій реалізацій ОС і постачальників, які має Qualcomm підтримка. Постачальники SoC зараз змінюють код рамки AOSP і створюють власні версії загальних системних образів. Qualcomm, наприклад, називається QSSI, тоді як MediaTek називається MSSI. Ці системні образи для SoC тепер будуть гарантовано сумісні з декількома чіпсетами, а також із програмним забезпеченням старіших виробників, подібно до AOSP GSI від Google.
Очікується, що пристрої з Qualcomm Snapdragon 888 будуть представлені дуже скоро, починаючи з серії Xiaomi Mi 11 і Samsung Galaxy S21. Хоча ми сподіваємося, що оголошення Google і Qualcomm означає, що всі пристрої Snapdragon 888 отримають 3 роки ОС Android і оновлення системи безпеки, немає гарантії, що це так і буде. Виробникам оригінального обладнання все ще потрібно інвестувати значні суми в розробку та розповсюдження нових версій ОС — але набагато більш імовірно, що тепер Qualcomm сама підтримуватиме 4 версії ОС Android. Сподіваємося, що один або кілька OEM-виробників скористаються сьогоднішнім оголошенням, щоб оголосити про розширену підтримку програмного забезпечення для своїх майбутніх флагманських телефонів на базі Snapdragon 888. Більшість OEM-виробників наразі пропонують лише 2 роки оновлень Android, тоді як Samsung і Google обіцяють 3 роки. Порівняно з Apple, це все ще занадто мало, тому його справедливо багато-багато разів викликали і продовжуватимуть називати, доки розрив не скоротиться.
Що стосується інших постачальників SoC, Google веде переговори з ними щодо застосування цього нового принципу відсутності зворотної дії, щоб вони також могли надавати розширену підтримку програмного забезпечення для своїх чіпсетів. У нас немає жодного підтвердження від MediaTek чи інших постачальників SoC, але ми не бачимо причин, чому вони не погодяться з цією ідеєю — принаймні для нових чіпсетів. За словами Google, вони очікують, що здебільшого лише нещодавно випущені SoC скористаються цими перевагами зміни, тому не чекайте, що будь-який із ваших поточних пристроїв отримає розширену підтримку програмного забезпечення через сьогоднішні оголошення.
Цю статтю оновлено о 13:50 за східним часом 16.12.2020, щоб змінити «пристрої» в назві на «чипсети», щоб краще відобразити, де зміни набудуть чинності. До статті додано додаткову інформацію завдяки Google.
Цю статтю було оновлено о 14:10 за східним часом, щоб відобразити, що Google і Qualcomm обіцяють підтримку 4 Android Версії ОС — означає вихідний випуск плюс 3 роки оновлень ОС Android — замість 4 років ОС оновлення. Однак Qualcomm обіцяє надавати оновлення безпеки протягом 4 років.