Зустрічайте Hangover, Wine для запуску програм Windows на ARM64 

похмілля

hangover Wine для ARM64

Wine, безсумнівно, є одним із найвідоміших проектів у світі Linux. і ми не повинні робити менше для проекту, тому що хоча протягом кількох років він був у стані, в якому багато з нас думали, що про нього забудуть, він відновив силу, і сьогодні, у версії 9.0, Wine є одним із тих додатків, які більшість користувачів Linux зазвичай включають у свою систему.

З появою ARM і великою силою, яку він отримав ця архітектура, Були розроблені та навіть адаптовані різні дистрибутиви усіх видів і з якими також різні програми досягли цієї архітектури. Але у випадку тих, які залежать від програми Windows, все стає дещо складніше., тому що можливість запустити програму, розроблену для робочого столу на ARM, не така проста, як встановлення, і все.

Ось чому Проект Hangover народився з цієї потреби., який призначений для виконання 32-розрядних програм Windows, скомпільованих для архітектур x86 (i386) і ARM32, у середовищах на основі архітектури ARM64 (Aarch64).

Про Похмілля

У сховищі ім Hangover описує цей проект:

Він використовує різноманітні емулятори як бібліотеки DLL для емуляції лише тієї програми, яку ви хочете запустити, а не емуляції повної інсталяції Wine.Щойно програма здійснює системний виклик Windows/Wine, скажімо, NtUserCreateWindowEx, вона запускається поза емулятором (читайте, не емулюється, швидкий, рідний). Навіть краще, все, що стосується Unix, ніколи не емулюється.

Коротше кажучи, ми виходимо з емуляції на рівні системного виклику win32 або Wine Unix з міркувань продуктивності, що ввімкнено підтримкою WoW64 у Wine.

Основна перевага цього проекту полягає в його можливість значно підвищити продуктивність порівняно з запущеним Wine повністю в режимі емуляції. У Hangover емулятор використовується лише для запуску самого коду програми, тоді як усі системні виклики, бібліотеки та компоненти Wine виконуються поза емулятором у рідній версії для поточної платформи.

Такий підхід демонтує ланцюжок емуляції на рівні викликів win32 і wine. Для рівня емуляції користувачі можуть використовувати емулятори QEMU, FEX і Box64 залежно від своїх уподобань. Крім того, розпочато роботу з підтримки емулятора Blink, хоча вона ще триває і не завершена.

Основні нові можливості Hangover 9.0

У цій новій версії Hangover вони реалізували кілька значних покращень і доповнень до проекту, з яких виділяються наступні:

  • Використання QEMU з WoW64: представлено можливість використання QEMU разом із шаром WoW64 (Windows-on-Windows 64-bit), доступним у Wine. Це дозволяє запускати 32-розрядні програми Windows у 64-розрядних системах Unix із підтримкою архітектур x86_32 та ARM32.
  • Підтримка FEX: додано підтримку емулятора FEX у форматі PE та в збірках Unix. У майбутньому планується припинити використання збірок FEX Unix на користь збірок у форматі PE.
  • Вакансії в Box64: Повна інтеграція була досягнута з емулятором Box64.
  • Попередньо зібрані пакети deb: Пакунки Deb були підготовлені для Debian 11 і 12, а в майбутньому планується випуск пакунків для Ubuntu і Alpine Linux.
  • Вакансії для архітектури RISC-V: Розпочато роботу з забезпечення запуску програм Windows у середовищах на основі архітектури RISC-V.
  • Відновлення підтримки емуляції x86_64: Триває робота над поверненням підтримки емуляції архітектури x86_64 для запуску 64-розрядних програм Windows. У гілці 0.8 підтримка була обмежена i386 через недоступність використання ARM64EC у Wine.

Крім того, наголошується, що ведеться розробка реалізації Hangover, адаптованої для архітектури RISC-V. Ця остання розробка базується на кодовій базі Wine 9.0, що відображено в її номері версії.

Нарешті, якщо ви є цікаво дізнатися про це більше, Ви можете перевірити деталі в за наступним посиланням.