Google выложила исходный код Google Pixel 6 / Pixel 6 Pro

Привет читателям Gamer Bay! Сегодня на повестке дня интересное событие: Google открыла исходный код для Google Pixel 6 и Google Pixel 6 Pro. Однако зачем и для чего? Ну-с, давайте поговорим. Заодно я, @BIONICLElover приготовил бонус с ликбезом по миру Open Source в Android. Эту новость написал наш подписчик. Вы также можете поделиться своей – написав её в нашей предложке.

Исходники дали не все. От некоторых библиотек исходники мы так и не увидим к сожалению. Энтузиасты пока будут использовать готовый образ раздела vendor, через время они сделают этот образ собираемым из того исходного кода, что есть, и проприетарных библиотек со стоковой прошивки. А исходники Linux-ядра на базе даже непонятно чего, если честно. Проблема в том, что я открыл исходный код ядра и… увидел собранное ядро, модули к нему и немного исходного кода, чтобы оно собиралось. Где сами исходники я не знаю (я искал, честно, подскажите в комментариях, если знаете, где исходники).

Пойдем к так называемым “деревьям” Google Pixel 6 (здесь и далее имеется ввиду обычная версия и Pro версия). По факту их два: common (общее) и специфичное (где лежат конфиги и исходный код под конкретное устройство для различных HAL’ов и т. д.). По факту специфичное дерево одно, но под несколько устройств, то есть под обычную и Pro версии. Google Pixel 6 имеет кодовое название oriole, а Google Pixel 6 Pro – raven. Однако судя по конфигам в дереве, оно еще предназначено для устройств под кодовыми названиями slider и whitefin (отсылка на Google Pixel 5 (redfin)?). В поле модели указано AOSP on Slider и AOSP on Whitefin соответственно. Может нас ждут еще два устройства из 6-го поколения? Или это наработки на 7-ое поколение? Учитывая, что есть общее дерево gs101, которое только подключается к только одному специфичному дереву… Все возможно 😀 Я думаю, мы однозначно увидим на данном CPU еще устройства.

Кстати, CPU. Google Pixel 6 имеет под капотом не Qualcomm Snapdragon, что печально. Возможно вы часто слышали про тот факт, что Google камеру портируют на различные устройства и снимает она лучше всех. Однако этим могли похвастаться преимущественно устройства на базе CPU от Qualcomm, так как Google Pixel’и были на их базе. Теперь возможно эта привилегия перейдет к устройствам Samsung на базе CPU Exinos.

И на последок, зачем это все? Отличный вопрос!

  1. Кастомные прошивки. Да, да, да, зачем кастомы на Pixel’ях, если есть замечательная стоковая прошивка, которая отлично работает? Ну-с, поддержка когда-нибудь закончится, это раз. Второе, есть люди, которым не нравится стоковая прошивка (чем – не знаю) или политика Google, для таких кастомы это свобода.
  2. Дерево устройства от Google это замечательный пример адаптации устройства на новую версию Android, тем самым задавая направление как адаптировать исходники от других устройств.
  3. Изучение исходного кода на ошибки и дыры в безопасности. Энтузиасты тоже не дремлют и изучают исходники, чтобы их как-то улучшить или починить, у Google есть для этого Gerrit и страница о баг-репортах.

Сказать по-честному, я просто высказал свои мысли и не более. В комментариях можете написать где я прав, а где – нет.

Здесь начинается бонус.

И у кого-то возникнет вопрос: исходники дают только Google? Есть производители, которые забивают и никакими исходниками не делится (привет непопулярным устройствам на MediaTek). Есть производители, которые предоставляют только исходники ядра Linux (из-за лицензии GPL, но некоторым китайским производителям вообще все равно). Некоторые предоставляют исходный код деревьев, ядер и даже некоторых библиотек, к примеру Google (в рамках проекта AOSP), Sony, Samsung (понимаю ваше удивление, но я еще больше удивился, когда нашлись исходники под мой Samsung Galaxy XCover GT-S5690 с 2.3.6 на борту, там даже инструкции были). Также Qualcomm (CAF – Code Aurora Forum) предоставляет некоторые исходники под свои процессоры, что позволяет старым устройствам буквально выживать и запускать новейшие версии Android.

Из интересного на моей памяти было несколько вещей.

  1. Как я уже говорил, Sony предоставляют исходники некоторых своих библиотек, в их число входит TimeKeep, который является аналогом проприетарной системе сохранения времени на устройствах Qualcomm. В какой-то момент старые устройства на базе CPU Qualcomm Snapdragon (к примеру из семейства msm8916, msm8952 или msm8974) отказались от старых и уже нерабочих библиотек в пользу TimeKeep. Я попробовал также сделать на Asus ZenFone 2 Laser ZE500KL (msm8916), работает без нареканий.
  2. Процессоры Snapdragon объединяются в “семейства” процессоров и используют общий исходный код. Таким примером могут служить msm8953 и msm8996, некоторые библиотеки друг от друга подходят и работают. К примеру, во времена Android 9 на Xiaomi Redmi Note 4X  (msm8953) использовались аудио-библиотеки от Oneplus 3/3T (msm8996).

Что ж, спасибо, что прочитали! Надеюсь, было интересно и полезно.

Ваш Roker2

Следите за нами в сети:

Поделиться записью
Комментарии 0

Комментарии