LinPad запускает Linux-приложения на iPad без джейлбрейка
Открытый проект LinPad добавляет в iPadOS Linux-среду с окнами, рабочими пространствами и поддержкой примерно 800 приложений.
Разработчик Вали Нягу представил LinPad — открытую Linux-среду для iPad, которая позволяет запускать настольные приложения непосредственно внутри iPadOS. Проект не требует джейлбрейка и не использует удалённый компьютер или сервер.
LinPad предоставляет пользователю рабочий стол с окнами и несколькими рабочими пространствами. Переключаться между ними можно с помощью клавиатуры, мыши или сенсорного экрана. В среде доступно около 800 приложений, среди которых Firefox, VS Code, Thunar, VLC, LibreOffice и GIMP. Также можно использовать Git, Python и Node.js.
Как устроена среда
В основе LinPad лежит Alpine Linux 3.21 и модифицированный эмулятор iSH-ARM64. Среда исполняет Linux-программы для архитектуры ARM64, преобразуя их системные вызовы в вызовы iPadOS. При этом отдельное ядро Linux и гипервизор не запускаются.
Такой подход открывает доступ к пакетам Alpine Linux, но не обеспечивает полной совместимости с обычной Linux-системой. Например, в LinPad не работает Docker: для него необходимы namespaces, cgroups и другие механизмы ядра, которых среда не предоставляет.
Графическая оболочка DesktopKit написана на SwiftUI. Связь с Linux-приложениями обеспечивает Wayland-композитор ishwl. Изображение каждого окна передаётся через файлы в памяти, а события ввода возвращаются через именованные каналы.
Для повышения производительности LinPad использует JIT-компилятор, который во время работы генерирует машинный код ARM64. Его активация выполняется через режим разработчика. Если JIT не включён, приложения работают с помощью более медленного интерпретатора.
Графическое ускорение реализовано на базе Mesa Venus/Zink, virglrenderer и MoltenVK, а итоговый вывод выполняется через Apple Metal.
Ограничения iPadOS
LinPad по-прежнему зависит от ограничений iPadOS. Система может приостанавливать приложения в фоне, а при нехватке памяти — принудительно закрывать их. На устройствах с 8 ГБ оперативной памяти крупные проекты в VS Code уже могут упираться в доступный лимит.
Разработчики компенсируют это функцией восстановления сессий и несохранённого текста в редакторах. Кроме того, LinPad умеет автоматически завершать некоторые Linux-процессы до того, как iPadOS выгрузит приложение целиком.
Исходный код проекта опубликован под лицензией GPLv3. LinPad поддерживает iPad с чипами серии M и требует iPadOS 17 или более новой версии. Установка выполняется через сторонние магазины приложений, а для первоначальной настройки понадобится компьютер. Распакованная Linux-система занимает около 2,3 ГБ.
Сообщить о проблеме в публикации
Обращение принято Обращение будет рассмотрено. По результатам проверки публикация может быть исправлена, дополнена, временно скрыта или удалена.
Читайте новые материалы журнала — свежие сюжеты каждый день.
На главную






