Технології Технології 05.06.2025 о 14:00 comment views icon

Запускаємо Windows на iPhone: ностальгія, яка плавить процесор

author avatar

Владислав Василенко

Автор статей та оглядів

Запускаємо Windows на iPhone: ностальгія, яка плавить процесор
Розділ Технології виходить за підтримки

В давні часи смартфон бренду Apple мав дуже малу функціональність. Навіть завантажити файл через Safari було неможливо. Популярний тоді Jailbreak дозволяв вирішити ці «дитячі» проблеми. Через це багато хто мріяв встановити звичну операційну систему Windows замість неповноцінної iOS. Минулого року Apple дозволила встановлювати емулятори, через що під виглядом «ігрової платформи» вийшов застосунок UTM SE. Сьогодні подивимось на її можливості для запуску Windows та поговоримо про саму емуляцію.

Що таке Емуляція та її види?

Емуляція — процес запуску однієї апаратної платформи чи операційної системи всередині іншої. Завдяки цьому досягається запуск застосунків, які були створені всередині одного апаратно-програмного середовища, без потреби мати фізичне обладнання або встановлення другої системи. Наприклад, запуск кількох версій Windows та Linux одночасно.

У звʼязку з великою кількістю випущених архітектур (ARM64, x86_64), процесорів (MIPS для PSP), операційних систем (Windows, Android, iOS, Debian, Ubuntu) необхідно мати можливість їх встановлювати та запускати. Існує аж три варіанти емуляції: Повна емуляція (Full Emulation), Віртуалізація (Virtualisation) та Інтерпретація API (API Emulation).

Під час Повної емуляції відбувається відтворення апаратної архітектури та ОС на програмному рівні. Ви правильно могли здогадатися — здійснюється емуляція роботи процесора, відеокарти, памʼяті, аудіо, пристроїв вводу/виводу тощо. Якщо дуже коротко описати цей процес: спочатку відбувається емуляція апаратної та софтової частини, а вже на їхній основі відбувається запуск програмного коду програм.

Застосунки, що її використовують: DOXBox, QEMU в режимі повної емуляції, PPSSPP, PCSX2 (емуляція Sony PlayStation 2).

Очевидними перевагами та мінусами такого підходу стають:

  • Максимальна сумісність систем — запуск оригінального ПЗ у «рідному довкіллі». Змінювати щось в коді майже або взагалі не потрібно;
  • Можливість застосовувати будь-яку оригінальну апаратну платформу користувача для запуску чужий систем. Наприклад, запуск консолі Sony PSP в емуляторі PPSSPP на Google Android з Snapdragon/Mediateck, на Apple iOS/iPadOS/MacOS з А18 чи M1 (ARM64) та Windows (x86_64);
  • Завдяки емуляції поза-зоною основної ОС користувача, створюється безпечне місце для запуску потенційного шкідливого ПЗ;
  • ЗНАЧНО повільніша швидкодія, ніж в оригінальної платформи. Також потребує значної кількості ресурсів та продуктивності середовища, на якому емулюють іншу платформу;
  • Потенційна проблема з сумісністю якихось унікальних речей. Наприклад, Апаратного пришвидшення графіки (Hardware Acceleration).

Для подолання проблеми низької продуктивності розробники застосовують різні «хитрості». У тому ж PPSSPP застосовується JIT-компіляція (Just-In-Time) — блоки машинного коду призначені для CPU PSP перетворюються у код, що розуміє та оброблює CPU користувача. Динамічна перекомпіляція (Dynarec/DBT) розширює можливості JIT завдяки кешуванню повторно запущених блоків коду. Застосовується у таких емуляторах як Dolphin, PCSX2 та RPCS3. Перший застосовується для запуску ігор від GameCube та Wii, а останні два — Sony Playstation 2 та Playstation 3 відповідно.

Скоріше за все, Повну емуляцію зараз майже не зустрінеш, оскільки краще застосувати інші методи емуляції. Вони більше оптимізовані та дозволяють не витрачати значний час на якісь елементарні дії.

Перейдемо до Віртуалізації, яку використовують в таких відомих застосунках, як VirtualBox, VMware Workstation чи Parallels. Ця технологія дозволяє створювати віртуальні копії операційних систем, серверів, дисків або мереж на одному реальному пристрої. Якщо по простому: на одному вашому ПК може бути багато різних конфігурацій різних систем.

При бажанні стати розробником ПЗ, вам доведеться мати декілька чи навіть з десяток віртуальних машин.

Схематично, принцип роботи Віртуалізації виглядає досить просто: користувач запускає одне спеціалізоване програмне забезпечення, яке називається Гіпервізор (Hypervisor), для створення, налаштування та запуску Віртуальних машин (VM, Virtual Machine). Такий «гостьовий ПК», як у випадку з Повною емуляцією, має свою попередньо виділену процесорну, графічну підсистему та памʼять.

