Google Tensor — первый блин комом?

Выпуск смартфона флагманского уровня на собственном чипсете – это был несомненный успех Google. Кажется, что компания решила отказаться от сторонних заимствований и выпускать смартфоны от начала и до конца по собственным технологиям, которые бы имели максимальную оптимизацию на уровне ПО и отвечали представлениям компании об идеальном смартфоне. С момента выхода Google Pixel 6 и 6 Pro уже прошло несколько месяцев, и на фоне радостных рецензий и восхваляющих Pixel статей стало происходить нечто странное.  После того, как прокатилась первая волна обновлений, призванная исправить найденные ошибки, наступила тишина. На нашем информационно-развлекательном портале мы публиковали основные жалобы первых пользователей Pixel 6 и Pro, которые касались проблем с телефонной частью смартфона. Устройство само звонило или отбивало входящие вызовы, значительно усложняя жизнь владельца. После первых обновлений эта проблема была решена, но некоторые до сих пор жалуются на нее. Кумулятивный патч исправлений должен был выйти в начале декабря 2021 года и даже вышел, но почти сразу был отозван, затронув буквально единицы смартфонов пользователей. Программистам Google понадобилось еще две недели, чтобы исправить патч исправлений. От официальных лиц поступает информация о следующим обновлении в феврале 2022 года, которое, теперь уже точно, должно сделать хорошо всем владельцам Pixel. И с тех пор Pixel 6 и 6 Pro не получают даже обновлений безопасности. Как так могло случиться? Что пошло не так? Для ответа на этот вопрос нам придется погрузиться в сложную тематику взаимоотношений поставщика оборудования для чипсета Tensor (Samsung) и его сборщика (Google) на уровне разработки.

Откуда дровишки?

Как и любой другой современный компьютер, смартфон построен на базе системной платы, на которой размещаются чипсет, микросхемы оперативной памяти и прочие устройства. Все эти аппаратные элементы имеют свою собственную прошивку (микрокод) с завода, а для взаимодействия с ними, для расшифровки поступающих от них сигналов и формирования ответа на уровне операционной системы существуют драйверы, подобные тем, что идут в комплекте с видеокартой или материнской платой. В отличие от OS Windows, в которой пользователь может делать с драйверами устройств что угодно, например, удалять или обновлять, в ОС Android это практически невозможно без специальных навыков. Более того, прямого доступа к их содержимому не имеет даже заказчик уровня Google, большинство из них проприетарные (их структура никогда не попадала в общий доступ) и защищены законами об интеллектуальной собственности. Когда мы говорим об Android OS, то это образ формата .bin, содержащий двоичный код. Драйверы входят в пакет поддержки платы, который в среде специалистов носит название «BSP». Чтобы понимать всю важность вопроса доступа конечного производителя (Google) к драйверам чипсета Tensor в рамках ОС Android, перейдем к архитектуре всего устройства на уровне ПО (всего).

Упрощенно, на уровне доступной логики, стек Android выглядит так:

На самом верху находятся приложения, как системные, так и сторонние, загруженные пользователем. И именно на этой вершине происходит взаимодействие человека со своим смартфоном. В самом низу расположены ПО аппаратных средств и библиотека HAL, играющая в Android роль затычки, которая скрывает от ОС и драйвера низкоуровневые сведения оборудования. Для понимания, когда пользователь Windows видит в окошке диспетчера устройств «драйвер Microsoft» — это проявление работы библиотеки HAL в Windows. Когда мы говорим о лампочке на тыльной стороне смартфона, которая играет роль вспышки, то для ее работы не требуется отдельный драйвер, взаимодействие с ней уже содержится в библиотеке HAL Android, а ее устройство настолько примитивное, что соблюдать простые правила может любой сторонний производитель. К HAL как к неотъемлемой части ОС Android компания Google имеет полный доступ, чего нельзя сказать о драйверах чипсета, наиболее критически важной части ПО смартфона. Критически, потому что HAL хотя периодически и меняется от версии к версии Android (например, при переходе на Android 8.0, а потом на Android 12), но полностью контролируется Google, то драйвер устройства (например, видеочип) контролируется конкретным производителем, что в случае с Tensor является главным фактором.

Сколько в Tensor от Google?

Из открытых источников мы знаем, что в состав чипсета Google Tensor входят два мощнейших ядра ARM Cortex-X1, два ядра Cortex-A76 и четыре энергоэффективных Cortex-A55. За графику в Tensor отвечает некий 20-ядерный видеопроцессор. Хотя название последнего и не указывается, а его драйвер не выдает подобную информацию программам для диагностики, можно с уверенностью заявлять, что перед нами высокопроизводительная вариация стандартного видеочипа ARM Mali. И вот почему. Пускай никого не вводит в заблуждение название Exynos, которым Samsung метит свои чипсеты уже 12 лет кряду. Начиная с 2019 года никакой «глубокой переработки» в неких лабораториях Samsung стандартные ядра ARM не претерпевают, у компании нет желания, средств и возможностей конкурировать со «стоковыми» ядрами, которые к тому времени стали устраивать всех как по производительности, так и по энергоэффективности. Все отличия от «стока» сводятся к настройкам авторазгона, что и позволяет называть эти чипсеты не просто «ARM».  То же самое касается компании Qualcomm с ее линейкой чипсетов Krio (кроме графической части), MediaTek и т.д.

