box86

box86编译的时候是静态编译,所以编译好后一个可执行没任何依赖直接拷贝走就能运行,注意,box86需要32位的arm库(armhf),麒麟系统有打包好的armhf库的包,可以直接用,缺的再单补。

box86做指令集转移的时候使用了大量的32位arm库来做功能替代,所以性能,尤其是图形,理论上要高很多。

WAR3启动的时候,使用

/usr/local/box86/bin/box86 /opt/cxoffice/bin/wineloader  /home/user/war3/Warcraft3/WAR3/Frozen\ Throne.exe -opengl

这种命令启动,由于客户端加了opengl参数,在linux下,基本上相当于调用原生显卡的加速性能了。

如果提示关于OPENGL库找不到的情况,加变量LIBGL_DEBUG=verbose打印一下就解决了。

上面示例用了麒麟系统自带的crossover,使用wine官网下载的32位版本的wine二级制包安装也是一样的效果。

wine-stable_6.0.4_focal-1_i386.deb
wine-stable-i386_6.0.4_focal-1_i386.deb
winehq-stable_6.0.4_focal-1_i386.deb

一般下载这三个包,解包后放一起就可以调用了。

如果程序是.net写的,那么需要单独下载wine-mono包来支持,实际测试box86 加载wine跑.net程序效率较低,应该是真的做的全部转译了。

2023.05.27update: .net程序在wine环境下可以有2个环境来打开,wine-mono和MS .net framwork。所以有wine-mono可以不用装微软.net,反之亦然。不过效率和稳定性有待做对比。

exagear

exagear一般常见于手机上,用来跑x86游戏的。这个软件原本应该是 国外http://eltechs.com/ 开发的,但最近国内HW的网站放出了带有版权申明的二进制包,只能跑在鲲鹏CPU上。不知道是不是收购了还是买了在中国的独家发行权。

下载地址

https://mirrors.huaweicloud.com/kunpeng/archive/ExaGear/

github上找到一个

https://github.com/skilbjo/exagear

不过国内也有破解这个版本的。

https://my.oschina.net/chipo/blog/5176302

https://hu60.cn/q.php/bbs.topic.102147.1.html

exagear本身带有一套虚拟文件系统虚拟环境,对应的程序默认应该没做加速,感觉exagear做的是虚拟环境,然后再做的转译。但具体细节原理还没仔细研究,后面有时间研究下。

我实际用麒麟系统自带的exagear在飞腾CPU上跑war3,感觉的确要卡一些。

后面有测试体会再记录吧,还真没怎么测试过。

BINFMT冲突问题处理

在Linux上,有个binfmt机制,可以用来设置什么类型文件用什么程序打开,box86 以及 exagear都是用来打开x86环境下程序的,因此,只要配置好这个,就可以直接在arm命令行下直接输入x86下编译的二进制程序就可以直接调用box86或者exagear来加载x86的程序,不需要输入box86的全路径来调用x86的二进制程序了,

具体的可以百度或者参考其他人写的介绍,如下面这个兄弟写的:

https://blog.csdn.net/whatday/article/details/88299482/

但问题坏就坏在box86和exagear都是一样的,同时注册会导致不确定会用哪个程序来转译。因此有必要看一下如何开关。

UOS或者debian系,可以直接查看

/proc/sys/fs/binfmt_misc

这个路径下的文件,具体含义见上面那个链接。

可以发现

PC:/proc/sys/fs/binfmt_misc$ cat x86
enabled
interpreter /usr/local/box86/bin/box86
flags:
offset 0
magic 7f454c4601010100000000000000000002000300
mask ffffffffffffff00fffffffffffffffffeffffff
PC:/proc/sys/fs/binfmt_misc$ cat x86_32_exagear_guest
enabled
interpreter /opt/exagear/bin/ubt_binfmt_misc_wrapper_x86_32
flags: POC
offset 0
magic 7f454c4601010100000000000000000002000300
mask fffffffffffffffcfffffffffffffffffcffffff

X86 x86_32_exagear_guest 这两个文件内magic都是一样的,需要修改下。

简单看了下有2个地方可以影响这个目录下的内容:

  1. systemd-binfmt.service 服务,配置文件在/etc/binfmt.d

  1. 命令行直接注册,具体可以参考上面那个链接,写的比较清楚了。在uos上安装某些windows程序,就会自动把box86 exagear都安装上。exagear有2个服务,也是做了注册exagear-x86_64-binfmt.service exagear-x86_32-binfmt.service 根据服务跟踪一下,发现就是脚本内命令行注册,要停止直接 sudo /usr/bin/exagear-manage binfmt_misc x86_32 disable 或者禁用掉服务就好了。

