Похмелье проект по запуску приложений Windows на ARM64

Вино-Android-избранный-образ

Разработчики винного проекта Стефан Дёсингер и Андре Хентшель анонсировали первую публичную версию эмулятора Hangover, что позволяет запускать 32-битные и 64-битные приложения Windows разработан для архитектур x86 и x86_64 в средах Linux и Android на базе архитектуры ARM64 (Aarch64).

В отличие от запуска Wine с минимальной системной средой с использованием QEMU в режиме эмуляции на уровне системного вызова (с использованием того же ядра, что и основная система).

О эмуляторе Hangover

В рамках проекта Похмелье позволяет пользователю получить значительно более высокую производительность. Ускорение этого проекта достигается путем переноса уровня эмуляции на уровень Win32 / Win64 API, вместо эмуляции обычных системных вызовов с эмуляцией сообщений Win32 / Win64 API на их основе.
В настоящее время проект позволяет пользователю запускать только простые приложения и игры, использующие API Win64 и Win32.

Для Linux реализована поддержка Direct3D, которая пока недоступна для Android из-за неполной поддержки OpenGL ES в Wine.

Поддержка отладчика отсутствует, а обработка исключений имеет известные ошибки. По этим причинам системы защиты от копирования и античита, вероятно, будут в худшем состоянии, чем в обычных версиях Wine.

В общем, можно ожидать, что 64-битные приложения будут в лучшей форме, чем 32-битные приложения, потому что никакой структуры данных не требуется.
Чтобы гарантировать работу, используется обычная установка Wine, дополненная различными библиотеками и слоями DLL.
В среде Linux приложения Windows запускаются автоматически, когда QEMU находится в каталоге Wine («C: \ x86 \ qemu-x86_64.exe.so»).

Тогда как на Android для выполнения предлагается использовать утилиту cmd.
Адресное пространство ограничено 4 ГБ при резервировании каждого адреса ниже 4 ГБ.

Большинство основных библиотек Wine ранее загружались более 4 ГБ чтобы оставшееся пространство ниже 4 ГБ оставалось максимально свободным. Обратной стороной этого является то, что запуск нового процесса занимает около 2 секунд.

вино-4.0

Похмелье вино для ARM64

Wine рассматривает каждый процесс как 64-битный процесс, поэтому его слой WoW64 не активен.. Это будет хорошо работать для чистых 32-битных или чисто 64-битных приложений, но вызовет проблемы для смешанных приложений, которые ожидают различий, например, между C: \ windows \ system32 и C: \ windows \ syswow64.

Что касается выпуска 32-битных (x86) приложений Windows, обрабатываются на уровне трансляции структур, передаваемых между приложением и Wine (Модель LLP64 в Windows сохраняет базовую совместимость фреймворков между 32-битным и 64-битным WinAPI).

Для запуска 32-битных приложений Windows используются 64-битные сборки Wine, и каждый процесс сначала рассматривается как 64-битный.

На стороне хоста поддерживаются только архитектуры ARM64 и x86_64, но код унифицирован, что позволяет без особых усилий перемещать проект на другие архитектуры в порядке байтов от младшего к старому (с прямым порядком байтов).

Еще многое предстоит отполировать

Спектакль Hangover на данный момент оставляет желать лучшего. Поскольку eОсновным узким местом является производительность кода, генерируемого QEMU.

Тем не менее, при работе на телевизоре с Android Nvidia Shield. Производительности хватает для запуска игр 2000-х годов.

Приложения, протестированные в Hangover, включают Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 и Worms Armageddon. Примеры DirectX 9 SDK также работают с приемлемой скоростью.

Релиз основан на базовом коде Wine 4.0, который отражен в номере версии Hangover 0.4.0. Слой эмуляции основан на проекте QEMU.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.