Hangover Linux ARM64 的 Windows 兼容层开源项目

我要开发同款
匿名用户2023年03月10日
306阅读
所属分类C/C++、应用工具、操作系统工具
授权协议LGPL 2-1

作品详情

Hangover可用于在aarch64/(ppc64le)/x86_64Wine上运行(x86_64)/x86_32Windows应用程序。

(括号内的架构暂不支持)

1)它是如何工作的Hangover 使用Wine中的WoW64支持+一个模拟器来运行,例如x86_64上的ARM32,或ARM64上的i386。

2)状态虽然整体稳定性得到改善,但预计会发生崩溃。

3)如何构建目前Qemu被构建为一个在Wine中使用的库。这是一个许可冲突,所以不会有二进制文件可供下载。这将随着其他模拟器而改变。

3.1)Qemu要将Qemu构建为库,需要:

构建qemu的依赖项(特别是glib)大约1GB的磁盘空间从此处下载并解压缩5.2.0版。

在qemu/下应用此repo中提供的补丁:

$patch-p1</path/to/your/patch像这样构建它:

$mkdirbuild$cdbuild$../configure--target-list=arm-linux-user,i386-linux-user$make如果编译器警告linux-user/ioctls.h中的某些内容,请删除相应的行并再次运行make。

将生成的库放在/opt(默认)中或将HOLIB设置为生成的库的完整路径。

3.2)Wine要制作Hangover Wine,您需要:

构建64位Wine的依赖项用于PE交叉编译的 llvm-mingw大约5GB的磁盘空间还要确保您设置了子模块:

$gitsubmoduleupdate--init在x86-64上:

$mkdir-pwine/build$cdwine/build$../configure--enable-win64--disable-tests--with-mingw--enable-archs=i386,x86_64,arm$make在ARM64上:

$mkdir-pwine/build$cdwine/build$../configure--disable-tests--with-mingw--enable-archs=i386,aarch64,arm$make4)运行 在关键部分问题解决之前,强烈建议使用“taskset-c1”将执行限制为1个核心:

在x86-64上:

$taskset-c1./wine64yourapplication.exe在ARM64上:

$taskset-c1./wineyourapplication.exe您可以添加以下环境变量:

HODLL使用除xtajit或wowarmhw之外的其他dll运行应用程序。例如HODLL=wow64cpu.dll在x86-64上运行它而不进行仿真:xtajit.dll用于i386仿真,wowarmhw.dll用于ARM仿真,wow64cpu.dll用于x86_64上的“本机”i386模式HOLIB设置库的完整路径,例如HOLIB=/path/to/libqemu-i386.soQEMU_LOG设置Qemu日志通道,在这里找到一些选项。5)待办事项让更多的应用程序运行调查CriticalSection问题(只是时间问题?)集成除Qemu之外的其他模拟器,如 Box32、 FEX / hex-emu
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论