Ports/loongarch64/New wold, old world, libLoL
Старый и новый мир
На данный момент (осень 2024 года) у LoongArch есть две несовместимые программные системы, которые принято называть new world (nw, "новый мир") и old world (ow, "старый мир").
Появление двух миров связано с тем, что компания Loongson использовала бизнес-стратегию тайной разработки и внезапного запуска LoongArch: они анонсировали новую архитектуру уже с готовой экосистемой коммерческих дистрибутивов Linux и стороннего, в том числе пропиретарного, ПО. Однако в процессе работы с сообществом оказалось, что нужно сделать некоторые несовместимые изменения. Так появились две несовместимых экосистемы ПО под loongarch64:
- old world -- китайские коммерческие дистрибутивы (Kirin, Loongnix, UOS), и совместимое с ними ПО, включая:
- Tencent's QQ for Linux
- Kingsoft's WPS Office for Linux
- Loongson Browser (основан на Chromium)
- new world -- всё свободное ПО и развиваемые на его основе дистрибутивы, включая, естественно, порт Сизифа.
New world и old world не совместимы друг с другом по
- ABI загрузчика (EFI)
- набору системных вызовов ядра Линукс
- версиям символов системных библиотек (в основном частей GLIBC)
- ...
В результате, ПО, собранное для одного мира, нельзя запустить в другом.
libLoL
На данный момент (осень 2024 года) libLoL (LoongArch on LoongArch) -- самое развитое решение, предоставляющее слой совместимости для запуска приложений old world на системах из new world. Оно состоит из двух частей:
- модуля ядра la_ow_syscall, реализующего дополнительные системные вызовы
- специальной патченной glibc, предоставляющий версии символов и дополнительные интерфейсы, нужные приложениям из old world.
Для установки в ALT нужно поставить userspace-часть и модуль, собранный под используемое Вами ядро. Например, для ядра по умолчанию:
# apt-get install liblol kernel-modules-la_ow_syscall-loongarch
С нашим liblol проверены и работают:
- wps-office 11.1.0.11719 (распакованый .deb)
- Loongson Browser (lbrowser) 3.3.1876.3-1.stable
- com.tencent.wechat 1.0.0.241
- некоторые пакеты old-world дистрибутивов.