Ровно месяц назад мною была начата петиция в компанию Qualcomm с просьбой зарелизить обновленные кодеки с поддержкой ICS для устройств на базе ARMv6. Вдохновлением для нее послужила предыдущая петиция с просьбой зарелизить обновленные драйвера для графического ускорителя Adreno 200, созданная пользователем sweetnsour с форума xda-developers. Как вы может быть слышали, она увенчалась успехом.
Итак, я создал петицию, рассказал народу, что же в итоге получилось?
Результат
Не буду тянуть резину, скажу сразу, что на данный момент результат отрицательный. (Полу)Официальный ответ от Qualcomm звучит следующим образом:
Unfortunately we are not able to support video codecs for ARMv6 OMX IL libs for Qualcomm's QDSP5 on MSM7x27. The architecture of MSM7x27 cannot support OpenMax video codecs for ARMv6 OMX IL on QDSP5 running on Android Ice Cream Sandwich (ICS).
Если вкратце:
Извините, на MSM7x27 кодеки для ICS не взлетят, поэтому ничего релизить не будем.
Но как же мы пришли к этому и почему этот ответ не удовлетворяет многих и меня в частности?
История
Напомню, впервые с проблемой портирования ICS на ARM6 стоклкнулись в начале этого года. Сначала проблема была с аппаратным ускорением 3D. Драйвер Adreno от GB не совсем подошел, хотя и работал с некоторыми хаками. Тогда и была создана первая петиция, увенчавшаяся успехом в течение 5 дней. Итак, у нас сейчас есть полное аппаратное ускорение интерфейса и работающие 3D приложения, включая игры. Для сомневающихся, могу лишь заметить, что по крайней мере производительность не хуже чем на GB.
Далее практически все разработчики уткнулись в проблему с камерой и кодеками. Если камера меня не очень волнует, то отсутствие возможностей мультимедия как-то не очень радует.
Если кто не знает, то Android в качестве слоя абстракций мультимедиа использует стандарт OpenMAX. Он включает в себя как аппаратно-зависимую часть (драйверы, кодеки, называйте как хотите), так и клиентские библиотеки с унифицированным API. Хочу заметить, что GB тоже его использует и библиотеки есть на ARMv6. Но для ICS требуется несколько дополнительных функций, которые просто отсутствуют в них. Я обращался к разработчикам CyanogenMod, как к людям более осведомленным, нельзя ли заменить эти функции заглушкам. Говорят, что нет, нужен какой-то дополнительный функционал, который заглушками не реализуешь.
Петиции
В результате из-за неразрешимости этой ситуации было создано аж 2 петиции. Первая, наиболее распространенная на данный момент, к сожалению практически не содержит технической инфы и стоит признать, что направлена скорее «на деревню, к дедушке». Однако она собрала на данный момент уже более 12 тысяч подписей. Далее, я стартовал свою петицию, на данный момент собравшую более 4,5 тысяч подписей.
Что интересно, где-то через недели две мы получили на форуме Qualcomm ответ: «we have seen your feedback on this and we are looking into the matter for any possible solutions», т.е. «мы поняли как для вас это важно, попробуем найти какое-нибудь решение». Еще охотнее они отвечали в твиттере, правда той же фразой. Но в итоге все закончилось как закончилось.
И тут начинается самое интересное. Всякие хитрые вещи из мультимедиа алгоритмов, вроде быстрых преобразований и т.п. в чипах Qualcomm выполняет сигнальный процессор Hexagon QDSP. В болшинстве ARMv6 чипов это QDSP5. Спецификации процессора закрыты, кодеки закрыты. Впрочем какой-то код для него присутствует в ядре Linux, видимо для доступа как к block-device или т.п.
Так вот, если мы посмотрим официальные спеки на современные чипы Qualcomm, то мы сразу заметим, что QDSP5 присутствует практически в половине решений, в том числе и новых!
И вот, мы имеем целую кучу устройств на MSM7225 / MSM7227, а это почти все популярные девайсы 2010-го года выпуска. И Qualcomm заявляет нам, что невозможность написать для них кодеки, а сами устройства практически достигли конца жизненного цикла. И это при том, что большинство из них все еще лежат в магазинах!
Идем далее, смотрим «бюджетников» этого года, тот же LG Optimus L, Samsung ACE+ и т.д. Они построены на… MSM7227A! Смотрим спеки: тот же S1, те же модули Adreno 200, Hexagon QDSP5, обновленное до Cortex-A5 ядро. Эта штука уже может запускать ICS из коробки?! NO WAY! А какже «MSM7x27 cannot support OpenMax video codecs for ARMv6 OMX IL on QDSP5 running on Android Ice Cream Sandwich (ICS)»? Фактически нам продают тоже самое, но с оттюнингованным ядром.
Вы можете сказать, «а чего ты хотел, это маркетинг». Ну знаете, я не ожидал, покупая аппарат в конце 2011 года, узнать, что он уже на самом деле мертв, хоть до сих пор и лежит во всех магазинах. Да, я ожидал, что так в итоге и выйдет, но все равно чувствую себя обманутым
Решения?
Какие могут быть решения в данной ситуации:
- Забить, купить новый девайс, не покупать продукцию Qualcomm и т.д.
- Продолжить давить на Qualcomm, писать им в твиттер, на форум и т.п. Вероятность успеха близится к нулю
- Попробовать наделать заглушек, чтобы взлететь с либами от GB. Пока ни у кого не получилось
- Написать нужные библиотеки с нуля самим. Боюсь, релиз будет через несколько лет, когда всем уже будет уж точно наплевать на ARMv6, а возможно уже и на ARMv7.
Хотелось бы услышать ваше мнение по этому вопросу.
В заключение приведу комментарии ATOM_UA к предыдущему топику:
Ага, помню я такие петиции и к HTC и Qualcomm во времена win mobile. Они на пару повыпускали кучу девайсов, и не беда что даже дров 2д не было, продали, и забили. Просило просило сообщество, но таким крутым компаниям не до вас.
Для себя я сделал выбор, больше не брать продуктов от HTC, и девайсов на qualcomm.
Я говорю, что ситуация повторяется, те же проблемы, от той же компании. Только раньше андроида не было, потому петиции для винмо были, но проблемы те же.
Не капая глубоко в нет
www.petitiononline.com/petitions/tytn2vid/signatures?page=1
Был даже целый сайт создан, где обсуждалась проблема, собиралась все инфа и координировались действия по питициям, но так и не дождались
www.htcclassaction.org/
В данный момент я вынужден согласиться.
Автор: divanikus