手机运行PC应用
注意⚠️:
1.在教程开始前,*请确保操作的设备能够顺利连接到 GitHub
2.设备的soc最好是高通骁龙,且GPU至少为Adreno600系
(845+、710+,662+、480+)
3.建议在WiFi环境下操作。
前年,我在酷安上看到一篇教程,跟着教程走顺利在手机和Vpad上跑Debian运行PC应用。如今,有了更好的解决方案,那就用新教程复刻老方案吧,上手起来更简单,门槛低,现有的教程也很清晰。期间查阅了一下其他用户在使用mobox时遇到的问题和解决方案,尽量做到一篇内容讲全,但问题会越用越多,讲是肯定讲不全的。
先介绍一下以下内容涉及到的一些应用
Termux:
Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager.
Termux是一个Android终端模拟器和Linux环境应用程序,直接工作,无需root或设置。一个最小的基本系统是自动安装的-其他软件包可使用APT软件包管理器。
Termux:X11:
Termux:X11 is a fully fledged X server. It is built with Android NDK and optimized to be used with Termux.
Termux:X11是一个完全成熟的X服务器。它使用Android NDK构建,并经过优化以与Termux一起使用,是Termux的一个图形化项目。
InputBridge:
虚拟键盘
简单来说,Termux是一个 Android 终端仿真应用程序,用于在 Android 手机上搭建一个完整的 Linux 环境。不需要 root 权限 Termux 就可以正常运行。Termux 基本实现 Linux 下的许多基本操作。可以使用 Termux 安装 python,并实现 python 编程,可以用手机架设 Server,同样可以用于渗透测试等等。Termux:X11可以看作是一个虚拟的显示器,用于显示Termux上运行的内容。InputBridge就是给没有外接键盘的用户使用的虚拟键盘。
本文涉及到的 App 下载链接🔗
https://www.123pan.com/s/xEXZVv-2poU3.html
下面来说一下手机转译PC应用的思路。(引用极客湾)
只要构建一个Linux环境,用类似Box86的工具来翻译X86指令给ARM运行,再借助Wine来搭建一个Windows的运行环境,这样的话Windows的应用就能在手机上运行了。
我们用到的项目叫mobox。这是一个旨在使用 Box64 和 Wine 在 Termux 中运行 Windows x86 应用程序的项目,它集成了上面步骤需要用到的组件,我们只需要在Termux上安装好mobox,就可以正常使用了。
查看mobox在GitHub上的官方文档,我们可以看到如何安装mobox。
我们先打开Termux,粘贴我们复制的代码
curl -s -o ~/x https://raw.githubusercontent.com/olegos2/mobox/main/install && . ~/x
在初次运行时,它会向我们索要存储权限,我们点击“允许”
继续运行,它会出现选择项,我们选择2
(wow64版本可以同时运行32位和64位的程序,box86不行。)
经过漫长的等待,mobox已经部署完成了。
此时我们在页面输入“mobox”,进入mobox的界面
1.启动Wine
2.设置
3.管理软件包
4.选择当前Wine容器
5.更改box64内部版本
6.补丁程序注释(自述文件)
进入 Settings,我们要根据自己的实际情况在这里进行一一设置。
1.Dynarec settings
这里有两个设置内容,我们把 presets 和 additional preset compatibility flags 都设置为“性能档”(即在最下方分别输入4和5,其实就是45)
2.Wine prefix settings (+ESYNC)
选择2 Change wine esync mode
这里,如果你的设备已经 root 了,就选择3,没有 root 的话,就选择2
3.DXVK settings
主要更改垂直同步,其他的不用管也行。
选择2,把垂直同步关掉,不然有些游戏的帧数解不开(dxgi=0 no vsync这个)
4.System settings
先进1 Change fallback resolution,把分辨率改成1600x720,这样可以撑满手机的宽屏。不过这个只是回退分辨率,我们待会还要去 Termux:X11那里再设置一遍。
然后进入2 Change primary cores amount,这里是设置大核数量。具体设置多少要视你设备的 soc 来定。例如骁龙8 gen 3就是6大核的设计,那就选6。
接着进入3 Change locale 改变语言环境
中文环境就是 zh_CN,默认是英文,不改也行。(一般来说英文比较好)
注意:要自行导入中文包(后文有)
Change HUD preset 的话是性能监控器,根据需要开启,全开的话就选3
5.Root settings
此时,我们回到设置页
如果你的手机有 root 的话,那就进入6 Root settings,选择第二项和第四项,这样可以有效使 Termux 保活(因为运行时 Termux 是在后台运行,前台的是 Termux:X11)
没有 root 的话要么听天由命,要么去电池设置里允许后台高耗电(忽略电池优化)、前台贴边小窗和锁后台抢救一下,有能力的话用 adb 命令也行。
6.Device compatibility settings
这是兼容性选项的页面,我们选择3 Switch services,.exe startup,关掉 services.exe 减少占用。
7.Manage packages
一些应用只能在特定的Wine 版本下运行,我们可以进入 Manage packages,选择2 Install wine
选择想更换的 Wine 进行下载。
下载完之后还要回到主界面进行版本的更换
选择4 Select current wine container
输入要更换的wine包
**8.VirGL settings(MTK&Kirin SOC)
**
如果你使用的设备并非高通骁龙的soc,而是麒麟和联发科的,那么就需要用到这个设置去模拟一个GPU。
我们进入VirGL settings,可以看到我们目前是没有安装VirGL的,我们需要在下面选一个版本进行安装。
或者进入 Wine 之后再切换
(后文的切换步骤就不用做了)
设置一:(start>install>dxvk>wined3d-8.20)
设置二:(start>install>turnip>VirGL Mesa 24.0.0)
至此,Termux 的相关内容已经设置完毕了,现在要设置 Termux:X11
点击“PREFERENCES”进入设置页面。
点击最上面的“Display resolution mode”,选择“custom”
然后在“Display resolution”把分辨率改成1600×720,也就是在 Termux 设置过的参数。(真正的分辨率)
为了让屏幕不留黑边全屏运行,我们可以把这几个开关打开。
(如果是搓屏幕操作的话可以不开,这样软件键盘可以调出来)
如果你是外接鼠标的话,需要打开这个开关。
键盘的话,这个关掉。
至于其他设置就根据自己的需要再单独弄吧。
至此,Termux:X11 的相关内容已经设置完毕了。至于 Inputbridge ,自己摸索一下就行了。可以把应用内语言改成中文,然后按需设置。
(更推荐外接键鼠,舒适度高很多)
现在,我们回到 mobox 的界面,选择1 Start Wine,点击“OK”,启动 Wine。
进入到 Wine 的主界面
触屏手势操作:
多选:长按空白处滑动
右键:双指点击
滑动:双指滑动
我们可以在菜单页面选择切换一下dxvk的版本,用dxvk-dev会比较好(骁龙用)
我们的手机文件是显示在D盘和Z盘,D盘的话打开就有,Z盘的话路径为
Z > home > storage
看到 storage 就熟悉起来了。
不过要注意,因为我用的系统语言是英语,因此在显示中文时会有一堆“□□□□”,这是正常现象,平时我们也要养成用英文命名文件夹的好习惯噢🤓☝️
接下来是中文包的安装
下载好网盘里“zh_CN”的压缩包,解压。
全选里面所有的字体文件,复制
粘贴到 C/windows/fonts,然后重启 Termux 和Termux: x11,中文字体包就安装完成了(但还是会有部分内容显示不了的情况,可以自己试着多加几个字体)
接下来我们可以打开C盘,Program Files,尝试运行IE浏览器
可以看到(.exe程序)是能够正常运行的
要装其他应用的话应该是把应用程序文件下载到手机本地然后复制到C盘启动。(个人感觉最好是把整个应用压缩包直接存手机上复制过去,里面的安装过程会很卡,比较折磨人)
提前下载好应用程序,复制到 C 盘,然后正常安装启动就行。
当然如果你愿意,你可以在上面装一个安卓模拟器,然后无限套娃。
因为手机转译PC应用的过程会损失较多性能,一般来说除非你用的soc是最新款的旗舰,不然可能跑大型游戏挺够呛的。最常用的场景貌似是玩GalGame?我用我的x90pp(8gen2)和vpad2(D9000)都试了一遍,基本上就是勉强能玩的水平,和PC还是比不了的。正经玩游戏的话还是用电脑吧。
关于各位可能遇到的一些问题:
**
**
第一,开始的时候一直卡在Storage permission denied?
因为资源在海外,试一试换个好一点的节点,保持网络通畅
第二,不知道设备soc的型号/大核数量?
百度,必应,谷歌,搜狗,360,注意是大核数量不是整个soc的核心数量!
(超大核也算大核)
第三,Wine只有C盘和Z盘?系统内无法更换dxvk版本?
换个Wine版本,上面教程有操作方法
第四,双击应用没反应?
和麒麟天玑一样改成其他的 DXVK 和 Turnip 驱动,直到成功为止
第五,人格……🤓☝️
至此,全文结束。
剩下的部分就由各位自行去探索。
让游戏能玩比玩游戏本身更具有乐趣。
一起享受这种离经叛道的折腾过程吧!