Розглянемо переваги та недоліки Віртуалізації. В основному, отримуємо більше плюсів для звичайного та професійного користування. А саме:

  • Значне підвищення швидкодії, порівняно з Повною емуляцією;
  • Економія часу, електроспоживання та ресурсів CPU/GPU. Все ж, це простіше;
  • Трохи збільшене споживання ресурсів памʼяті, особливо RAM;
  • Головний недолік — нездатність VM працювати на різних архітектурах. Навіть, якщо побачите запуск х86_64 на ARM64 чи навпаки, все одно відбуватиметься «невидима» емуляція. Звісно ж, швидкодія зменшиться;
  • Для VM значно важче отримати підтримку ексклюзивних речей в емульованих ОС чи апаратних рішеннях;
  • Гнучкість, через значну простоту у застосуванні VM. Особливо, для бізнес-процесів та хмарних обчислень;

В загальному висновку, ці два види емуляції за ці роки настільки сильно обʼєдналися в одне ціле, що важко визначити кордони початку Повної емуляції, а де — Віртуалізації.

Інтерпретація API доповнює попередні два види емуляції. Вона дозволяє перехоплювати виклики від API (Application Programming Interface; Прикладний програмний інтерфейс) з однієї системи, обробити їх у такому вигляді, щоб API другої платформи змогло працювати з ним. Приклади API, які застосовують для розробки ігор: OpenGL, DirectX, Vulcan. А для геймерів на Linux чи mасOS: Wine та CrossOver.

Наведемо зрозумілі переваги та недоліки такого рішення:

  • Нема потреби емулювати апаратну частину. API «розберуться» самі. Приклад: RPCS3 перетворює код від Sony GCM API у звичний для ПК OpenGL;
  • Значно зменшене споживання ресурсів та дозволяє використання програмних драйверів, графічних прискорювачів від «рідної машини» користувача;
  • Не всі API мають свої аналоги. Саме тому так довго не виходив емулятор для PS3 — складна архітектура та API до неї (LibGCM та PSGL);
  • Багато складної та ручної роботи по правильному перетворенню різних API. Звісно, без величезної кількості тестів не обійтись.

Особливо цей метод необхідний для SteamOS, завдяки якій ігри з Windows можна запускати на Linux. Зі зрозумілих причин, такий перехід не може бути швидким у часі: перетворення, тестування, дебаг, знову тести. Виходить таке своєрідне замкнуте коло. Проте, плоди старань увінчалися грандіозним успіхом — пристрої на SteamOS мають кращу продуктивність в іграх, ніж у «рідній» Windows 11. Про збільшений час автономної роботи також забувати не будемо.

Встановлюємо та вивчаємо Windows на iPhone

Як вже було сказано ще на початку статті, спробуймо встановити ОС Windows 7 та Windows XP. Тестовий смартфон: iPhone 15, в якому стоїть ARM процесор A16 Bionic та 6 ГБ RAM. Але напряму встановити ОС Windows не вдасться з очевидних причин: сама Apple не дозволяє, немає ніяких оригінальних драйверів, обидві версії Windows не підтримують процесори ARM. Тому доведеться емулювати не тільки роботу обох ОС, а ще й апаратної платформи (Intel x86_64).

Для виконання такого непростого завдання використаємо застосунок UTM SE (посилання на AppStore). З опису та відкриття сторінки з вибором ОС побачимо, що можна емулювати не тільки Windows (XP, 7, 10, 11), а й ArchLinux, Debian, Fedora, Kali Linux та Ubuntu. Більшість з них мають підтримку ARM64 систем.

Тільки ніхто не забороняє встановити платформу х86_64 на AARM (Apple ARM). Для початку спробуймо встановити Windows XP, як одну з найвідоміших ОС. Вона вимагає мало памʼяті (для RAM чи ROM) та повинна добре працювати завдяки своєму віку. Знаходимо Windows XP (бажано 32-бітну) на просторах Інтернету (з ключем) у форматі ISO. Потім завантажуємо спеціальний файл з налаштуваннями віртуальної системи від самих розробників. При виборі диску необхідно знайти заздалегідь завантажену ОС з умовною назвою «WindowsXp.iso». Якщо ви качаєте відразу на смартфон, файл знайдете в папці Викачане, вміст якої можете побачити у застосунку Файли.

Якщо все вірно, піде інсталяція Windows XP. На початку, все здається досить добре. Проте з часом, починаєш розуміти один дуже неприємний момент — занадто довго. На смартфоні встановлення ОС зайняло близько 2 годин! Звісно, в ті далекі часи встановлення Windows могло зайняти більше часу. Ось тільки під час цього часу краще не користуватися смартфоном (буде ще довше). Блокувати смартфон також не можна, оскільки під час блокування iOS майже не виділяє ресурси на роботу у фоні. Блокування дисплея або Економію енергії також вимкніть.

Давно не бачились, старий друже BSOD

