Mac 外接显示器色彩问题

2020-11-13

Mac 外接非 Apple 认证的显示器其实一直是有色彩问题的,有的情况是整体颜色发灰,有的情况是绿色特别绿,微信的绿色变成接近荧光绿那种绿色。这是 Mac 的奇葩设计导致的,需要修改系统配置解决。今天升级了 Big Sur,之前在 Catalina 已经配置过的显示器失效了,又需要重新配置,为了以后配置能更快完成,故写下本篇博文。

原因

Mac 系统外接显示器色彩不正确的问题,是因为 Mac 对于未识别的显示器,默认使用 ycbcr 的色彩空间来驱动,而 Windows 会默认使用 RGB 的色彩空间来驱动,而大部分显示器是不支持 ycbcr 色彩空间的,这个色彩空间主要是用在电视上,也就是说 macOS 上,未识别的显示器统一认为是电视。而 Mac 不像 Windows,会积极适配各种外接硬件,macOS 原生可以识别的显示器十分有限,这也就导致 Mac 外接第三方显示器基本上都是会有色彩问题的。

对于 TypeC 接口的 Mac,有没有这个问题取决于转接头,有的转接头会兼容,有的转接头不兼容。

对于 M1 芯片的 Mac 这个问题暂时无法通过修改系统配置来解决,解决方法同 TypeC 接口的 Mac,使用不同的转接头会有不同的效果。

解决方法

解决方法就是在 macOS 的系统文件夹下放入外接显示器的配置,并设置为 RGB 色彩空间来驱动。首先要生成配置文件。

在已经接了外接显示器的情况下,在命令行使用 ruby 运行 这个文件,就可以在用户目录生成配置文件,我的路径为:/Users/zhangzida/DisplayVendorID-5e3/DisplayProductID-3402

接着把这个文件夹放入/System/Library/Displays/Contents/Resources/Overrides 就可以了。但是由于系统限制,系统文件夹是只读的,我们还要去关闭系统保护才能在这里面写文件。

对于 Big Sur:

对于 Catalina:

参考

小米34寸带鱼屏显示器评测,因为这个问题我只能退货。(5分20秒处)

How to Force RGB mode in MacOS Mojave ?

https://twitter.com/EBADTWEET/status/1275454103900971012