Surface Go平板在Win10系统下的表现我认为还是比较出色的,x86架构CPU意味着不考虑性能的情况下,台式机上能跑的程序,这台平板也能跑,新Galgame一出就能直接安装上躺床上玩,妙哉。

但遗憾的是现实世界还是要考虑性能问题的,这平板玩Galgame在转场动画都会肉眼可见地掉帧,虽然不影响食用,但还是足以证明这板子配置是真的差,我还是很想挖掘一下这板子的游戏潜力的,不然只能推个Galgame也太可惜了点(其实还能玩玩Helltaker的)。

因此我就试着给板子安装上了Android系统,这个笔记就是用来记录我这一年来折腾的点点滴滴。

市面上可以在x86架构CPU上安装的Android系统有很多,除了Android x86这种比较原生的系统以外还有BlissOS、PrimeOS、凤凰OS、RemixOS等,此外还有FydeOS这种虽然不是Android系统但也可以直接运行Android程序的系统可供选择。我安装的是Android x86,虽然BlissOS有专门针对Surface系列的适配版本,网上也有很多人夸另几个系统,不过我还是很倔强地选择了不一样的路。

我一共尝试装了Android x86的一下几个版本(按时间顺序):8.1、CM14.1、7.1、9.0,之前在台式机上装过一个模拟器是Android 5.1,本来想装个看看但镜像不知道为啥下载下来没法用,所以没试,而且现在模拟器都开始用7.1了嘛。

Android 8.1

Android 8.1是我最开始(2019年6月)装的系统,装它的原因是因为它当时在Android x86官网下载列表的最上面,有挺多小毛病的,比如平板物理键时不时就不灵了,电源键没法长按的,有时开机后触摸屏会失灵(好像已经有解决方案了),有时不认触摸板不显示鼠标,有时候系统会一睡不醒,wifi也会时不时地不能用等等

不过,游戏能玩了啊啊啊啊啊啊啊

以下是应用测试情况,大部分是一年前的数据了所以可能没啥参考价值:

王者荣耀,能玩

绝地求生:刺激战场,很卡没法玩,当时好像还没改名

绝地求生:全军出击,能打开,因为低等级没法进训练场(就没见过这种设计)所以随便开了一局结果伞还没打开就说我故意绕过模拟器检测机制封了一年,所以是不能玩

崩坏三,能玩

明日方舟,能进去,不过密码忘了所以没具体玩

多多自走棋,直接打不开

BanG Dream,能玩

(近期测试)双生视界,2020年4月大更新前能玩,大更新后开始频繁闪退

(近期测试)公主连结R,能玩,但是战斗场景很容易让解码进程崩溃导致后续整个游戏崩掉,推测是显卡驱动问题

B站与Taptap,打开1秒后自带报错,做特殊处理后能正常运行

(近期测试)微信,无法安装

因为大部分Android设备都是用的ARM架构的CPU,很多Android应用都只带有ARM指令集的二进制库,这种二进制库在x86架构的CPU上无法运行,因此x86的Android系统需要一个名叫houdini的东西来模拟ARM的CPU来运行(据说是国内的intel分部写的,不保证真实性)。

Android x86的作者已经将houdini打包好并针对各个版本的Android x86系统做了调整,但Android x86的镜像中并不自带,需要在安装系统后以root身份执行enable_nativebridge命令手动下载打包好的houdini.sfs文件。

houdini.sfs分xyz三种,x是用32位x86指令集模拟arm32,y是用64位x86指令集模拟arm32,z是用64位x86指令集模拟arm64,如果安装的是64位系统,enable_nativebridge脚本会自动下载y包,否则会下载x包,如果执行的是enable_nativebridge 64,则会去下载z包,不过从Android x86 从8开始就没有z包了,也就是说8和9是没法安装只使用arm64库的应用的,这也是为什么微信没法安装的原因。

不过虽然Android 8没有模拟arm64但有Vulkan,这个是7没有的。

双生视界大更新后闪退是因为程序员新打包的apk中删掉了x86的库导致系统要模拟arm运行,就这个频繁闪退的情况来看,Android x86 8.1对arm的模拟效果还挺差的……

B站与Taptap需要做特殊处理是因为这俩客户端自带一小部分x86的库,但不完整,缺了挺多库,所以安装后启动会因为缺失库文件报错闪退,我修改build.prop文件让系统安装器优先安装arm的库,重装再启动一次再把优先级改回来就能正常运行了。如果不先启动一下直接把优先级改回来,它们程序里的SoLoader库就会根据优先级重新把x86的库搞回来然后再报同样的错误闪退……有点傻傻的

这个系统使用中途我更新了一次,从r2更新到了r4,直接把我system的读写权限更没了……研究了下怎么把system挂载成读写的,需要一点linux的知识,回想那堆我tabtab就能出来的命令挺麻烦的就不写具体命令了:

首先挂载Android系统所在的分区,进入分区后有个Android啥啥的文件夹,再进去应该有个system.sfs,好像是这个名,把这个sfs文件解压会有个system.img文件,接下来

接下来把system.sfs删掉重启就好了

因为它判断system目录挂载读写权限的逻辑就是判断有没有sfs有就挂只读没有就去找img挂读写

如果想改回只读的话,就自己再压缩成sfs文件呗,如果没做啥修改用安装镜像自动升级一下也行的

注:这个是8的方法,7好像是直接解压成system文件夹

Android x86 CM 14.1

这个是最近几天(2020年7月25日左右)装的。

直接说结论,兼容性最好的Android x86系统没有之一,推荐使用。

看了下init.sh,里面已经包含了修复触摸屏失灵的代码。

电源键直接没法用,从根本上解决了锁屏睡不醒的问题(笑)。

音量键会被系统识别成实体键盘,如果想要在摘下Surface的键盘后让系统正常弹出虚拟键盘,需要屏蔽音量键,具体做法是在grub配置文件里在系统的kernel那一行加个i8042.nokbd参数,不过Android x86默认的配置文件……稍微有一点点绕,但读懂了还挺好用的。

如果3秒没有声音播放声卡就会休眠,再播放声音时就会爆音,可以在init.sh的Surface*Go这一行下面加一行

echo 0 > /sys/module/snd_hda_intel/parameters/power_save

来解决,意思是关闭声卡的省电功能

触控板与wifi好像也不会掉了,至少现在没掉过,就是触控板体验不是很好,win下触控板是有误触判断的,Android那边一碰鼠标就乱飞,而且指针加速没得关。

但是首先CM14.1是基于Android 7.1的,它是有houdini的z包的,也就是说绿色修改器(指微信支付)能装了,而且它对arm的模拟也挺完美的,至少玩双生视界比Android8流畅而且没有闪退。

但是会让整个界面卡死……

看了下游戏崩溃的log,提示是Failed to create agent because it is not close enough to the NavMash.然后后面跟着各种取向量除以0空指针报错,我寻思贴吧那边也没有谁说有卡死的问题,所以估计着是houdini又搞了啥幺蛾子,可能是浮点数模拟出问题了,试着用x包代替y包,游戏没再报错,但是没那么流畅了,又试了下Android x86 6.0的houdini的y包(中间也试过8和9的y包,不过都没法用),这次是既流畅又不报错了,完美

不过公主连结R还是一如既往地会把解码进程mediacodec搞崩,看来这个不是很好修,主要还是平板配置太烂了

之后又测试了几款游戏,有崩坏2(x86)、崩坏3(x86)、明日方舟(有x86但不知道为啥会装成arm库)、万灵启源(arm)、战双帕弥什(arm),都能运行的很稳定,B站客户端也可以直接安装运行了,爽了。

微信装了能进到登录页面,不过听说微信封模拟器比较凶就没尝试登陆,我有tx封模拟器ptsd了。

不过CM14.1有个稍微严重的问题,就是运行大负荷任务时会时不时整个系统卡住一下,公主连结R在Loading时出现过几次卡很久的情况,B站打开视频时出现过一次差点把系统卡崩掉的情况,其他游戏倒只出现过稍微卡1、2秒的情况,目前不清楚原因在哪里,对我来说只要不闪退啥都好说。

Android x86 7.1&Android x86 9

在解决CM14.1双生视界崩溃问题的时候我曾尝试换了下这俩系统,结果……挺惨的,Android x86 7.1对arm的模拟效果还不如Android x86 8.1(明明CM14.1就是基于7.1,迷惑),而Android x86 9干脆系统应用直接不停地弹报错,根本没法用(Android x86 9安装时格式化弹了个已格式化132%把我吓不轻)

最后,因为我上面提到自己手动更换houdini了,所以说一下如何手动下载houdini包:

http://dl.android-x86.org/houdini/6_y/houdini.sfs

把链接中的6_y改成需要的包,比如Android 7的z包就是7_z,下完还需要自己根据自己的系统在结尾加上6_y、7_z这样的标签,变成houdini7_z.sfs这样

下好后传到Android里,su获得权限进入/data/arm目录,如果没有需要自己mkdir一个,把刚下好的sfs文件放进去,执行enable_nativebridge

如果这次是覆盖安装,需要执行以下命令

xy包

umount /system/lib/libhoudini.so
umount /system/lib/arm
enable_nativebridge

z包

umount /system/lib64/libhoudini.so
umount /system/lib64/arm
enable_nativebridge 64

