在草民的影响下【雾】,常来贵协的五位强者都购买了 Windows 系统的平板用于打发无聊的上课时间。加上草民室友的一台,草民总共把六个人带进坑了 23333
Momo8W
草民去年三月份购买了一台 Momo8W。399 元,2G 16G。奔着 2G 内存和低价去的。那台平板现在看来着实很让人省心,速度也比较理想,勉强能跑动一个 PyCharm 或者 WebStorm,上课用来写代码十分愉快。
周围的强者们大多数也购买了配置方案相近的平板。Z3735F,2G 内存,32G 存储空间,8 寸或 9 寸的屏幕。黄大人后面买了一台更新一些的,Cherry Trail 方案的平板,不过其他配置也类似。
之前有给 Momo8W 定制系统的经验,草民分别制作了纯净版和包含 Office 2013 / 2016 的 Windows 8.1 Update 3 和 Windows 10 Th1 的 WimBoot 映像。目前有三位强者正在使用草民定制的映像 2333
X98Plus
看到贵协某位强者从狗东购买了一台 X98Plus。把玩十多分钟,感觉做工之类都还不错,而且新一代 Atom + 4GB 内存啊。不过 Windows 10 略卡。
想到草民的 Momo8W 上 Windows 10 之后的体验也很差劲,觉得把这平板搞上 Windows 8.1 应该就万事大吉了,于是果断的买了……
这款平板的配置大致如下:
- Atom x5-z8300,Cherry Trail 方案
- 4GB DDR3
- 64GB eMMC 5.0
- 9.7 寸屏幕,2048x1536
- 铝合金外壳
- Android 5.1 + Windows 10 Th1 双系统
狗东售价 1099 元,附件只有一个充电器,2.5A 的,做工很是一般。顺便买了一个价格 40+ 的皮套,怎么看也不像是价值 40 块钱的东西。
顺便出手 Momo8W,251 块,顶了树莓派的缺口。树莓派的坑之后再填 2333
First Trouble
平板的自带系统是 Win10 Home,版本是 Th1。这个版本众所周知坑的一笔,Bug 非常多而且流畅度感人,根本不能完全发挥硬件的性能,而且稳定性也不怎么样。正常体验前必然要干掉这个系统,装回 Win8.1 Update 3。
当天晚上就迫不及待的打算干掉 Windows 10。
首先进了自带的 WinRE。蛋疼的发现 RE 居然不支持触屏,也不知道为什么……接上 Hub,用 Dism 提取了全部驱动,格掉 C 盘,直接用传统方式部署 Win8.1 Update 3 x64 的映像,然后再注入刚才提取的全部驱动。系统顺利安装完成并启动,然而大多数硬件都不能工作。查看设备管理器发现,UART GPIO I2C 等一系列总线全都无法正常工作,设备管理器中显示“正在等待其他设备启动”或者干脆就是“对象实例类型不符”。估计这里的对象是指 NT 内核中的 Object,那可太底层了。
看来驱动程序不支持 Win8.1。没法子,看来只能先装 Win10 用,之后再考虑找一找 Win8.1 能用的驱动,或许可以用 Surface 3 的驱动包。于是随便定制了一个 10.0.10586.164 映像,然后用 WimBoot 方式进行部署。
定制映像的过程倒是不算太难。在台电官方论坛上找到了驱动包,直接用 Dism 整个注入到目标系统中。然后按照要求把触摸屏驱动里面的 TouchSettings.gt 文件复制到 %windir%\Inf 目录里面,之后就简单的做一些分离 WinRE、清理、打包之类的工作就可以了。
此处应有驱动包链接
First Experience in Windows
部署好一个基本上能用的系统之后,终于可以开始体验过程了。
体验两天,用起来效果还算不错,虽然还是远远不如上了 Win8.1 的 Momo8W 舒坦。
首先想说的肯定是据称是 iPad Air 同款的屏幕。2048x1536 的分辨率意味着不可能像 Momo8W 那样不打开高 DPI 还能愉快使用。系统默认开启了 200% 的 DPI 缩放,改为 150% 感觉更好一些。Win10 对高 DPI 优化还算凑合,UWP 应用都能够完美支持。至于传统应用,简单列举一些用到了的程序。
能够顺利支持高 DPI 的传统应用:
- JetBrains 全家的 IDE 非常完美支持高 DPI。UI 字体用微软雅黑 18,编辑器用 Consolas 22,体验完美。
- Git 自带的 MinTTY MingW32 终端。同样用 Consolas 字体,也是非常愉快。
- Chrome 不用做什么设置就能完美支持高 DPI。
- VS Code 同样不用做什么设置就能够支持高 DPI。
- 7-Zip 版本是最新的 15.12 x64。工具栏的图标比例好像会变小一点点,结果是界面看起来更加顺眼了 23333
不能顺利支持高 DPI,会因缩放导致界面模糊的传统应用:
- MMC 也不知道微软怎么想的,自带程序都不支持高 DPI。设备管理器糊成一片,安装驱动的界面甚至因此出现一条白线……
- MongoVUE 虽然是个 .NET 应用,然而并不能支持高 DPI。
- BootIce 草民常用的启动管理工具。虽然这东西并不需要支持高 DPI 吧 2333
- DiskGenius 和傲梅分区助手 另外一个分区工具 MiniDisk 就支持高 DPI,不过看起来跟 7zip 是一样的。
- OpenVpn 客户端 连菜单都是糊的。
我想顺便吐槽一下为什么 Windows 下就没有一个又能改 GPT 分区名称又能把分区格式化为 Ext4 文件系统的分区软件呢……后面会提一下如何正确的在这个平板上进行分区
似乎找到了一些规律,可能通过 Windows SDK 编译的软件都不能顺利支持高 DPI,会用模糊的方式显示。用 Mingw 或其他源自 GNU 工具链编译的软件会用错误的方式支持高 DPI。可能 Windows SDK 带的工具链或者图形 API 比较老吧 23333 感觉好像能从中发现一些理解 Windows 图形层设计的线索。
触摸屏体验一般般。没有什么特别需要多说的。
屏幕背光亮度不算很高,不如 Momo8W。毕竟屏幕尺寸大了不少。Momo8W 大概是让人比较愉悦的那个水平,100% 足够亮,40% 正好,0% 不太暗。X98Plus 在光线稍微亮一点的地方都需要至少 40% 亮度,否则很难看清黑色背景下的内容。
性能方面,得益于 4GB 的内存,可以较为愉快的同时跑两个 JetBrains 的 IDE,同时保持跟开一个差不多的速度。然而开一个的流畅度基本上是忍耐下限……还不如 Momo8W 的水平。
另外,可以很明显的感觉到图形性能非常非常糟糕。Windows 下或许是根本没有正确支持硬件加速还是什么,连 DWM 的动画都能看到掉帧。为了正常使用,不得不关掉开始菜单和通知中心的背景半透明效果。Android 下差不多,后面会专门提到。顺手跑了下仙四,系统应该是自动应用了 150% 的 DPI 缩放……无语。不过基本流畅倒还是能保证。
续航方面,屏幕亮度不怎么样,然而耗电量十分感人。大概的感觉是,100% 亮度下待机只有 25% 亮度下的一半。如果亮度开满再跑个 JetBrains 的 IDE,烧电速度会接近两分钟 1%。一般情况下开 50% 亮度跑一个 JetBrains 的应用,续航估计时间大概能跟 Momo8W 一致,也就是六七个小时。不过充电速度非!常!慢!Momo8W 插在小米插线板的 USB 口上,两个小时能从没电充到 60% 以上。这平板……基本上别想指望着像 Momo8W 一样,每天早上充两个小时、中午充两个小时,然后用到吃晚饭。两个小时大概也就能充个不到 20%。另外也别想像 Momo8W 那样插上小米移动电源玩……基本上充不进多少电。
Windows 的体验总结起来就一句话,能用,凑合。
First Experience in Android
双系统平板,体验一下 Android 自然也是很必要的。而且这个 Android 用起来还是挺愉快的。
这款平板带的 Android 应该是台电在 Intel 官方的 Android-IA 基础上进行了简单定制的版本。体验接近原生,不过自带一大堆什么爱奇艺百度搜索百度浏览器之类的……倒是都能删掉。很让人感到意外的是系统中居然带 Google 服务套件,而且可以正常使用。这是不想要水表的节奏了吗 23333
底部虚拟按键栏,在三大金刚键周围又加了截图、音量加减、菜单四个按钮。截图和音量键图标分辨率明显太低,看起来很模糊。而且一堆按钮挤在底下看起来很丑,我特别想全部去掉,只留原生的三个。
Windows 下图形性能很差,Android 也没好到哪儿去。滑下通知栏都能感觉到掉帧……动态壁纸也会掉帧……醉的不行。
Windows 下尚可的触摸屏在 Android 下就变得不算很灵敏,滑动偶尔会被当成点击(这跟我的墨迹完全不一样,那个老是把点击当成滑动)。
用了没多久,在台电论坛上看到了某个玩家 DIY 的一个版本,于是刷入。这个版本的特性包括 Root、一部分优化、删除大量自带软件等等。用起来愉快的多,速度上比起之前的官方版本也有一定提升。装了一些比如网易云音乐之类的软件,用起来也基本上足够愉快,于是一直坚持用了下去。然而这个版本还是有一些问题,比如 SD 卡只有提权为 Root 之后才能写入等等。
试图装 xposed 框架。用了几个不同的安装器均未果,计划重新刷 Recovery 然而没找到能用的就放弃了。有人说装入 xposed 框架后不能顺利启动会卡在 logo 处,估计是因为系统的内核是 64 位而 Android 却整体运行在 32 位下的原因。我真不知道为啥 Intel 的 Android-IA 要这么搞……又不是 Windows。简直浪费
值得一提的是,在平板上装了 Pocket Git 和 MarkdownX,用来在这里写博客还是很愉快的。
Build Customize Windows 10 Image
对于系统的映像,其实这一段也没什么特别要讲的,很常规的步骤而已。
- 到官方论坛下载 Windows 10 的驱动包。
- 用 Hyper-V 创建一个虚拟机,装 Windows 10 x64 上去。
- 装 Office 2016。不建议安装更新,没啥意义,然而会多占用不少空间。
- 装 KMS 工具,然后简单清理。
- 利用 Sysprep 进行一般化。在系统审核模式下删除当前用户数据。
- 挂载 Hyper-V 的 vhd 映像文件,用于下一步的离线处理。
- 下载 Windows 10 的累计更新集(一系列 msu 文件),用 Dism 离线集成到系统中。
- 用 Dism 进行深度清理,包括删除各种临时文件、更新组件存储等。
- 用 Dism 离线集成驱动程序。
- 将驱动包中附带的 TouchSettings.gt 复制到 %windir%\Inf 目录中,以便正确配置触摸屏。
- 抓取映像,按需选择是最大压缩映像或 WimBoot 映像。
定制 WinRE 映像的步骤也差不多,不过可以去掉很多驱动程序,比如好几百 MB 的显卡驱动程序。
然而在这个过程中会有一些谜一样的坑:
- Intel 显卡驱动。性能实在是太让人沮丧了。正常情况下加载完显卡驱动屏幕就会倒置过来……结果导致触摸屏也要配置成倒转才能够正常工作,定制 WinRE 映像的时候一定要注意到这一点。
- 触摸屏。除了因为显卡驱动 sb 导致的倒转配置之外,还有很多谜一样的坑。给另一位强者部署我定制好测试过正常的映像,过去屏幕就漂移……而且进 Android 正常,进 Windows 就会飘。同样是 A5C8,两台机器的触摸屏配置居然不能通用。到了 A6C7 也是一样,真是日了狗了。
- Windows 10 自己的问题。这个真不想解释……微软 Bug 最多的系统没有之一。直到十几天之前微软发布 10586.218 累计更新之后系统的稳定性才勉强及格,然而还是不如 Windows 8.1 Update 3……至于 RS1 的预览分支,别抱啥期望……流畅度差不多甚至还稍微糟糕一些,Bug 多到上天……
我分别制作了 10586.218 WimBoot 方式和 Compact 方式的 Wim。对于 RS1 预览版我只制作了 14306 的 Compact 映像,用于简单的比较。
部署方式上,要说体验的话,WimBoot 的使用体验似乎要优于 CompactOS。可以比较明显的感受到两者流畅度的区别。然而并不理解这是为什么,可能是 WimBoot 驱动程序使用的算法需要的内存带宽相对低一些……没有做过深度验证,只从体验出发,推荐用 WimBoot 方式进行部署。
至于正式版与预览版的比较,只能说目前 Th2 正式版还能忍,更新了一些累计更新之后使用体验也是在逐渐上升的。RS1 卡不说,Bug 也多,开始菜单空空一片实在是不太能忍……分分钟卸掉。
最后选择的部署方式是 WimBoot 方式的 10586.218。总系统占用空间包括页面文件和两个休眠文件大概是 10GB 左右,速度基本上可以接受。
Partitioning
用了几天,感觉 Windows 只有 33GB(32.6GB 系统盘加上一个几百 MB 的分离恢复分区)太小,而 Android 有 20G 太大。考虑之后打算重新分区,将原来分离的恢复分区作为可见的数据分区用来装一些软件之类,容量暂定为 C 盘 20GB、D 盘 20GB,剩下的 Android 几个分区分一分,Data 区 15GB 应该不成问题。实际做起来也就是把 Android 的 System 和 Data 两个分区删掉,把后面 Windows 的两个分区删掉,然后重新计算容量创建分区就可以了。
然而分区比我想象中困难的多……打开磁盘管理,瞬间一脸蒙逼。面前摆着 15 个分区,你们感受一下……
硬着头皮上吧。找了个 XUbuntu 的启动盘准备开 GParted,然而过程又是一大堆坑。
首先启动到 xubuntu 就是个麻烦。我居然忘掉了 Intel 的坑爹显卡驱动问题,直接让平板启动,然后不算很意外的,启动 X 之前的一瞬间系统崩溃了……然后让内核带 nomodeset 参数启动,顺利进入 X,当然分辨率就比较感人了(然而居然不卡)。打开 GParted 的时候我就看到了下面那个分区列表……
按 GPT 名称顺序排,分区是这个样子的:
- android_bootloader 应该是个 EFI 分区,100MB。
- android_bootloader2 探测不出文件系统……什么鬼。100MB。
- android_boot 我猜这个是内核吧。30MB,未知文件系统。
- android_recovery Recovery 吧,30MB,同样未知文件系统。
- android_misc 不知道是什么,1MB,还是未知文件系统。
- android_metadata 也不知道是啥,16MB,还是未知文件系统。
- android_system System 分区,2.5GB 左右。文件系统居然是 Ext4。
- android_data Data 分区,20GB 似乎。也是 Ext4。
- android_cache Cache 分区,Ext4。2GB,好大。
- android_persistent 1MB。。。似乎跟 Android 的设备保护功能有关。
- android_config 16MB,Ext4,存了点配置文件吧貌似,没进去看过。
- Basic Data Partition 看见第二个 EFI 分区的时候我一脸蒙逼。。。100MB。
- Microsoft Reserved Partition 就是 MSR,16MB。
- Basic Data Partition Windows 下的 C 盘,32.6GB。
- Basic Data Partition 分离的 RE 环境,几百 MB。
一大堆未知文件系统的分区和两个(没准是三个)EFI 分区瞬间把我吓尿了。感觉整个人都不好了你造吗……
观察分区结构并查阅部分分区相关教程(主要是教怎么把双系统刷成单 Android 系统的一堆教程),得知 android_persistent 可以直接清空(填 0),android_config 已经包含在刷机包中可以直接格式化掉(分区之后必然需要重新刷机)。据此制定重新分区计划:
- 删除最后的 4 个 Windows 使用的分区
- 删除 android_config 和 android_persistent 分区
- 删除 android_cache、android_data、android_system 三个分区
- 计算一下容量,System 约 1.8GB,Cache 约 1GB,Data 约 15GB,可得剩余 40GB
- 创建上述三个分区并格式化为 Ext4 格式,同时指定 GPT 分区名称。这一点很重要,Android 通过 GPT 分区名称识别分区并进行挂载。(其实跟 mtd 有点儿像,不过 mtd 在内核命令行中指定分区名称和地址范围)
- 创建 android_persistent 分区,1MB,指定文件系统类型为 cleared
- 创建 android_config 分区,16MB,格式化为 Ext4 格式。
- 创建 Windows 使用的 EFI 分区,100MB 左右,格式化为 FAT 格式。
- 在剩余空间的末尾创建两个大小为 20486MB 的分区。整个硬盘最后剩余空间应当为 1MB。将这两个分区格式化为 NTFS 文件系统。
- 在剩余空间(应该是 18MB)中创建 MSR 分区。
用 GParted 很顺利的完成了前三个步骤,但是后面创建分区的时候发现无法格式化。查看错误大致都是说系统无法在 /dev 中找到对应的设备节点……WTF?
看了一下 /proc/diskstats。这里的数据是 Android 下的。
这里每一行有 14 列,从左到右分别为:
- 主设备号
- 次设备号 这两个可以组合为 /dev/block 下的对应节点名称。
- 设备名称 /dev 下的设备名称。
- 读完成次数 成功完成读操作的次数。
- 合并读完成次数 系统可能将一系列 IO 操作合并为一个 IO 操作,也就是说这个数据代表了实际的硬盘 IO 数。
- 读扇区的总数 成功读过的扇区总数。
- 读花费的毫秒数 所有读操作花费的毫秒数。
- 写完成次数 跟读类似。
- 合并写完成次数 跟读类似。
- 写扇区的总数 跟读类似。
- 写操作花费的毫秒数 跟读类似。
- 正在处理的 IO 请求数 指示设备的 IO 进度。只有这一个列应该是 0。
- IO 操作花费的毫秒数 只要上一个列的数据不是 0,这里也不应该是 0。
- 加权后的 IO 操作花费的毫秒数 这里的加权是便于测量 IO 操作中每个过程花费的时间。
发现有一些设备节点看起来非常奇怪,比如什么 mmcblk0boot1 mmcblk0rpmb 之类的。更奇怪的是某些节点的读操作数居然是 0,比如所有的 Windows 分区……也就是说这些分区连第一个 superblock 都没有读进来,这样的话连判断文件系统类型都不可能,更别提挂载了。另外 mmcblk0boot1 的数据跟 mmcblk0p1 - mmcblk0p15 的数据居然都不一样……简直可怕……
试了各种方法,均不能实现正确的格式化。刷机脚本中用 fastboot 格式化也不太可能的样子(fastboot 中的格式化要求对应分区已经进行过格式化,新创建的分区并不能顺利在 fastboot 中格式化)。
又翻了半天,还是找到了一个解决方案:使用 GParted LiveCD。
这个 LiveCD 大致就是一个超级精简的 Debian Stretch,包括 Fluxbox WM,简单的驱动程序支持(并不支持触摸屏,不过好像支持 Intel 显卡)、网络支持(还有一个特别简单的浏览器) 以及 GParted。内核是 32 位的,版本 4.1 倒不算太旧。在里面可以非常顺利的完成我需要的所有操作,设备节点也是正常的。
看来 64 位的 Linux 内核跟 UEFI 固件有什么肮脏的 PY 交易吧 2333
顺利完成分区,刷入 Android 也可以正确启动。然而部署 Windows 的时候又吃屎了。
首先需要一个能用的 RE。这个倒不难找,随便挑了一个 Win8.1 x64 的 RE,装到 U 盘上就能用。然后需要支持 Compact 的 Dism,也不算太难找,Dism++ 现成的。展开完之后要做引导了……
- bcdboot C:\Windows 失败。
- mountvol p: /s 挂上了 Android 的 EFI 分区。一脸蒙逼。
- 手动用 diskpart 给分区 12 分配盘符,然后用 bcdboot 写入引导。提示成功
- bcdedit 提示 BCD 损坏。
- 不管那么多了重启。
然而结果并不理想。系统安装到最后阶段,提示说 Windows 无法被配置为在此设备上运行之类……跪了。
重新试了一次……很神奇的,一切恢复了正常。至今不知道为什么第一次会跪掉。
总之重新分区也算是比较成功,Windows 的几个分区可以固定下来,有一个 20GB 的系统盘和一个 20GB 的分区用来放别的东西。Android 空间也比较合理,分区任务算是愉快的完成了。
话说突然想作死搞个 RamOS 在平板上跑一下试试……还有为什么今天微软又推累计更新啊……又要重新做 Compact 映像了好心塞……
Second Problem
从平板上手到写这一节,大概也有几个星期了。在连续的折腾中,发现了这一平板各种各样的雷点……给我的感觉就只能用五个字形容就是老司机翻车……
首先不能装 Windows 8.1 我就不说了……坑啊。
这玩意儿对 TF 卡的支持很成问题,很多卡都不能正常识别,虽然我很幸运没有遇到这个问题。论坛上一片吐槽声,各种稍微新一些的卡都跪掉了。还好台电官方还在积极处理中。
A6C7 把原来 A5C8 的后摄像头换掉了,结果是两个型号的 Android 固件不能兼容,A6C7 使用 A5C8 的 Android 无法使用后摄像头。
触摸屏的迷之漂移前面吐槽过了,不再多说。
前面我吐槽过很多次这个平板的图形性能问题。经过一些资料查询,发现国外某网站上有人在尝试破解 BIOS 打开其中隐藏的一系列选项,然而由于 Intel 坑爹的 UEFI 安全保护措施,这么干的人都只得到了一块儿漂亮的板砖。他们还在研究怎么搞。他们提到了其中有一个 GFX Boost 的选项是被关闭的。然而并不知道这是为什么,总之这肯定是一个很影响性能的问题……大概是为了节省功耗才这么做的吧。
随着资料查询过程的深入,越来越多的坑被发掘出来……
Z8300 CPU 只支持 2GB 内存…………
于是这个平板用了一些黑科技使得它支持 4GB 内存,代价是内存运行频率被降低到 1066MHz。原来的 2/3 多一点。卧槽!!!!!!难怪这么卡。想来图形部分靠内存充当显存,内存带宽严重不足结果图形性能也受到了影响;内存带宽不足本身也会导致系统的卡顿。
好 tm 坑爹啊!!!!!!买之前居然没查一下 Z8300 的内存控制器相关的参数。
另一位强者在遇到了其他的包括电池等的问题之后决定退货。其实我也想退了 2333
Remix OS
昨天上论坛突然发现台电和技德合作推出了 Remix OS 2 的测试版。开心,然后计划刷到平板上。
刷机过程中坑还是比较多的。System 分区的映像有 1.2GB 大,我本来觉得就算压缩了应该也不至于超过 2GB,然而刷写过程中会出现迷之错误而无法继续,不得不重新分区调大 System 分区至 3GB 左右(我目前分配的空间是 2900MB)。然而实际占用并没有那么多,只有 2.4GB 左右。原厂分区体积是 2.5GB 左右,如果保险起见的话,大概调整到 2.6GB 这个大小是比较合适的。
下次微软正式推累计更新的时候就重新搞一下
重新分区后刷好了系统,初步体验。
- 生产力提升真的非常明显。小窗口非常舒服。同一个屏幕上可以放一个终端和一个文本编辑器,效率大大提升。
- 流畅度比官方系统好一些,当然前提是工作区中只有一个窗口在最上层。多了就会有些卡。
- 支持很多习惯性快捷键,比如 Alt+Tab 切换应用、Ctrl+空格切换输入法、Windows 键出菜单、Ctrl+Alt+A 截图(简直好用有木有!)
- 功耗比较大,发热也有些感人。
- 并不是所有的应用都支持小窗口,比如 QQ 空间等都不能正确测出窗口大小。
然而感觉还是很不错的。很值得尝试,同时也很期待正式版。
Something more to say
感觉国产平板还是没能脱离山寨风,尤其是这种强行 4GB 内存的行为真的让草民很是蛋疼。不过这个平板还是有一些可玩性的。顺手启动了一下 xubuntu 还是可以进去的,显卡驱动和触摸屏都能够工作,而且体验比 Windows 要流畅许多。
当然了还是不推荐买 233333 真的感觉不值 1099 这个价。
Comments