[Перевод] Идеальная рабочая станция Linux на процессоре Apple M1 (ARM64)
Моё знакомство с Asahi Linux началось в марте прошлого года, когда на свет появилась альфа-версия Asahi. Я сразу же установил её на свой Mac Mini с 8-ядерным Apple M1 (ARM64). Asahi — это дистрибутив Linux, который нативно работает в «маках» на Apple Silicon благодаря хитрым хакам и реверс-инжинирингу от сообщества Open Source. Более того, запуск Asahi абсолютно легален, поскольку Apple официально разрешает загрузку отличных от macOS операционных систем на своей платформе Apple Silicon.
Слово Asahi переводится как «утреннее солнце». И это не только известная марка японского пива, но и дистрибутив Linux, который назван так, дабы подчеркнуть первенство команды разработчиков в освоении платформы Mac.
Когда я ставил Asahi, для неё были доступны лишь основные аппаратные драйверы (хNVMe, клавиатура, трекпад, Wi-Fi, Ethernet, USB и т. д.). Однако я установил дистрибутив и удивился, какой быстрой оказалась система, описав свои впечатления в блоге. Уже к концу года вышли практически все необходимые драйверы (добавились Bluetooth, аудио, графика). В итоге все пакеты, которые были мне необходимы, были адаптированы для страниц памяти 16K в Apple Silicon.
Производительность Asahi на M1 просто впечатляющая. Компиляция Chromium 102 в Fedora Linux на Core i9 занимала чуть больше часа — и только 12 минут в Asahi.
Что касается графических задач, то и здесь Asahi на высоте. Я никогда раньше не видел, чтобы KDE, GNOME, LibreOffice, Gimp, Inkscape, Firefox работали так быстро. Игры (SuperTuxKart), просто летают, VLC-видео и YouTube тоже работают идеально.
Именно тогда мне пришла в голову идея запустить Asahi Linux на самом быстром Apple Silicon Mac от Apple. Это была бы идеальная рабочая станция ARM64 Linux, подумал я и решил, что обязательно сделаю это.
Новый уровень с Asahi Linux
В январе нынешнего года я установил Asahi Linux на самую мощную систему Apple ARM64 — Mac Studio с 20-ядерным процессором M1 Ultra и 128 ГБ оперативной памяти. Он работает в паре с великолепным 34-дюймовым широкоэкранным изогнутым монитором Dell через HDMI.
Тогда же я решил перейти с оконного менеджера i3 (который должен работать на устаревшей cистеме X Window) на sway compositor для нового Wayland. Оказалось, что sway работает лучше и использует более эффективную конфигурацию.
Ниже скриншот моего рабочего стола sway в высоком разрешении на Mac Studio (по клику правой кнопкой доступен в оригинальном разрешении). Можете найти мою кастомную конфигурацию sway dotfiles в репозитории GitHub.
sway
Есть ли что-нибудь, что не работает в Asahi?
Ответить на этот вопрос можно словами Гамлета в третьем акте одноимённой трагедии, 87-я строка: «Нет».
Всё, что необходимо, работает… и работает отлично. Железо (Bluetooth, аудио, HDMI, USB, 10G Ethernet, WiFi и графика) безупречно взаимодействуют с драйверами, созданными командой разработчиков Asahi в прошлом году, и нет ни одного программного пакета, который был бы мне необходим, и не работал бы в моей системе.
Большая часть установленного мной программного обеспечения взята из репозитория Arch, поскольку Asahi Linux базируется на пакетной базе Arch Linux и построен с использованием штатных репозиториев Arch Linux.
Но некоторые (например, Visual Studio Code) установлены как изолированные модули при помощи утилиты Flatpak, которая предоставляет специально выделенную среду для запуска приложений, изолированных от основной хост-системы, что даёт возможность пользоваться ими вне зависимости от изменений в системе. Для более сложных программных комплексов я использую готовые образы Linux-контейнеров, как в случае с NextCloud. Из htop-выдачи на скриншоте вверху вы также заметите, что я использую для тестирования разрабатываемых мной микросервисов k3s, минималистичную сборку Kubernetes.
Поскольку в большинстве рабочих проектов я использую контейнеры, нет необходимости запускать другие виртуальные машины Linux. Тем не менее, приходится работать с веб-приложениями, для которых необходима FreeBSD. Специально для неё я установил виртуальную машину QEMU, использующую восемь ядер и 64 ГБ оперативной памяти. Ниже приведена фотография консоли vm, запущенной в терминале на рабочем столе sway. Вы можете найти мой скрипт QEMU в репозитории GitHub.
Виртуальная машина FreeBSD
Самый быстрый десктоп Linux в моей жизни
Благодаря Asahi Linux я стал обладателем самого быстрого десктопа Linux в своей жизни. Всё — и я имею в виду абсолютно всё — работает невероятно быстро. Софт запускается мгновенно, а заставок приложений, похоже, вообще не существует.
В некоторых случаях это происходит слишком быстро. Когда я установил K3s, все контейнеры в пространстве имён kube-system, предназначенном для объектов, созданных Kubernetes, постоянно уходили в ужасное состояние CrashLoopBackOff. После небольшого расследования я обнаружил, что Mac Studio оказалась слишком быстрой для синхронизации ресурсов Kubernetes. Чтобы исправить ситуацию, пришлось добавить ограничения для каждого модуля.
Одна из главных причин моего выбора Linux/ARM64 в том, что стартап, с которым я сейчас сотрудничаю, использует тяжёлое и высоконагруженное приложение с микросервисами, которое запускается в инстансе AWS c6g.12xlarge Graviton с 48 ядрами ARM64. Мы встроили в него наши собственные микросервисы моделирования нагрузки и мониторинга производительности.
Я запустил приложение и симуляцию загрузки в своей Mac Studio под управлением Asahi, чтобы посмотреть, как всё это работает в нашей промежуточной среде на AWS. Что ж, десктоп Mac Studio на голову превзошёл 48-ядерный инстанс Graviton. Задержка при той же загрузке была в среднем примерно на 20% ниже, а вычисления — на 36% быстрее.
В итоге оказалось, что в моих руках практически идеальная рабочая станция ARM64 Linux. И я её обожаю.