明明一样的程序为啥有的系统就报错有的就正常运行呢_SurfaceGo Android系统折腾笔记...相关推荐

  1. 64位系统运行报错:1%不是有效的win32应用程序解决

     问题一:aspx运行报错:1% 不是有效的 win32 应用程序 aspx环境配置完毕后,运行html成功,但运行aspx就报错,错误提示是"1% 不是有效的 win32 应用程序&q ...

  2. Win7系统经常报错怎样解决?

    最近Win7系统经常报错,但不知道什么原因做成,又不想重装系统,如何找出报错的原 其实我们可以通过事件查看器查看错误日志,可以了解造成系统错误的具体原因! 1.在"开始"中右键,找 ...

  3. 最佳Android系统 | 运行在台式机、笔记本手提电脑的安卓Android系统

    最佳Android系统 | 运行在台式机.笔记本手提电脑的安卓Android系统 适用于PC 2019的最佳Android操作系统 2022年2月1日 团队技术探索 Android 您是否知道,即使有 ...

  4. Hbuilder无法完成应用程序云打包,一直报错需要打包校验

    解决办法: 不要在上述链接中进行验证,因为会一直收不到手机验证短信. 在 https://dev.dcloud.net.cn/user/profile 中进行验证,亲测有用. 相关链接 1.MUI的简 ...

  5. 关于win10系统还原报错的解决方案

    ** 关于win10系统还原报错的解决方案 ** 今天我重装Oracle时,老是报错,上网搜了一些解决方案,懵懵懂懂,想起装之前在系统上创建了还原点,何不还原它呢? 但还原操作时遇到了这样的问题: 卷 ...

  6. 年度最佳Android系统 | 运行在台式机、笔记本手提电脑的安卓Android系统

    2019的最佳Android系统 | 运行在台式机.笔记本手提电脑的安卓Android系统 适用于PC 年度的最佳Android操作系统 2019年3月1日 团队技术探索 Android 您是否知道, ...

  7. win7系统无法解析服务器的dns地址,怎么办Win7系统网页报错“无法解析服务器的DNS地址”...

    最近一些重装系统的用户在运用Win7系统时,翻开网页提示错误:"无法解析效劳器的DNS地址",招致网页无法翻开.遇到这种状况应该怎样办呢?下面小编教大家Win7系统网页报错&quo ...

  8. 【错误记录】VMware 虚拟机报错 ( 向 VMWare 虚拟机中的 Ubuntu 系统拷贝文件时磁盘空间不足 ② | 删除交换空间 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 [错误记录]VMware 虚拟机报错 ( 向 VMWare 虚拟机中的 Ubuntu 系统拷贝文件时磁盘空间不足 ) 博客中 , 给出了解决方案 ...

  9. 使用uniapp做微信小程序,在小程序编辑器运行时编译报错:appid不合法,导致启用不了。

    使用uniapp做微信小程序,在小程序编辑器运行时编译报错:appid不合法,导致启用不了.这个好坑爹啊,我这么淑女的小可爱都想骂人了,我好累,写个博客发泄发泄吧! 复现我的问题:神操作--代码跟别人 ...

最新文章

  1. 基于octree的空间划分及搜索操作
  2. Python爬虫xpath详解
  3. OpenCV创建小部件Creating Widgets
  4. mastercam加工报表生成_听说最厉害的工程师才敢这样玩五轴加工?
  5. Use grep to report back only line numbers
  6. 23种设计模式之模板方法
  7. Java案例:装载与发射子弹问题
  8. 如何选择学习主流程序语言(一)
  9. Jhipster创建微服务【0】——踩坑
  10. sass08 if while for each
  11. 苹果系统备份文件服务器地址,IOS备份到tftp服务器和升级IOS
  12. 计算机主机的税收,税控电脑
  13. arcgis调整图框线宽
  14. Office 2007卸载
  15. Boxy SVG for Mac版矢量图编辑软件
  16. 词法分析器的生成器——lex/flex
  17. Dubbo源码分析-Spring与Dubbo整合原理与源码分析(二)
  18. 计算机之父冯·诺依曼
  19. MySQL启动服务提示:某些服务在未由其他服务或程序使用时将自动停止
  20. Tita绩效宝:员工绩效考核终极指南(2022 年新版)

热门文章

  1. 怎样实现banner自动播放html,纯CSS3实现banner图片自动轮播效果方式总结
  2. XGBoost、LightGBM与CatBoost算法对比与调参
  3. html显示和隐藏不占空间的是什么,css怎么设置不占用空间的隐藏?
  4. oracle00011,oracle11g 导出表报EXP-00011:table不存在。
  5. android 包裹内容,Android开发中Bundle用法 包裹数据
  6. 华为云电脑和马云无影比_阿里云打造未来电脑无影,却因为5G限制,很难达到普及...
  7. 《鸿蒙理论知识06》HarmonyOS概述之应用开发基础知识
  8. 一文教你学会需求分析与管理
  9. Shiro-550反序列化漏洞复现
  10. moment 24小时与12小时区别