16 октября 2026, 09:12
Разработчик показал открытую Linux‑среду для iPad с поддержкой десктопных приложений

Разработчик Вали Нягу (Vali Neagu) представил LinPad — открытую Linux‑среду для iPad с поддержкой настольных приложений. Она работает локально внутри iPadOS и не требует джейлбрейка или запуска на удалённой машине.
В LinPad пользователям доступен рабочий стол с окнами и несколькими рабочими пространствами. Переключаться между ними можно с помощью клавиатуры, мыши или сенсорного экрана. Для запуска доступно около 800 приложений, включая браузер Firefox, редактор кода VS Code, файловый менеджер Thunar, медиаплеер VLC, офисный пакет LibreOffice, графический редактор GIMP, а также Git, Python и Node.js.

В основе проекта лежит Alpine Linux 3.21 с модифицированным эмулятором iSH‑ARM64. Среда исполняет Linux‑программы для ARM64 и переводит их системные вызовы в вызовы iPadOS. Отдельное движок Linux и гипервизор не запускаются. За счёт такой архитектуре у iPad есть доступ к пакетам Alpine, но доступны не все возможности Linux. В частности, Docker не работает из‑за отсутствия namespaces, cgroups и других механизмов ядра.
Встроенная оболочка DesktopKit написана на SwiftUI. С Linux‑приложениями она связана с помощью Wayland‑композитора ishwl. Изображение каждого окна передаётся через файлы в памяти, а события ввода возвращаются через именованные каналы.

Для ускорения предусмотрен JIT‑компилятор, который во время работы генерирует машинный исходник ARM64. Активация происходит через режим разработчика. Без JIT LinPad использует более медленный интерпретатор. Графическое ускорение построено на базе Mesa Venus/Zink, virglrenderer и MoltenVK. Всё при этом выводится через Apple Metal.

В системе остаются ограничения самой iPadOS. В частности, ОС приостанавливает приложения в фоне, а при нехватке памяти просто закрывает программы. Большие проекты в VS Code упираются в лимит даже на iPad с 8 ГБ ОЗУ. Разработчики проекта пока решают эту проблему с помощью функции восстановления сессий и несохранённого текста в редакторах, а также механизма, который автоматически завершает некоторые процессы Linux до того, как iPadOS выгрузит приложение.

Исходник LinPad открыт и опубликован по лицензии GPLv3. Проект работает с iPad на чипах M‑серии, а для запуска нужна iPadOS 17 или новее. Установка осуществляется через сторонние магазины приложений. Для первоначальной настройки нужен компьютер. Распакованная Linux‑система занимает около 2,3 ГБ.
Продолжить читать


