Skip to content

Repository files navigation

DisplayTune

简体中文 · English · 文档目录 · 兼容性 · 问题排查

DisplayTune 是一个面向 macOS 13 及以上版本的 SwiftUI 菜单栏显示器工具,聚焦外接显示器 的分辨率、DDC/CI 硬件控制、ColorSync ICC、视觉匹配、校色仪工作流和日夜自动化。

项目状态:公开测试版。 分辨率和 ICC 操作已提供恢复机制,但 DDC/CI 依赖显示器、 接口、线材、扩展坞和 macOS 私有接口。第一次使用前请阅读 安全边界

DisplayTune 菜单栏界面

功能概览

  • 识别多台物理外接显示器,并按 VID、PID、序列号和产品名称保存独立配置。
  • 自动区分 1080p、1440p、4K、5K、超宽屏和高刷新率显示器。
  • 根据原生像素、宽高比、HiDPI 和刷新率推荐显示模式。
  • 分辨率切换后显示 15 秒确认倒计时,超时自动回滚。
  • 逐项探测 DDC/CI 亮度、对比度、R/G/B Gain,仅写入读取成功的 VCP。
  • 在多显示器场景中匹配 Core Graphics 显示器与 IORegistry DDC 服务;映射不明确时禁止写入。
  • 支持面板原生、sRGB 和 Display P3 三种色域目标。
  • 生成独立的 Mac Match、sRGB Target 和 Apple Display P3 ICC。
  • 将视觉白点、RGB 和 Gamma 修正保存为 ICC 的 3 × 256 点 VCGT。
  • 提供与 Mac 内建屏或另一台参考显示器并排比较的视觉匹配向导。
  • 提供自动寻色:循环扫描 RGB、亮度和 Gamma,用户满意时停止并保存。
  • 可通过 ArgyllCMS 接入实体校色仪。
  • 支持登录时启动、显示器重连恢复和日夜定时。
  • 内置可扩展的厂商/型号策略库,并为未知型号保留安全通用策略。

系统要求

项目 要求
macOS 13 Ventura 或更高版本
架构 Apple Silicon 已验证;Intel 可编译,但 DDC 路径尚未实机验证
构建工具 Xcode Command Line Tools、Swift 6
校色仪 可选;需要实体硬件和 ArgyllCMS
DDC/CI 显示器和连接链路必须支持;USB-C 扩展坞可能阻断

快速开始

cd DisplayTune

./scripts/check.sh
./scripts/build-app.sh
open dist/DisplayTune.app

建议将应用复制到 /Applications 后再开启“登录时启动”:

cp -R dist/DisplayTune.app /Applications/
open /Applications/DisplayTune.app

详细说明见安装与构建

第一次使用

  1. 在显示器 OSD 中开启 DDC/CI。
  2. 临时关闭 Night Shift、True Tone、HDR、低蓝光、动态对比和自动亮度。
  3. 点击菜单栏中的 DisplayTune 图标并选择目标显示器。
  4. 检查显示器名称、VID/PID、原生像素和 DDC 匹配状态。
  5. 点击刷新按钮,等待五项 VCP 分别完成探测。
  6. 先使用“一键 Mac 推荐配置”,确认色彩目标和推荐分辨率。
  7. 点击“保存并应用”;如果切换了分辨率,请在 15 秒内确认保留。
  8. 需要进一步匹配时,再打开“自动寻色 / 校色仪…”。

完整工作流见使用指南

色彩目标怎么选

目标 适合场景 说明
面板原生 有原厂/实测 ICC、摄影和专业工作流 保留面板原色,由 ICC 描述真实显示器
sRGB 网页、办公、普通 SDR 内容 兼容性最好,但会限制广色域目标
Display P3 原生色域接近 P3 的广色域显示器 不能让窄色域面板产生物理上不存在的颜色

厂商菜单中的 DCI-P3 不一定等于 Apple Display P3。详细原理和限制见 色彩管理

DDC/CI 安全模型

DisplayTune 当前使用以下 VCP:

参数 VCP
亮度 0x10
对比度 0x12
Red Gain 0x16
Green Gain 0x18
Blue Gain 0x1A

应用不会根据品牌猜测 VCP 支持,也不会猜测最大值。某项功能只有在当前显示器、当前输入 和当前连接链路上读取成功后才允许写入。多显示器 DDC 映射存在歧义时,所有硬件写入都会 被禁用。

实现细节见 DDC/CI 设计

显示器策略库

匹配顺序:

VID + PID 精确匹配
→ 产品名称回退
→ 1080p / 1440p / 4K / 5K / 超宽屏通用策略

首批收录 Dell、LG、GIGABYTE、BenQ、ASUS、Samsung、AOC、Philips、ViewSonic、 HP、Lenovo、MSI 和 Acer 的代表型号。策略库只提供识别、分辨率和 OSD 起始建议; DDC 写入权限仍来自运行时逐项探测。

查看完整列表:显示器兼容性与策略数据

校色仪

“校色仪”不是纯软件模拟,而是 USB 光学测量硬件。DisplayTune 通过 ArgyllCMS 调用 dispcalspotread

brew install argyll-cms

需要连接 Calibrite、X-Rite、Datacolor Spyder 等受 ArgyllCMS 支持的设备。没有硬件时 仍可使用视觉匹配和自动寻色,但结果不属于测量级校准。

DisplayTune 视觉匹配与校色窗口

安全边界

  • DDC 使用 macOS 中未公开保证稳定性的 IOKit/IOAVService 路径,系统更新后可能失效。
  • ICC 和软件 Gamma 主要影响使用 ColorSync 的 SDR 内容;HDR、游戏或视频管线可能绕过。
  • 软件无法测量面板老化、背光光谱、环境光和个体视觉差异。
  • 自动寻色只是在安全范围内扫描参数,不会判断“客观正确颜色”。
  • 使用视觉匹配前请固定参考显示器亮度,并确保两块屏幕显示相同色域内容。
  • 对摄影、印刷、影视调色等高要求用途,应使用实体校色仪生成当前显示器和当前接口的 ICC。
  • 项目目前没有官方 Developer ID 公证发行版;自行构建版本采用 ad-hoc 签名。

文档

开发和测试

./scripts/check.sh

该脚本依次执行:

swift run DisplayTuneCoreChecks
swift run DisplayTuneICCChecks
swift build -Xswiftc -warnings-as-errors

贡献新型号策略前,请同时添加 EDID 匹配测试,并明确标注 VCP 证据等级。参见 贡献指南

贡献

欢迎提交:

  • 新显示器 VID/PID 和不同接口的 EDID 别名
  • 实际 VCP 读取结果
  • Apple Silicon 和 Intel Mac 的兼容性报告
  • 扩展坞、转接器和线材兼容性报告
  • ICC、ColorSync、分辨率切换和睡眠唤醒问题
  • 文档、翻译和无障碍改进

提交前请阅读 CONTRIBUTING.mdCODE_OF_CONDUCT.md

版本

当前版本:0.7.1(Build 12)

变更记录见 CHANGELOG.md

许可证

DisplayTune 以 MIT License 开源。

About

DisplayTune 是一个面向 macOS 13 及以上版本的 SwiftUI 菜单栏显示器工具,聚焦外接显示器 的分辨率、DDC/CI 硬件控制、ColorSync ICC、视觉匹配、校色仪工作流和日夜自动化。

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages