Выпуск платформы webOS Open Source Edition 2.14Опубликован выпуск открытой платформы
webOS Open Source Edition 2.14, которая может применяться на различных портативных устройствах, платах и автомобильных информационно-развлекательных системах. В качестве эталонной аппаратной платформы рассматриваются платы Raspberry Pi 4. Платформа развивается в
публичном репозитории под лицензией Apache 2.0, а разработку курирует сообщество, придерживаясь
совместной модели управления разработкой.
Платформа webOS была изначально
разработана компанией Palm в 2008 году и использовалась на смартфонах
Palm Pre и
Pixie. В 2010 году после поглощения компании Palm платформа
перешла в руки Hewlett-Packard, после чего HP пыталась использовать данную платформу в своих
принтерах,
планшетах,
ноутбуках и
ПК. В 2012 году компания HP
анонсировала перевод webOS в независимый открытый проект и в 2013 году
начала открытие исходных текстов его компонентов.
В 2013 году платформа была
выкуплена у Hewlett-Packard компанией LG и теперь применяется на более чем 70 миллионах телевизоров и потребительских устройств LG. В 2018 году был основан проект webOS Open Source Edition, через который компания LG попыталась вернуться к открытой модели разработки, привлечь других участников и расширить спектр поддерживаемых в webOS устройств.
Системное окружение webOS формируется с использованием инструментария и базовых пакетов
OpenEmbedded, а также сборочной системы и набора метаданных от проекта
Yocto. Ключевыми компонентами webOS являются менеджер системы и приложений (SAM, System and Application Manager), отвечающий за выполнение приложений и сервисов, и Luna Surface Manager (LSM), формирующий интерфейс пользователя. Компоненты написаны с использованием фреймворка Qt и браузерного движка Chromium.
Отрисовка осуществляется через композитный менеджер, применяющий протокол Wayland. Для разработки пользовательских приложений предлагается использовать web-технологии (CSS, HTML5 и JavaScript) и фреймворк
Enact, основанный на React, но возможно и создание программ на С и C++ с интерфейсом на базе Qt. Пользовательская оболочка и встроенные графические приложения в основном реализованы как нативные программы, написанные с использованием технологии QML. По умолчанию предлагается оболочка Home Launcher, оптимизированная для управления с сенсорных экранов и предлагающая концепцию сменяющих друг друга карт (вместо окон).

webos-ose-2-0-startup-screen.png (140.39 КБ) Просмотров: 7962
Для хранения данных в структурированном виде с использованием формата JSON применяется хранилище
DB8, использующее в качестве бэкенда БД LevelDB.
Для инициализации используется
bootd на основе systemd. Для обработки мультимедийного контента предлагаются подсистемы uMediaServer и Media Display Controller (MDC), в качестве звукового сервера применяется PulseAudio. Для
автоматического обновления прошивки применяется
OSTree и атомарная замена разделов (создаются два системных раздела, один из которых является активным, а второй используется для копирования обновления).
Основные
изменения в новом выпуске:
- В число предлагаемых по умолчанию примеров приложений включена программа для работы с камерой. Программа предоставляет базовую функциональность для съёмки фотографий и записи видео, и может применяться в качестве основы для разработки более продвинутых приложений для работы с камерой.
- Осуществлён переход на формирование 64-разрядных сборок, включая сборки для платы Raspberry Pi 4 (rpi4-64) и эмулятора (qemux86). Поддержка 32-сборок объявлена устаревшей.
- Предложено дополнение для открытого редактора кода Visual Studio Code, упрощающее разработку специфичных для webOS web-приложений, Enact-приложений и JavaScript-сервисов.
- Активирован сервис раннего реагирования на нехватку памяти в системе systemd-oomd, позволяющий выявить начало возникновения задержек из-за нехватки ресурсов и выборочно завершить работу ресурсоёмких процессов на стадии, когда система ещё не находится в критическом состоянии и не начинает интенсивно урезать кэш и вытеснять данные в раздел подкачки.
- В Network Manager налажен запуск сервиса wpa-supplicant в сборках для плат Raspberry Pi 4.
- В сборку для эмулятора добавлены исполняемые файлы occlientbasicops и ocserverbasicops, обновлены udev-правила для модуля LGE UWB.
- В компоненте g-camera-pipeline улучшена функциональность, связанная с записью звука.
- Браузерный движок обновлён до Chromium 91.
- Компоненты платформы для создания встраиваемых Linux-систем Yocto обновлены до выпуска 3.1.
- В Memory Manager реализована обработка сигналов D-Bus.
Дополнительно можно отметить проект OpenLGTV[/url], в рамках которого ведётся работа по обратному инжинирингу прошивок к телевизорам LG с целью расширения их функциональности, устранения ошибок и проверки соблюдения копилефт-лицензий при использовании в прошивках открытых компонентов (прошивки частично открытые). Проект развивает инструментарий
epk2extract для извлечения и расшифровки прошивок и различных данных из телевизоров LG, Hisense, Sharp, Philips/TPV и Thompson, а также репозиторий пакетов
webOS Brew и инструментарий для получения прав root на телевизоре (
RootMyTV).
Проектом предоставляются сборочные окружения для создания системных образов для телевизоров на основе плат
LG NC4 и
LG115x, и старые модифицированные прошивки для телевизоров
Saturn S6,
Saturn S7 и
LG 2010 и 2011 на базе чипов Broadcom.