壹号本4代的内置显示器纵横比问题及95%完美解决方案

最近(2021年6月29日)入手了壹号本4代,是一个优点和缺点都很鲜明的产品。优点是高性能小尺寸设备目前貌似仅此一家,仅仅看主要配置的话性价比吊打Surface全家。缺点是厂商力量弱小,很多地方做的不够细致,比如由于至今无解的硬件问题导致机器不认我的绿联usb3.2×2 nvme硬盘盒,比如说今天提到的屏幕问题。

直观表现是这样的:大部分程序显示正常,但有个别程序,主要是UWP版本的手写类程序,包括Microsoft Whiteboard,Nebo(我最喜欢的手写笔记软件),显示出来是这个样子:

所有图像都给压扁了,看起来很像是纵横比有问题——但是,如果把屏幕竖过来,所有的东西又变成了细高个儿,还是没法看,比较无聊加不上图了。

其他关联症状包括:

  • 如果外接一个显示器,并且把多屏模式设置为“复制”,则显示正常——但是正常人显然不能接受为了手写而接个显示器;
  • Win10高分屏那里,建议的缩放比为225%,实际体验显然字太大了,一屏内容很少——这是一个无关紧要但实际上反映了本质的症状;

如果以“Microsoft Whiteboard, display aspect ratio”一类的关键词去搜,确实可以发现同类问题,主要居然是出现在微软user voice上面,但微软也没有进行任何回应,药丸啊。

今天把该问题发在了壹号本官方交流群,管理员表示问题已知,解决尚需时日。群友讨论,有人怀疑厂商用了平板定制屏幕,即这个屏幕本身是个竖屏,厂商拿来hack成了横着的屏幕。今天的研究不能支持此怀疑,壹号本4代的屏幕左右边框并不宽,确实不像是hack的竖屏,但这个讨论给了一个重要方向,就是屏幕自身返回的硬件信息有错误。还有人认为是Whiteboard这样的软件自己绕过了系统接口通过总线读到了hack前的原始硬件信息,对于UWP应用而言这个说法感觉也不太靠谱……

此处鸣谢网友@当时只道是寻常

顺着这个思路,我去注册表导出了内置显示屏的EDID信息,想看看能否发现端倪。首发命中,很快发现EDID里面的屏幕尺寸信息有问题,居然写了个9x15cm,不仅是横屏,而且无论纵向还是横向尺寸都与真实的对不上。考虑到这份EDID还写了生产日期2002年,我倾向于认为这是某个偷懒程序猿抄了一份祖传配置文件,然后看起来还行就交了。

合理推断,Whiteboard和Nebo估计都是从EDID这里做为源头读取的尺寸信息,然后拿去自行渲染界面,而不是通过系统的一些标准接口(像Scrble,Xodo PDF Reader这几个软件就没有显示问题),于是遇到这种有问题的EDID就那啥了。

搜索显示器,修改EDID,大概有三种办法:顶级大神拆机上编程器改内置EDID,一般高手自制单INF文件驱动覆盖硬件EDID,优雅高手基于NVIDIA专业显卡的内置功能从文件加载EDID。显然壹号本这里比较适合INF驱动法。

于是做了一个只包含一个INF文件的驱动,把原始EDID里面的尺寸信息改成了21×13厘米,估计有一点点误差,但这里只能用整数。具体方法网上都能搜到,懒得抄了,只说几点经验:

  • 读原装EDID、修改EDID,都用Deltacast E-EDID Editor(按理说应该需要在装自制驱动之前);
  • Deltacast E-EDID Editor的界面在win10下有问题,现实不全,需要用全选复制粘贴法准确修改;
  • 有个貌似E-EDID Editor升级版的软件叫EEditGold,修改EDID的时候貌似会丢配置,不要用;
  • 生成INF驱动用MonInfo软件,注意对比你原本没想改的那部分是否被无意修改;
  • 上面这几个软件,还有一个softMCCS软件,都是免费的,良心啊!

安装方法:

  1. win10设置-更新-恢复-高级重启-(疑难解答什么的?)-禁用驱动强制签名-重启
  2. 下载我做的INF驱动
  3. 设备管理器-监视器-找到内置显示器(没接外接显示器的话应该只有一个显示器)-右键-更新驱动程序-浏览查找-从列表中选择-从磁盘安装-浏览到这个INF文件-确定-无视签名警告并允许-安装完成
  4. 应该已经OK了,最好正常重启一下

之所以说95%完美,是因为存在下面这些小问题:

  • 未签名驱动让人不爽
  • 这个本质还是软件操作,只能作用于当前操作系统,像PE下分辨率太高一类的问题,根源还是在这份质量堪忧的原生EDID上,这个办法是解决不了的。

等待厂商跟进。

文件下载:

驱动文件-需要解压

原版EDID文件备份

继续讨论时看到有群友同样基于INF方法实现了60Hz刷新率(原版EDID居然仅允许50Hz刷新),于是顺手改了一下,下面的文件不仅有尺寸修正,还把刷新率调到了60Hz.当然理论上貌似会更佳费电一点点,但我相信厂家绝对不是出于省电目的才在硬件里面设定50Hz刷新率的。

驱动文件-修正尺寸_60hz刷新二合一.7z

  • 最后更改: 2022/01/04 12:50