Почему Hackintosh уже актуален. Развенчание мифов
Каждому iOS разработчику нужен свой уголок с печеньками, плюшевой уточкой и шайтан-машиной на OSX.
В свете перехода на Swift, мощность железа стала особенно востребована. Чтобы комфортно разрабатывать под айфоны, нужен как минимум процессор с частотой 3+ ghz, SSD на 120-250Gb и оперативы гигов 16. Все это как раз для того, чтобы не было желания посмотреть футбол, пока запускается проект или открывается interface builder.
А знаете, что еще было всегда актуально? Сумасшедшие цены на яблочные устройства:
PC с таким же, плюс-минус, железом можно запросто собрать всего за 30.000 рублей! (инфа на ноябрь 2016). Многие, конечно, думают, что раз компания покупает железо, то значит финансы бесконечные, можно не стесняться в средствах. Если вы работаете в Google, то вам повезло и жизнь хороша. Но в остальных случаях это не так.
Что же делать? Не разрабатывать же под Android в конце концов?
Под катом мы узнаем о современном Hackintosh, его роли в разработке, способам безболезненной установки и настройки, услышим мнение людей, работающих на нем не первый год, и проведем тест на iOS инструментах.
Краткое вступление
Большинство, естественно, не собираются приобретать устройство за 120к своим разработчикам и идут по альтернативному пути — берут Mac Mini 2011-2014-го годов за 50-60к, который несколько слабее. Но даже в этом случае цена все равно заоблачная. В первую очередь, сравнительные тесты мы будем проводить именно на таком упрощенном варианте, так как он наиболее распространен.
Должен предупредить, что официально установка Хакинтоша — это нарушение лицензионного соглашения с Apple, но до тех пор, пока вы не продаете собственные компьютеры с предустановленной OS X, все более чем невинно.
UPD1: информация оказалось не такой однозначной насчет нарушения лицензионного соглашения и незаконности в целом, более подробно в конце статьи. Буду обновлять сноску по мере появления новых данных.
Решение
Есть устоявшийся стереотип, что установка Hackintosh выглядит приблизительно так:
И это будет правдой, но лишь отчасти. Как и на любом поприще, ничто не стоит на месте. Вот и рынок взломанных маков уверенно ушел вперед с того времени, как вы после лабораторных в институте, еще не бородатым студентом в далеком 2007-м, пытались поставить на свой дохленький комп это чудо техники.
Сейчас это процесс выглядит следующим образом: создаем самую обычную загрузочную флешку с самым обычным Mac из AppStore, проводим небольшую настройку BIOS, устанавливаем систему и докидываем дрова парой кликов. На geektimes даже есть замечательная инструкция по всему этому процессу.
Когда понял, что зря сидишь на своем Mac Mini.
Почему же тогда столько форумов залито слезами разработчиков и историями провала? Если бы все было так просто, то никто бы просто не покупал устройства Apple. Все дело в том, что главный камень преткновения — это неправильно подобранное железо.
Комплектующие
Даже больше скажу, наиболее проблемная часть — это видеокарта, на нее действительно нужно обратить внимание. Все остальное, как правило, уже работает из коробки.
Естественно, мы говорим только о стационарниках. С ноутбуками подружить яблоко еще ни разу не получилось, сколько ни старался. Говорят, искусству установки хакинтоша на ноут учат на последних курсах Хогвартса.
Возвращаясь к видеокартам, посоветую проверенные временем варианты, которые регулярно используем у себя в компании: gt210 и gt630. Практически бесплатные, не требующие танцев с настройкой, служащие верой и правдой уже не первый год. Для машины разработчика подходят идеально. Использовать встроенную в CPU карточку я бы не советовал, так как, во-первых, хуже настраивается, а во вторых, несколько сказывается на производительности.
Вот только есть одна особенность из-за которой я однажды чуть не вышел в окно, пытаясь вторые сутки завести видяху — хакинтоши не любят VGA. Цифру на лету схватывают — DVI/HDMI/DP все сразу завелось, а аналог никак. Так что если будете подбирать монитор для рабочей станции, то убедитесь, что у него есть HDMI или DVI.
В целом по железу, контент стандартного черного ящика для разработчика выглядит следующим образом. Даю сразу ссылки на Yandex-Market для актуальных цен:
-
CPU: Intel Core i3-6100 Skylake (3700MHz/LGA1151/L3 3072Kb). Не обязательно брать процессор с блек джеком и нанотехнологиями, лишь бы это был Intel. AMD традиционно
никто не любитне поддерживается яблоком. Мы остановили свой выбор именно на i3-6100 Skylake из-за его сравнительной дешевизны(~7к на момент написания статьи) и солидных лошадиных сил.
UPD2: Добавлю сравнение этого процессора с тем, что в Mac Mini из начала статьи. Точно нельзя сказать, что i7 сильнее. -
Motherboard: Gigabyte GA-H110M-S2H. Гигабайт практически всегда легко заводится из коробки, не требует патчинга USB, ethernet взлетает сам, а для аудио достаточно нужный kext в multibeast указать, что элементарная процедура сама по себе. Поставить галочку напротив ALC887 и нажать next может и эникейщик.
Обратите внимание, что плата для 1151 чипсета(Skylake) и DDR4 оперативы! Ваши старые проц и память туда, к сожалению, не войдут.
-
GPU: GigaByte GeForce GT 210. Про видеокарту можно еще добавить, что если берете в офис, то лучше остановиться на варианте без кулера с пассивным радиатором. Когда она одна такая — это ничего страшного, но если их становится много, то гул уже вполне ощутим и начинает надоедать.
По производителю посоветую смотреть в сторону GigaByte по возможности — оно так исторически сложилось, что лучше ставится с хакинтошем.
-
Cooler: Zalman CNPS80F. Обменял на коробку конфет в магазине. Крайне дешевый кулер, достаточно легко ставится(если быть достаточно уверенным в себе) и неплохо охлаждает. Для меня Zalman всегда был One-Love, в этот раз фирма тоже не подвела.
-
SSD: Kingston SSDNow V300 256Gb. Диск проверенный временем. У меня в Macbook такой стоит, с которым я путешествую вот уже несколько лет, дома в игровом стационарнике, на работе практически в каждой рабочей лошадке, и (стыдно признаться) на локальном офисном сервере. И за все это время ни один даже не намекнул на сбой. Если у вас нет особых предпочтений, то рекомендую как вариант с гарантией.
P.S. Не забудьте взять салазки 2.5 на 3.5, если покупаете для стационарника.
- RAM: Crucial DDR4 8Gb * 2. Не дорогая и вместительная оперативная память. Но стоит помнить, что она UDIMM (нерегистрировая). Якобы менее стабильна и за счет этого быстрее и дешевле, но пока неожиданностей не выявили. Для офиса самое то.
Если вы сомневаетесь, брать одну или две плашки для разработки под iOS, то берите сколько поместится в мать, потому что Xcode — это Chrome в мире IDE. Ему никогда не будет много оперативы, он всегда найдет куда пристроить 'излишки'. Особенно, если вы еще балуетесь симулятором.
Про корпус писать не буду, подойдет любой mini-tower, лишь бы влезла мать.
Производительность
Чтобы не тестировать сферических коней в вакууме, никаких абстрактных нагрузочных тестов мы проводить не будем, каждый сам может посмотреть индексы того или иного процессора, если заинтересует. Я же поделюсь наблюдениями в скорости конкретно на рабочих инструментах Xcode, насколько видна разница между Mac Mini 2011-го года с обновленной оперативной памятью и диском(считай, версия 2014 года), и нашим франкенштейном. HighEnd девайс мы оставим в стороне, потому что на него не хватило финансов)
По традиции предыдущих статей, возьмем все тот же свифтовый Open Source проект, который мы так обильно разгоняли. Для чистоты эксперимента отключим полно-модульную оптимизацию и сделаем полную очистку проекта.
Сравнивать будем железо из примерно одинакового ценового сегмента, БУ MacMini такой сейчас стоит около 30к, а новый 2014-го года от 50к и выше.
- Mac Mini
Время сборки проекта:
- Hackintosh
Время сборки проекта:
Результат на лицо. За одну и туже сумму для правильного железа можно получить более чем двухкратный прирост к производительности! Кроме того, это влияет не только на время компиляции, но и в целом проявляется на отзывчивости системы, что немаловажно.
Счастливый разработчик на быстрой системе:
Стабильность
В качестве критериев возьмем пользовательское впечатление, сложность обновления, частоту зависаний, глюков, сбоев и в целом стабильность системы. Постараемся объединить субъективное восприятие и объективное.
- Впечатление: ребята, которые сидят на хакинтошах без исключения говорят, что все шустро и не хочется ударить системный блок ногой, чтобы работал быстрее. Между естественным маком и сотканным из черной магии, существенной разницы не заметили.
А как сказал мой коллега Алексей: если сравнивать с Windows, то просто сказка.
-
Сбои и ошибки: практически никогда не зависает. За несколько лет буквально пару раз такое случалось. Причины не выявили, проблема решается простой перезагрузкой.
- Обновления: а вот здесь таится главный побочный эффект. Переход на свежий мажорный релиз — это как коробка конфет: никогда не знаешь что внутри. Может обновиться, а может и придется заново всю систему накатывать. Минорные обновления входят без проблем, но перед крупняком рекомендуется сделать бекап важной информации и иметь под рукой установочную флешку с последней версией.
Это что касается программного обновления. А вот с прокачкой железа Хакинтош далеко впереди. Например, на Mac Mini 2014-го года(это самая последняя модель) нельзя даже докинуть плашку оперативки, она там просто впаяна. Что уж говорить про обновления процессора и видеокарты при необходимости. Тоже самое касается ремонтопригодности, если в Mac у вас что-либо летит, то починить или заменить это будет гораздо сложнее. Кроме этого, старые Mac(до 2013 года) имеют аппаратное ограничение по объему оперативной памяти (16 гб).
Все это касается как Sierra(последняя версия), так и El Capitan, если кто-то предпочитает операционки постарше.
Заключение
Этой статьей я хотел показать, что для iOS разработки не обязательно нужен дорогостоящий Mac или особые хакерские навыки. Технологии не стоят на месте и установка Hackintosh больше не такая болезненная и не требующая высокой экспертизы как раньше.
Отмечу, что целью было не сравнить стоимость i7 у Apple и на рынке, а показать возможность подбора более подходящего для своих задач железа, которое Apple, к сожалению, не предоставляет.
Мы недавно провели эксперимент, позволив стажеру с третьего курса университета, самостоятельно собрать и настроить себе рабочую машину, включая полную установку системы. Получив всего пару советов о флагах загрузки, утилиту для финальной конфигурации и флешку с системой, парень буквально за день собрал себе готовый рабочий инструмент.
Пожалуй, это все. Буду рад услышать ваш опыт работы с Hackintosh, комментарии и обратную связь.
На сладкое оставлю несколько ссылок, которые могут быть полезны при работе с хаком:
- Multibeast — утилита для пост-установочной настройки.
- Unibeast — тулза для создания загрузочной флешки. (Для MacOS)
- Туториал по установки Sierra. Регулярно им пользуемся.
- Справочник ресурсов и полезных ссылок.
UPD1: Есть подозрение, что Hackintosh является законным на территории РФ, так как конфликтует с ЗоЗПП, если верить комментарию. Есть среди нас юристы, которые могут конкретнее сказать?
UPD2: Добавил сравнение двух процессоров, чтобы не быть голословным. Спасибо creker за точную модель.