Моё знакомство с 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. И я её обожаю.
Комментарии (46)
alexander222
03.04.2023 18:44+5Интересно как с временем работы от батареи, если поставить на макбук. Так конечно очень заманчиво заменить макос на полноценный линукс, но подозреваю что автономность пострадает. Хотя при учете что дистрибутив делался под конкретное железо есть шанс что все не так плохо
Lev3250
03.04.2023 18:44+3Какой ИБП поставите перед Mac Studio, так и будет с автономностью...
alexander222
03.04.2023 18:44+1В данном случае речь естественно про макбук, у мак студио с автономностью все понятно :-)
P.S. Отредактировал изначальный комментарий.
lrrr11
03.04.2023 18:44+3сам только присматриваюсь к этому asahi, но судя по тому что пишут - нужные режимы энергосбережения реализованы, с обычным софтом не будет проблем. А вот аппаратное декодирование видео еще не завезли, так что если смотреть ютуб, то батарея таки будет садиться.
AlexNixon
03.04.2023 18:44+18у меня тут рядом один человек взорвался на куски от фразы "заменить макось на полноценный линукс", теперь монитор вытирать...
alexander222
03.04.2023 18:44+11Согласен, фраза не совсем корректная. Имел в виду что линукс более удобная для работы системы чем мак ос.
AlexNixon
03.04.2023 18:44+25астанавитесь, иначе тут еще и возгорание стула может произойти...
хорошо хоть товарищ ридонли
sedyh
03.04.2023 18:44+2А я не собираюсь останавливаться.
Сборки на Arch и Hyprland по сравнению с отвратительным UI/UX макоси - это просто небо и земля. Это, по настоящему, современный WM, а не пресловутый think different.
Да, железо у них, иногда, очень хорошее, но это не стоит того, чтобы сидеть несколько ночей и патчить их гениальные высеры в сфере софта.
В качестве железа я остановил свой выбор на Framework и System76.
TIEugene
03.04.2023 18:44+1Время работы как самоцель возможно в macOS и лучше, но за чей счет банкет?
Беру свой MacBook, делаю одно приложение на C++ и одно на Python. Приложения CPU- и disk-bound, оба.
Тестирую под macOS. получаю цифру.
Тестирую точно то же самое с теми же библиотеками и той же версией Python на этом же ноутбуке в Linux. Получаю в 1.5..2 раза быстрее (в зависимости от профиля тестов).
Да, этот ноутбук в macOS держит на 15..20% дольше, чем он же в Linux (без ковыряний с энергопотреблением). Если читать/писать текст и пыриться в интернеты. Но это не чудо и не какая-то мегаособенность Apple вообще и её продукции в частности. Просто хороший тюнинг приложений под свое железо + ловкость рук с режимами работы железа.alexander222
03.04.2023 18:44тут важен баланс. в среднем у меня макбук живет от батареи около 8 часов в обычном рабочем режиме. Выше производительность мне не нужна, скорость работы полностью устраивает. меньшая автономность допустима, но в разумных пределах, скажем 6 часов мне хватит- работаю от батареи не весь рабочий день, но зачастую значительную его часть. Опасаюсь потому что был пример с x86 ноутбуком, который с windows держал те же 6-8 часов, а с linux работал 1-2 часа.
TIEugene
03.04.2023 18:44На макбуке 2012 года macOS держит пыринг в тексты часов 5, Linux часа 4, Windows вообще пару часов. Linux мог бы держать и дольше, но не умеет отключать некоторые железки (потому что секрет). А для Windows 10 некоторых дров нет (потому что секрет).
НО - температура процессора в macOS никогда не выше определенного предела. Linux в этом плане не стесняется и загоняет температуру CPU под потолок.
Так что да, при наличии секретных драйверов и если ОС (без спросу) берет на себя агрессивный режим экономии энергии "macOS/Windows работает дольше".
Но это не какая-то чудесная особенность конкретной ОС. Количество обработанной информации на ватт-час одно и то же.alexander222
03.04.2023 18:44Понятно что чудес ждать не стоит. Но обычно нет цели с ноутбуком помайнить в лесу, а нужен инструмент который позволяет работать без привязки к розетке. для разработчика большая часть времени это по сути набор текста, высокая производительность актуальна в момент компиляции, по этому вполне логично когда это не требуется занижать частоту и отключать "лишнее" оборудование, повышая суммарное время автономной работы
TIEugene
03.04.2023 18:44+1И снова Вы правы - на железе Apple работать потихоньку в поле приятно и прельстиво. И не надо париться за энергосбережение (тем более ничего ты с ним не сделаешь).
Но суть статьи не в автономности, а в том, что на машине за 5-10 килобаксов Linux работает на удивление быстро.
Ну не чудо ли?
GlebSemenov
03.04.2023 18:44Современного линукса на распоследнем Lenovo X1 в офисном режиме при легкой компиляции мне хватило примерно на день. Мака в том же режиме хватает ну дня на два. Линукс не особо отслеживает, как приложения расходуют электрожнергию. В среднем, по энгергопотреблению при такой же емкости батареи линукс быстрее раза в полтора-два ее высаживает.
v1000
03.04.2023 18:44-3Мак мини в данном случае использовался с 16 Гб ОЗУ. Интересно, как это будет работать на 8 Гб ОЗУ?
Arioch
03.04.2023 18:44+17Mac Studio с 20-ядерным процессором M1 Ultra и 128 ГБ оперативной памяти
600 тыс. руб. на Яндекс-Маркете.
Не сомневаюсь, что это в самом деле великолепный компьютер.
Но если собрать такой же стоимости системный блок на парочке AMD ThreadRipper или аналогичном Xeon, может быть он тоже был бы неплох?uvelichitel
03.04.2023 18:44-6А на него можно будет поставить mac, osx darwin ?
Arioch
03.04.2023 18:44+16А какое они имеют отношение к статье про выбор оптимального компьютера для Linuxa ???
Можно и другие вопросы задать, можно ли этим или тем компьютером будет забивать гвозди, или открывать пиво, тоже вопросы имеют право на жизнь. Но конкретно эта статья - о другом.
uvelichitel
03.04.2023 18:44+1Всё таки это была попытка шутки) Видимо неловкая) Какие все серьёзные, заминусовали вусмерть)
DustCn
03.04.2023 18:44-1Да за такую цену можно два воркстейшна поставить. И еще на зп сисадмину хватит, который будет этот линукс и в хост и в гриву ставить. Хотите - по понедельникам Слес, по вторникам - РедХат, и так далее. Убунту оставим на выходные...
Koioes
03.04.2023 18:44+1Геморрой? Я люблю технику apple (хоть сейчас и не пользуюсь) именно по причине того, что почти любой их продукт работает как швейцарские часы. Приятно пользоваться маками. Ну и у них одни из лучших экранов на рынке и экосистема удобная. Так что если я бы сейчас выбирал свой следующую рабочую лошадку, то это было бы что-то на apple silicon.
sanapad
03.04.2023 18:44Вы же пошутили про швейцарские часы? Как швейцарские часы у них работает маркетинг. Техника удобная, железо хорошее. Но брака тоже хватает. От айфонов, которые умирают на официальных обновлениях потому что не хватило свободного места, а iOS это почему-то не проверила, до МакБуков, уничтожающих SSD диски из-за кривых драйверов. За всю свою жизнь я видел только один телефон, который достали из коробки, он включился и умер - это был айфон последний на тот момент (8 вроде). Скажу что у них работает ещё хорошо, кроме маркетинга: сервис. Видел как они меняют технику и дают на подмену. Гарантия у них чувствовалась всегда.
0xd34df00d
03.04.2023 18:44+2Интересно, насколько хорошо с поддержкой этого счастья в прочих дистрибутивах. Если б под гентой оно работало без особых проблем, то можно было бы задуматься.
13werwolf13
03.04.2023 18:44дык работает: https://blog.devgenius.io/installing-gentoo-linux-in-apple-macbook-pro-m1-49e163534898
вообще поддержку m1 уже в мейнлайн ядра запушили, так что теоретически берите дистрибутив со свежим ядром (например opensuse tumbleweed или ту же gentoo) и пробуйте. к сожалению беглый гуглёж показал что похоже никто не пробовал (возможно дело в цене устройства).
0xd34df00d
03.04.2023 18:44возможно дело в цене устройства
Ну вот я что-то тоже подумал на свежую голову, что нафига мне за 5999 баксов эта коробка для таких экспериментов, в которую даже два харда не вставишь, и что мне с ней делать, если линукс там разломается. Проще купить нормальный какой-нибудь райзен 7950x и две планки оперативки по 48 гигов.
13werwolf13
03.04.2023 18:44у меня есть dell vostro с процом 2011 года, обожаю этот ноут, но производительности уже не хватает. ещё есть pinebook pro, очень классная игрушка, но жить с системой на mcirosd больно, а nvme адаптер до меня уже в третий раз недоходит..
поэтому выбираю себе новый ноут, и вот уже пол года выбираю и все модельки не нравятся.. взял бы макбук на m1 если бы был уверен что на нём нормально будет работать нужная мне ОС, а покупать за такие деньги кота в мешке как-то сцыкотно..
Bitals
03.04.2023 18:44Нет, дело в том что запушили не поддержку, а "initial support", то есть условно ядру сообщили что такое сущесивует, а с чем его есть (собственно, драйвера) будут допушивать постепенно со временем.
Toshykan
03.04.2023 18:44+1Свежий Линукс на топовом ПК - все летаить. Огонь, чо. Но скучно. Нет полета мысли, мук/терзаний/продирания сквозь aspera и т.д.
beeruser
03.04.2023 18:44>> Но скучно. Нет полета мысли, мук/терзаний/продирания сквозь aspera и т.д.
Это уже сделал marcan с товарищами, которые реверсили железо, GPU и писали дрова.
Вот вам на много-много часов мук/терзаний.
iamkisly
03.04.2023 18:44Нет полета мысли, мук/терзаний/продирания сквозь aspera и т.д.
Я бы сказал, что per rectum ad astra )
punzik
03.04.2023 18:44+3Одна из главных причин моего выбора Linux/ARM64 в том, что стартап, с которым я сейчас сотрудничаю, использует тяжёлое и высоконагруженное приложение с микросервисами
Всё это великолепие ради вебдваноль? Грустно это :(
engine9
03.04.2023 18:44Я, возможно скажу глупость, но стоит ли ждать ноутбуки на открытых ARM-ах совместимые с линуксами и сравнимые по производительности и энергоэффективности с М процессорами от эпл и
без вшитых зондов от АНБ?
slonoten
Все прекрансно, но как у него с GPU? Модельки можно обучать? Энтузиасты уже обучают свои ChatGPT на десктопном железе...
GlebSemenov
У него отдельный AI процессор на эту тему имеется, какой-то там 16-ядерная Neuro Engine, как оно работает пока не понял, но фреймворки для него в XCode есть.
bellerofonte
Neuro Engine никак не помогает в обучении нейронок, по крайней мере, насколько мне это известно, но под M1 GPU уже есть и tensorflow и torch, tensorflow я активно пользуюсь, хотя и из-под macOS
GlebSemenov
Neuro Engine никак не помогает работе TensorFlow (возможно, пока). Но нашинным обучением в реальном времени эти ядра как раз и занимаются. Яббл в основном FaceID на этих ядрах считяет, как я понял.
Вот, я тут накопал что-то вразумительное про ANE. Пока действительно выглядит странной поделкой для внутреннего применения. Хоть и работает.
https://github.com/hollance/neural-engine
Но каков маркетинг! :)