LINUX.ORG.RU
ФорумTalks

Я бросил вызов Google. Я - Тайлер Дерден от мира IT.

 


0

2

Сам заголовок конечно шуточный, но недавно мне взбрела занимательная идея и я начал пилить весьма интересный проект.

Недавно я написал статью, где рассказал о том, как можно писать нативные программы для старых смартфонов под «голый» Linux, не запуская Android вообще. Покумекав и поразмышляв, мне захотелось сделать реальной проект на базе этих наработок, а тут мне параллельно удалось завести модем медиатека…

Короче, я сел и начал писать открытую прошивку (под прошивкой в данном случае понимается «морда») для Android смартфонов. Максимально легко-портируемую, шуструю, с простым и понятным API для приложений. Ведроид вообще никак не задействуется.

https://imgur.com/a/CWG5YBV

Основной плюс перед pmOS в том, что такая прошивка легко работает на древних версиях ядрах (тестирую на 2.6), может работать на проприетарных ядрах без перекомпиляции и состоит из пары либ. На данный момент, у нас есть:

  1. Графическая подсистема с отрисовкой прозрачных/непрозрачных картинок, умножением цвета, автоматическим управлением формата пикселя (на смартфоне 16-битный фреймбуфер, т.е 565, на 32х-битном фреймбуфере все должно работать также), отрисовкой примитивов и растровых моноширинных шрифтов. Изначально хотел её делать на GLES, но нативный рендерер мне завести пока не удалось (буду копать исходники ведра, чтобы понять шаги инициализации), на софтрендере работает не очень плавно, но вполне шустро.
  2. Простой механизм для анимаций. Я изначально хотел слизать UX для прошивки с первых версий iOS, поэтому без анимаций никуда. Пока что есть примитивный интерполятор нескольких значений (X, Y, поворот и.т.п), который вполне работает.
  3. Обработка ввода с тачскрина с распознаванием базовых жестов (свайпы). Ну, тут все очевидно, правда пока распознается только одно нажатие - мультитача ещё нет.
  4. Простенький драйвер модема. Звонить и отправлять СМС-ки умеет.
  5. GUI. Причём я решил реализовать интерфейс самым нетривиальным по мобильным меркам способ - концепцией Immediate GUI (т.е вызвали GUI::Button - получили кнопку на экране, GUI::TextField - текстовое поле и всё это с минимальным количеством стейтов). Для сторонних приложений есть механизм «экранов».
  6. Менеджер питания. Замер уровня заряда АКБ, статус ЗУ, управление подсветкой - это все сюда.

Все уже украдено до нас. Предлагаю не изобретать велосипед, а использовать уже готовое. Там уже есть все то, чего у тебя не хватает - qtopia. В начале нулевых ее как раз натягивали вполне успешно на те самые моторолы на линуксе вместо родной прошивки. Там же есть и порт sdl, и даже немного софта.

tmp_do
()
Ответ на: комментарий от sanyo1234

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

Крутой IPS дисплей высокого разрешения (MIPI-матрица для малины стоит 100500 денег, TN HDMI-экранчики с скалерами я не рассматриваю).

Готовый аудиотракт (но в оранжах тоже есть полностью готовый аудиотракт с усилком).

Емкостной тач (редкость для DIY-проектов, в основном берутся резистивные).

Готовый нормальный контроллер питания, а не TP4056.

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 3)
Ответ на: комментарий от sanyo1234

Ну, кому как, хочется платить мульены денег за сборку единичного, зато стабильного устройства - пожалуйста)) а мне по кайфу просто копаться в таком желез и я такой далеко не один.

monobogdan1337
() автор топика
Ответ на: комментарий от monobogdan1337

Так на барахолках можно взять и хорошие одноплатники для mainline ядер, а не вот эти железячки с окаменелым заблобированным ядром.

Просто личное время IMHO намного дороже, чем стоимость нормальных БУ одноплатников, работающих с полноценными полностью open-source системами.

sanyo1234
()
Ответ на: комментарий от nerfur

Статья выйдет в ближайшее время, там же и релиз на гитхабе будет.

monobogdan1337
() автор топика

А я не балабол! Уже умеем звонить :)

Крч пошел на костыль - припаял SIM800 в качестве модема, т.к аудиостек ведра завести очень геморно. Заодно это будет демонстрацией того, как можно юзать бюджетные смартфоны 10+ летней давности в качестве почти-одноплатников!

https://www.youtube.com/watch?v=ReZIuZahyEc

monobogdan1337
() автор топика

Тест АКБ:

Смартфон лежал ВЕСЬ день с запущенной оболочкой на половинной яркости (0.5), с слабым АКБ (на ведре менее дня держит), модем питался от второй АКБ. По итогу, под конец дня на АКБ 3.7-3.8в (~50-60%).

monobogdan1337
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)