С последнего тестирования Ubuntu для мобильных систем на Nexus 7 прошло достаточно времени и произошли некоторые события.
Во-первых, Canonical спохватилась и в статьях своих разработчиков сделала упор на едином имени Ubuntu, чтобы Ubuntu Touch не позиционировалась как какая-то система чисто для мобильных платформ. Теперь правильно писать Ubuntu или Ubuntu Phone, а не Ubuntu Touch. Это факт нашёл своё отражение даже в переименовании утилиты, помогающей прошивать устройство, которая теперь называется ubuntu-device-flash, а не phablet-flash.
Во-вторых, Canonical сфокусировалась на Nexus 4 как эталоне смартфонов и Nexus 7 (2013, кодовое имя flo) как референсное устройство в мире планшетов. Мой Nexus 7 (кодовое имя grouper) оказался не удел и в таблице поддерживаемых официально устройств находится в статусе Deprecated. Эта печалька означает, что с одной стороны, ubuntu-device-flash ещё помогает в работе, но толку мало. Unity 8 работает поверх дисплейного сервера Mir и на Nexus 7 был зафиксирован баг с мерцанием и зависанием. Баг исправили, но на моём Nexus 7 видно невооружённым взглядом, что аппаратной акселерации нет и всё прорисовывается медленно. Приложения тупят, как не тупили раньше. Можно удалить в домашней папке файл .display-mir и получить ускоренную работу Unity 8 через SurfaceFlinger, используемый в Android, но у него есть свои проблемы и как-то не очень хочется пятиться в прошлое.
Эмулятор Ubuntu для ARM
Если у вас Ubuntu 14.04, то достаточно установить sudo apt-get install ubuntu-emulator
Если у вас один из более ранних релизов Убунту, то нужно добавить PPA и установить
sudo add-apt-repository ppa:phablet-team/tools
sudo apt-get update
sudo apt-get install ubuntu-emulator
Создаём свой Убунтофон – sudo ubuntu-emulator create UbuntuPhone
ubuntu-emulator копирует скачанные образы в ~/.cache/ubuntuimages/, а созданные инстансы в ~/.local/share/ubuntu-emulator/
Запускайте ubuntu-emulator run UbuntuPhone
и наберитесь терпения, ибо долго!
Удалить созданное sudo ubuntu-emulator destroy UbuntuPhone
Получить список созданного вами ubuntu-emulator list
Для экспериментов удобным будет использование снапшотов перед изменениями ubuntu-emulator snapshot --create=SNAPSHOT1 UbuntuPhone
. Если что-то пошло не так, можно вернуть назад ubuntu-emulator snapshot --revert=SNAPSHOT1 UbuntuPhone
Эмулятор Ubuntu для x86
У вас на десктопе, маловероятно, что используется процессор архитектуры ARM и эмулятор работает медленно и долго стартует. Можно задействовать эмулятор с более родной архитектурой – x86.
Установите ubuntu-emulator как написано было выше, чтобы вытянуть нужное по зависимостям.
Скачайте в папку wget http://people.canonical.com/~rsalveti/aosp/generic_x86/emulator-x86.tar.bz2
и распакуйте tar -jxvf emulator-x86.tar.bz2
Для скачивания и создания образа нужно в папке emulator-x86 запустить ./build-emulator-sdcard.sh
Ограничения Ubuntu x86 Emulator:
- Режим Nested отключён, так как unity-system-compositor крашится.
- Gallery-App не работает корректно, так как пытается использовать libGL.so
Запускать эмулятор нужно из папки ./run-emulator.sh
Скорость в разы отличается от эмулятора, использующего ARM, особенно если в run-emulator.sh увеличить параметр memory с дефолтных 512 Мб. Скорость старта и ощущение отзывчивости, оставляют от эмулятора приятные впечатления и он вполне годен для щупанья новых образов Ubuntu Phone.