未完待续。

box86 exagear相关推荐

  1. android 中自定义键盘,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...

  2. android 9.0的模拟器,Exagear模拟器最新版

    Exagear模拟器怎么用?Exagear模拟器最新版是一款掌上模拟运行电脑游戏的软件,Exagear模拟器安卓9.0版本旨在让玩家能够在手机上玩电脑游戏,玩家使用exagear模拟器后,就可以在手机 ...

  3. android11obb,exagear安卓11数据包obb

    软件简介 exagear安卓11数据包obb是一款独特的模拟器程序.软件有着很经典的游戏可以进行下载运行的,而且这些游戏通过它就可以在手机上进行体验到了.对于需要的用户来说有着很优质的服务体验.需要的 ...

  4. 雷电模拟器Android obb,exagear模拟器obb数据包

    exagear模拟器obb数据包是一款模拟了真实的运营电脑运行的软件,你可以通过手机体验游戏的乐趣,还可以在手机上玩各种PC游戏,,玩家们可以直接的在手机上进行下载各种游戏,资源是非常的丰富的. ex ...

  5. android11obb,exagear安卓11数据包obb合集版

    exagear安卓11数据包obb合集版能够在手机上模拟端游游戏,兼容性特别的强大,可以运行非常多的大型游戏,想要玩端游在手机上就来这里体验吧. exagear安卓11数据包obb合集版特色: 1.模 ...

  6. 树莓派安装网易云音乐amd64(Exagear)

    先上最终效果图: 目录 0. 前期准备 1. 软件安装 1.1 安装Exagear 1.2安装网易云音乐 1.3解决APT::Cache-Start缓存不足错误 1.4安装各种库 解决中文乱码问题 0 ...

  7. android 9.0的模拟器,exagear模拟器最新版安卓9.0

    exagear模拟器最新版安卓9.0将给用户带来更加方便的游戏体验,让用户在PC端上下载喜欢的手游进行游玩,体验不一样的操作方式.同时软件可以帮助用户对PC手游进行更好的优化,如果你没有好的模拟器的话 ...

  8. android系统10.0模拟器,exagear模拟器安卓10.0

    软件简介 exagear模拟器安卓10.0游戏是一款强大的游戏模拟器,这款模拟器可以轻松的模拟更多有趣的PC游戏,可以让玩家体验到热门火爆的游戏内容,在手机端轻松的安装下载,时刻享受端游带来的魅力,感 ...

  9. X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.在 X86_64 Linux 系统下搭建 i386 文件系统 二.配置 Schroot 工具使得文件系统切换更方便 ...

最新文章

  1. 多条记录取最近日期的一条_Excel VBA:基于员工打卡记录的考勤数据统计
  2. php接口性能测试工具,PHP 应用性能优化指南
  3. 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 Category 分类注入方法 )
  4. 计算机网络原理梳理丨清晰认识 TCP/IP 协议,图解秒懂!
  5. 51nod-猴猴吃香蕉【dp】
  6. matlab 可视化界面,Matlab?的可视化界面设计
  7. C# winform 按钮 响应鼠标经过变换图片,如何处理?
  8. 阿里天池大赛实战记录之菜鸟-需求预测与分仓规划
  9. 不要轻率的问自己可以想明白可以确认的问题
  10. Java连接HBase数据库,操作HBase数据库
  11. 敬业签:备忘录在手机哪里能找到?
  12. OpenMV与Arduino通信—串口
  13. word2016论文不同章节设置页眉页码方法
  14. Leetcode刷题记录 735. 行星碰撞
  15. SkyWalking 吴晟:好的开源项目,要能解决真实且有共性的问题
  16. CSS实现图片自适应布局
  17. j2ee开发的各种技术
  18. Silverlight视频语音聊天项目
  19. 计算机班主任总结范文,中等*学校计算机班主任年度的工作总结
  20. Linux使用双向链表实现图片、音乐、视频的切换和删除功能

热门文章

  1. 01-10-Hadoop-HA-概述
  2. [乐意黎原创]2019年最新WinRAR 5.71 中文64位版去除烦人的广告的解决方法
  3. 四元数和欧拉角的yaw转换
  4. QR分解(正交三角分解)
  5. 美团盈利,是战略忽视还是策略轻视饿了么?
  6. 糖果Y8 Max手机刷机原厂线刷包msm8917附教程
  7. python模拟浏览器上传文件_Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)...
  8. 无线智能插座实物连线说明
  9. 使用openCV比对任意两张图片的相似度(亲测较准确)
  10. kbengine配置mysql_KBEngine如何配置