41 条回复  ·  4364 次点击
rrubick 楼主 初学 2025-11-21 21:51:58
@ysc3839 #16 里面一大堆,涉及到硬件的
rrubick 楼主 初学 2025-11-21 21:52:36
@kekxv #18 主要是有很多 dll 驱动,在 arm 上跑不了
ysc3839 小成 2025-11-21 21:57:56
@rrubick 如果是涉及内核驱动,那就不能用 ARM 系统了
liyafe1997 小成 2025-11-21 22:02:06
目前来看,性能&兼容性最最最好的方案应该就是 Box86 了,但是 Box86 只能 ARM32 ,这是最头疼的点。但凡你的 exe 是 x64 的,能跑 Box64 on ARM64 ,都方便得多。 我之前这么在 RK3566 ( 4 核 A53 )上跑过 x64 exe ,就是典型的 Qt 工业 GUI 应用,性能完全是非常可用的程度。 如果你目前的 ARM64 的 Linux 不好装上 ARM32 支持库/坑太多的话,也许可以试试一些 Box86 Docker ? https://github.com/DerpyChap/box86-docker 看起来这个能在 ARM64 上 Box86 开箱即用
liyafe1997 小成 2025-11-21 22:03:02
补充: https://github.com/alzhahirdev/winebox86 搜到这个看起来更好,连 Wine 都给你打包进去了
liyafe1997 小成 2025-11-21 22:05:22
噢对,也许还有一个方案,装 Win11 on ARM64 虚拟机,然后里面是能跑 x86 exe 的。
liyafe1997 小成 2025-11-21 22:08:37
@rrubick dll 不是驱动,或者说是用户态驱动,x86 dll 在 Win on ARM 下不是问题。 sys 才是真正的内核态驱动,就看你的硬件有没有内核态驱动需求了。你的硬件是怎么连接的? USB ?串口?出现在设备管理器里面是什么东西? 如果是 USB ,可能直接走的 USB HID ,或者 USB 转串口,那这种基本都不是问题,甚至 libusb/winusb 也不是问题。但是如果是专有.sys 内核态驱动就不行了。 不过这种不常见,一般而言,要么走 HID/libusb/winusb ,要么是个 USB 串口。
kekxv 小成 2025-11-21 22:08:52
@rrubick 你先试试能不能再 Linux x86 下跑,可以的话,就用虚拟机跑 Linux x86 测试。 如果还是不行,有个邪门的方法: - 你只是要和硬件交互,也就是不需要 UI 对吧? - 那么你可以看看 c# 怎么作为一个 http 服务器提供 api 接口 - 另外,c#的 exe 可以作为库引入 vs 开发进行调用 - 然后你改完之后,可以再试试你的 windows 虚拟机 ps:既然你用虚拟机,其实可以在你自己电脑开虚拟机测试好了再去折腾你的 arm
rrubick 楼主 初学 2025-11-21 22:16:41
@ysc3839 #22 @liyafe1997 #23 我不清楚是不是内核驱动,里面包含打印机和读卡器啥的一类的。 准备先装个 arm64 的 win10 试试
rrubick 楼主 初学 2025-11-21 22:18:42
@kekxv #27 一点源码没有,只有打包好的程序,没法借鉴。
返回顶部