Після встановлення перед нами повноцінна Windows XP на смартфоні! Чиста система займає приблизно 2 ГБ памʼяті, що й не так багато. Загалом, користуватися сенсорним дисплеєм звично, як тачпадом. Хіба що клавіатурою не зручно користуватися. Для підключення до Інтернету потрібно встановити всі необхідні драйвери для віртуальних адаптерів. Тому потрібно вимкнути нашу нову-стару ОС. Інтернет працює через Bridge, NAT немає.

Всі необхідні драйвери можна отримати двома шляхами: завантажити самостійно з сайту або всередині програми UTM SE. Для другого варіанту необхідно натиснути та тримати віртуальну машину, щоб зʼявилося додаткове меню вибору. В ньому вибираємо Install Windows Guest Tools, а далі чекаємо завантаження та монтування у CD-привід. Якщо в ньому вже щось знаходиться, ви побачите помилку. Тому потрібно знайти цей диск, натиснути Eject та знову натиснути на Install Windows Guest Tools.

Далі ми вмикаємо Windows, шукаємо вмонтований диск та натискаємо на єдиний інсталятор на головному диску. Знову залишаємо смартфон ще на одну годину. Все, вітаю! Все що потрібно встановлено. Тепер можна заходити в Інтернет, застосовуючи WiFi. Через LTE чомусь не працює.

Перевіримо підключення миші та клавіатури до емульованої Windows XP. Для цього до iPhone 15 підʼєднаємо USB-Hub та вставимо наші Іnput пристрої. І так, вони дійсно працюють. Тільки клавіші на клавіатурі не збігаються. Наприклад, на 4 знаходиться Enter.

Проте у Windows XP існує одна велика проблема — повна втрата підтримки не тільки від Microsoft, а ще від великих корпорацій. Браузер Internet Explorer старий настільки, що не підтримує стандарт HTTPS. А завантажити та передати Firefox 52.9 з його підтримкою дуже важко. Ще й невідомо, скільки доведеться його встановлювати.

На жаль, Windows XP більше потрібна для згадування часів молодості. Емулювати її майже немає сенсу. Добре, що можна це зробити. Проте значно краще знайти запчастини та зібрати справжній Ностальгічний ПК.

Перейдемо до Windows 7. Особливо нічим створення віртуальної машини не відрізняється, окрім збільшених вимог до виділеної памʼяті: ROM з 8 ГБ (Windows XP) проти 20 ГБ (Windows 7), RAM з 512 МБ до 2 ГБ. Далі монтуємо диск з Windows та чекаємо встановлення. На цей раз час виявився ще довшим — понад три з половиною години! Але додатково слід встановити драйвери з Windows Guest Tools. На це пішло ще дві години. Миша, клавіатура та інтернет по WiFi працюють.

Windows 7 працює повільніше, ніж Windows XP. З невідомих мені причин, процесор майже завжди тримає 100% завантаженість. Збільшення RAM чи кількості процесорів (з 1 до 4) також відчутної швидкодії не додає. Факторів предостатньо: образ, неправильно налаштована машина, встановлення оновлень Windows тощо.

З цікавого, віртуальне «залізо» не підтримує Hardware Acceleration у Windows 7. Тоді як Windows XP її має. Теоретично, на неї можна встановити ігри тих років та спробувати запустити. Ось тільки щось підказує, що будь-який ПК за менші гроші (SteamDeck не згадуємо) з цим впорається краще.

А що з iPhone 15? Під час проведення усіх емуляцій став зрозумілий один момент — смартфон ставав дуже сильно гарячим. Він настільки сильно нагрівався, що міг перестати заряджатися від розетки з блоком живлення на 5 Вт. Явно спрацьовував захист від температур. Тому якщо є охота спробувати, не заряджайте смартфон під час емуляції. Зарядили до 80% чи 100% та відімкнули зарядний пристрій.

З однієї сторони, емуляція — необхідна річ для навчання в університеті, розробки застосунків чи хмарних обчисленнях. В користувацькому сегменті технологія також необхідна (грати в ігри). Ось тільки смартфони (особливо Apple) відмінні від старих ПК. Тому не дуже сильно пристосовані один до одного. Простіше мати окремий дешевий пристрій, ніж робити один «комбайн» All-in-One.

Розділ Технології виходить за підтримки

Favbet Tech – це ІТ-компанія зі 100% українською ДНК, що створює досконалі сервіси для iGaming і Betting з використанням передових технологій та надає доступ до них. Favbet Tech розробляє інноваційне програмне забезпечення через складну багатокомпонентну платформу, яка здатна витримувати величезні навантаження та створювати унікальний досвід для гравців.


Що думаєте про цю статтю?
Голосів:
Файно є
Файно є
Йой, най буде!
Йой, най буде!
Трясця!
Трясця!
Ну такої...
Ну такої...
Бісить, аж тіпає!
Бісить, аж тіпає!
Loading comments...

Повідомити про помилку

Текст, який буде надіслано нашим редакторам: