Публикувано е изданието на отворената платформа webOS Open Source Edition 2.14, която може да се използва на различни преносими устройства, дъски и автомобилни информационно-развлекателни системи. За референтна хардуерна платформа се разглеждат платки Raspberry Pi 4. Платформата се развива в публично хранилище под лиценз Apache 2.0, а разработката се координира от общността, следвайки съвместен модел за управление на разработката.
Платформата webOS е била първоначално разработена от компанията Palm през 2008 година и е била използвана на смартфоните Palm Pre и Pixie. През 2020 година, след придобиването на компанията Palm, платформата преминава в ръцете на Hewlett-Packard, след което HP опита да използва тази платформа в своите принтери, таблети, лаптопи и настолни компютри. През 2012 година компанията HP обяви трансфера на webOS в независим отворен проект и през 2013 година започна да отваря изходния код на неговите компоненти. През 2013 година платформата беше закупена от LG от Hewlett-Packard и сега се използва на повече от 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. За разработка на потребителски приложения се предлага използването на уеб технологии (CSS, HTML5 и JavaScript) и фреймуърк Enact, основан на React, но е възможно и създаването на програми на C и C++ с интерфейс, базиран на Qt. Потребителският интерфейс и вградените графични приложения предимно са реализирани като нативни програми, написани с технологията QML. По подразбиране се предлага интерфейсът Home Launcher, оптимизиран за управление с сензорни екрани и предлагащ концепция за сменящи се карти (вместо прозорци).

За съхранение на данни в структурирана форма с използване на JSON формат се прилага хранилище DB8, което използва LevelDB като бекенд. За инициализация се използва bootd, базиран на systemd. За обработка на мултимедийно съдържание се предлагат подсистеми uMediaServer и Media Display Controller (MDC), а за звук се прилага PulseAudio. сървър За автоматично обновление на фърмуера се прилага OSTree и атомна подмяна на дялове (създават се два системни дяла, единият от които е активен, а вторият се използва за копиране на обновления).
Основни промени в новото издание:
- В списъка с предлагани по подразбиране примери приложения е включена програма за работа с камерата. Програмата предоставя основна функционалност за заснемане на снимки и запис на видео и може да се използва като основа за разработване на по-усъвършенствани приложения за работа с камерата.
- Осъществен е преход към формиране на 64-битови сборки, включително сборки за платката Raspberry Pi 4 (rpi4-64) и емулатор (qemux86). Поддръжката на 32-битови сборки е обявена за остаряла.
- Предложено е допълнение за отворения редактор на код Visual Studio Code, улесняващо разработката на специфични за webOS уеб приложения, 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, в рамките на който се работи по обратното инжиниринг на фърмуера на телевизорите LG с цел разширяване на тяхната функционалност, отстраняване на грешки и проверка на спазването на лицензите за копилефт при използване на отворени компоненти (фърмуерите са частично отворени). Проектът развива инструментария epk2extract за извличане и декодиране на фърмуери и различни данни от телевизори LG, Hisense, Sharp, Philips/TPV и Thompson, както и хранилището на пакети webOS Brew и инструмента за получаване на root права на телевизора (RootMyTV). Проектът предоставя сборочни среди за създаване на системни образи за телевизори на основата на платки LG NC4 и LG115x, а също така стари модифицирани фърмуери за телевизори Saturn S6, Saturn S7 и LG 2010 и 2011 на базата на чипове Broadcom.
Източник: opennet.ru
