Почему мой телефон не обновится до нового андроеда?

Почему мой телефон не обновится до нового андроеда?

UPDATE: С момента выхода этой статьи прошло почти три года, и положение вещей
несколько изменилось. Выпуск новых версий андроеда для старых телефонов —
всё ещё тяжёлый и болезненный процесс, но невозможное ранее обновление без
поддержки со стороны производителя железа теперь ограниченно-возможно.

Андроед-телефоны, как и все вещи в 2016 году, собираются из каких-то ёбаных микросхем. У вас могло сложиться ошибочное мнение, что работу можно делать хорошо, а можно делать быстро. Не так с микросхемами: их можно делать быстро, но плохо, а можно — медленно, но всё равно плохо. Даже если очень долго делать хорошую микросхему, то на выходе через несколько лет почему-то всё равно получается плохая (в этом в некоторой степени виноваты и лично вы, но это уже совершенно другая история).

Поэтому микросхемы для вашего телефона очень быстро делают за не очень большие деньги люди, работающие без выходных по слишком много часов в сутки. Они прекрасно знают, что их микросхемы будут использовать в основном в андроед-телефонах и давно смирились с этим, поэтому единственная их цель — сделать хоть что-то, что будет соответствовать последней версии набора спецификаций и тестовых утилит гугла
для андроед-микросхем.

В один прекрасный момент эти люди неизбежно проёбывают все дедлайны, а утилиты гугла всё ещё не хотят работать на их микросхемах как надо. Поэтому принимается единственное возможное в такой ситуации решение:

ПОХУЙ, ОТДАЁМ НА ЗАВОД ПЕЧАТАТЬ, ПОПРАВИМ В СОФТЕ

Видео декодируется вверх ногами? Похуй, поправим в софте.

Контроллер флэшки читает что угодно, но только не содержимое флэшки? Похуй, поправим в софте.

GPU не рисует текстуры? Это вообще норма. Большое счастье, что GPU в принципе хоть как-то работает.

\

На фотографии я правлю вещи в софте. К счастью, эта микросхема не для андроед-телефона, великовата.

На фотографии я правлю вещи в софте. К счастью, эта микросхема не для андроед-телефона, великовата.

\

Поэтому, пока завод печатает микросхемы, программисты молятся своим тёмным богам и проводят над полурабочими драйверами свои тёмные ритуалы. Рано или поздно у них получается такой невообразимый набор хаков, что даже им ясно, что он не должен, не может работать, но — работает. Один из первых отпечатанных на заводе девбордов со свежим набором хаков проходит все тесты гугла (14 других образцов из той же партии тесты не проходят, но это опять же совершенно другая история). Это очень важный момент по следующим причинам:

  1. Уже сейчас абсолютно никто на фирме не имеет ни малейшего понятия, каким образом работает хоть что-то.
  2. Ровно в этот момент программисты перестают дышать, чтобы ничего снова не сломалось, и собирают релизную версию своего страшного набора хаков. Все следующие правки в драйверах делаются с одной целью — чтобы отъебались.

Этот набор потом вместе с девбордами раздаётся компаниям, достаточно безумным для того, чтобы делать телефоны на андроеде. Люди, которые делают ваш телефон, никогда не увидят исходных кодов драйверов из этого набора, потому что показывать их было бы очень стыдно. Чтобы программисты не перевешались на JTAG-шнурках от стыда, на помощь им приходит маркетинговое отделение и говорит, что исходные коды не раскрываются, потому что содержат большую коммерческую тайну и посмотрев в них можно в принципе понять, как работают некоторые вещи в микросхеме. Это на самом деле никому на хуй не надо — другие производители тоже не имеют понятия, как работают и их собственные микросхемы, они в рот ебали разбираться ещё и с чужими. Чтобы было ещё чуть-чуть менее стыдно, набор хаков называют BSP (Board Support Package).

Перемотаем события на два года вперёд. Каким-то чудом производитель вашего телефона сумел выпустить ваш телефон, вы по глупости его купили, а теперь прочитали в интернете, что скоро выходит новая версия андроеда с кучей новых интересных вещей и гадаете, портируют ли её на ваш телефон.

Ещё за полгода до этого и производитель вашего телефона и производитель микросхем, из которых он собран, уже прекрасно знали, что не портируют. Потому что ещё задолго до того, как новая версия андроеда была анонсирована официально, гугл прислал и производителю вашего телефона и производителю микросхем для него обновлённые спецификации и наборы тестов (и исходники полурабочей новой версии андроеда, но это вообще всех волнует в последнюю очередь). Никто особенно даже не надеялся, что обновлённые тесты заработают на старой микросхеме. Они и не заработали.

Производитель вашей андроед-микросхемы в принципе мог бы за большие деньги (которые ему никто не заплатит) запрячь программистов напихать в драйвера ещё больше хаков, чтобы заработали и новые тесты, но в лучшем случае программисты, работавшие над этими драйверами, мертвы от передозировки кофеином, в худшем — пишут хаки для нового поколения микросхем (за те два года, что мы пропустили, это уже третье новое поколение).

Поэтому сначала руками разводит производитель микросхем — обновлять BSP для старой линейки экономически нецелесообразно.

Потом руками разводит производитель вашего телефона — что он может без обновлённого BSP? Новый андроед просто не будет работать так, как хочет гугл (или вообще никак не будет).

Потом руками разводите вы и покупаете новый телефон с новым андроедом. Я уже говорил, что в ситуации виноваты лично вы?

Смотрите также