Другая важная часть Pixel, модем, похоже, также разрабатывалась при сотрудничестве c Samsung. Об этом сообщил Нолен Джонсон, один из разработчиков Lineage OS и автор DirectDefense Inc., который сравнил драйвер модема Google Tensor с драйвером модема Exynos 5123 и счел их идентичными.

Что же осталось в чипсете Google от самой компании Google? Исследователи пришли к выводу, что это однозначно блок TPU (сам Tensor, ускоритель вычислений ИИ), а также процессор обработки изображений камеры (ISP).

Проблемы доступа к оборудованию со стороны Google

Имеет ли Google доступ к исправлению драйвера модема? Ведь именно с ним были связаны проблемы с самопроизвольными звонками или неприемом их, на которые жаловались пользователи Pixel 6 и Pro. Имеет ли Google доступ к драйверам других частей чипсета, которые, так или иначе, связаны с ядром системы и могут стать той дверцей, через которую в смартфон залезет вирус, как это уже было в случаях со Spectre или Meltdown, которые использовали уязвимость именно аппаратной части. Ответа на эти вопросы нет, а Google отмалчивается, не указывая даже, получила ли компания стандартный (не адаптированный) набор поддержки платы (BSP) или нечто большее. Однако из предыдущего опыта Samsung при предоставлении своего оборудования сторонним производителям (Highscreen, Meizu, Motorola) мы знаем, что эти телефоны никогда не обновлялись до следующей версии Android, единственной причиной чего можно считать только отсутствие доступа к модификации драйверов (или их отсутствие в принципе для следующей версии Android). А насколько трепетно относится компания Samsung к своим технологиям? Этот вопрос настолько важен для компании Samsung, что она прекратила сотрудничество в проекте перспективного электрического внедорожника Rivian R1T после того, как производитель электрокара потребовал от корейцев более полный доступ к технологиям производства аккумуляторов.

Что было в тех обновлениях, которые Pixel 6 и 6 Pro получили c опозданием на несколько недель?

Помимо стандартного набора, в который входят исправления безопасности на уровне ПО, в пропущенных обновлениях Android 12 содержатся исправления уязвимостей, которые имеют отношение к аппаратной начинке.  Оценить масштаб проблем и угроз можно, прочтя бюллетень Google, – список подлежащего исправлению огромен и касается аппаратуры всех производителей, начиная от Qualcomm и заканчивая Unisoc. Очевидно, что компания Google не указала Tensor в бюллетене только по маркетинговым причинам, удерживая пользователей Pixel 6 и 6 Pro в тёплых ваннах неведения. Или кто-то считает, что опыт разработки и обслуживания чипсетов у Google больше, чем у Qualcomm? Следующий патч для Pixel 6 и 6 Pro запланирован на февраль 2022 года, но, глядя на эту груду проблем, в это уже слабо верится. По списку исправленного и не исправленного в последнем обновлении от 13 декабря можно судить о степени недоработки 6-й серии смартфонов Pixel в целом.

Исправлено:

Pixel Stand 2nd Gen

Не исправлено:

Это только те проблемы, которые лежат на виду. Новые специфические баги будут, похоже, всплывать все время существования этих смартфонов. Где-нибудь наверняка уже страдают бедолаги, тщетно пытаясь понять, почему они не купили Samsung, Huawei или Sony.

Заключение

В одной точке сошлось несколько событий, которые оставили покупателей Pixel 6 и 6 Pro один на один с угрозами и проблемами. Вот эти несколько событий:

  1. Выход новой операционной системы Android 12 (12L для Pixel 6-й серии так и не дошел хотя бы до стадии бета), которая отличается от Android 11 более чем значительно.
  2. Отсутствие опыта разработки и поддержки собственных чипсетов у компании Google.
  3. Принципиальная закрытость компании Samsung, когда мы говорим о доступе к ее технологиям. Ее редкий опыт в сотрудничестве и поддержке собственных аппаратных средств, переданных сторонним производителям.

Из всего этого можно сделать только один вывод – стоит дождаться выхода Pixel 7 с чипсетом Tensor 2 на борту, если пользователь не готов мириться с мелкими неудобствами и потенциальными угрозами. Хотя, если слухи правдивы и новый чипсет будет построен на новой архитектуре ARM V9, то…

Во всем же остальном смартфоны Pixel 6 и 6 Pro прекрасны и завоевали любовь своих владельцев.

[email protected]
наверх