ICC 配置文件

来自 ArchWiki

就通用桌面使用而言,ICC 配置文件是一个二进制文件,其中包含有关输入或输出设备的颜色属性的精确数据。单个或多个配置文件可以应用于系统及其设备,从而为图形和文档编辑以及发布产生一致且可重复的结果。ICC 配置文件通常使用(三刺激值)色度计或分光光度计进行校准,以在需要绝对颜色精度时使用。

提示: 本文开头部分相当技术性。如果需要澄清,请参阅关于 色彩管理(在 Linux 上)的入门文章。

实用程序

  • ArgyllCMS — ICC 兼容的色彩管理系统。它支持为扫描仪、相机和胶片记录仪创建精确的 ICC 配置文件,以及显示器和 RGB 和 CMYK 打印机的校准和配置。
https://argyllcms.com/ || argyllcms
  • ColorHug — Hughski ColorHug 色度计是一款低成本的开源硬件传感器,用于校准屏幕。此软件包包含客户端工具,用户可以使用这些工具升级传感器上的固件或从命令行脚本查询传感器。
https://github.com/hughski/colorhug-client || colorhug-client
  • dcamprof — 数字相机配置文件工具。
https://www.ludd.ltu.se/~torger/dcamprof.html || dcamprofAUR
  • DisplayCAL — 显示器校准和配置文件解决方案,专注于准确性和多功能性。其核心依赖于 ArgyllCMS 色彩管理系统,以进行测量、创建校准和配置文件,以及执行各种其他高级色彩相关任务。
https://displaycal.net/ || displaycal
  • GNOME 颜色管理器 — 一组用于颜色管理的图形实用程序,可在 GNOME 桌面中使用。
https://gitlab.gnome.org/GNOME/gnome-color-manager || gnome-color-manager
  • xcalib — 轻量级显示器校准加载器,可以加载 ICC 显示器配置文件,以便在桌面应用程序之间共享。
https://github.com/OpenICC/xcalib || xcalib

配置文件生成

色彩管理是硬件校准、软件配置和将配置文件嵌入到图片或视频的工作流程。这一切都基于使用ICC 配置文件

色度计或分光光度计

强烈建议使用色度计或分光光度计设备进行硬件辅助的显示器、打印机和扫描仪校准。对于家庭使用,有几种价格实惠的色度计可供选择。与在其他操作系统上相比,某些设备在 Linux 下得到更好甚至更好的支持。 经常推荐的设备是 X-Rite ColorMunki DisplayDataColor Spyder5 Express。您可以在 AgyllCMS 文档中找到更多 Linux 支持的设备列表。

Argyll CMS

Argyll 颜色管理系统是一套完整的命令行配置文件创建和加载工具,列在 argyllcms 下。

查看官方 Argyll CMS 文档,了解有关如何配置所选设备的详细信息。

使用额外的校准硬件进行显示器校准和配置

有一个用于 ArgyllCMS 的 GUI 前端,名为 DisplayCal,可作为 displaycal 使用。在大多数常见情况下,您会希望使用其默认设置。校准到 6500K 的日光颜色和 gamma 2.2 是一种常见的方法。阅读 DispalGui 文档以了解更多信息。网上有很多教程可供参考。

扫描仪校准

按照 扫描仪校准 教程的扫描仪部分进行操作。

打印机校准

请参阅 cups-calibrate(8)

文件传输

在 Windows 或 macOS 系统上生成配置文件是获取 ICC 显示器配置文件的最简单和最广泛推荐的方法之一。由于 ICC 颜色配置文件是按照开放规范编写的,因此它们在操作系统之间是兼容的。从一个操作系统传输配置文件到另一个操作系统可以用作解决 Linux 下缺少对某些分光光度计或色度计支持的变通方法:可以在不同的操作系统上生成配置文件,然后在 Linux 工作流程中使用它。请注意,生成配置文件的系统必须托管与要使用的配置文件完全相同的显卡和显示器。在 Windows 系统上完成 ICC 配置文件或一系列配置文件的生成后,从默认路径复制文件

C:\WINDOWS\System32\spool\drivers\color

macOS 通常将 ICC 配置文件存储在

  • /Library/ColorSync/Profiles/Displays/
  • /System/Library/ColorSync/Profiles/Displays/
  • /Users/USER_NAME/Library/ColorSync/Profile

复制相应的 .icc/.icm 文件后,将设备配置文件安装到您所需的系统。Linux 上的常用安装设备配置文件目录包括

  • /usr/share/color/icc
  • /usr/local/share/color/icc
  • /home/USER_NAME/.color/icc
注意: 确保在校准时间和加载 ICC 配置文件之间,显示器的校准对比度、亮度 和 RGB 设置没有更改。仅当您绝对确定 Linux 或其他操作系统都不会在您不知情的情况下(在视频驱动程序或供应商实用程序中)更改实际发送到显示器的信号或显示器解释信号的方式时,才使用此方法。注意“Broadcast RGB”或类似设置。在 Windows 和 Linux 中配置产生 显着不同结果 的一个具体示例是 Lenovo Ideapad Yoga 2 Pro 笔记本电脑,因为这些操作系统以非常不同的方式对平板显示器控制器进行编程。

Gnome 颜色管理器

在 Gnome 上,可以使用 gnome-color-manager 轻松创建 ICC 配置文件。在 Gnome 下,可以通过控制中心访问此功能,并且使用起来非常简单。您将需要一个色度计设备才能使用此功能。

ThinkPads

请参阅 IBM/Lenovo ThinkPad 笔记本电脑 显示器配置文件 (通用) 支持的 颜色配置文件

ThinkWiki 指令可用于从联想提取其他 ThinkPad 驱动程序可执行文件,例如 适用于 Windows 11 for X1 Carbon Gen 10, X1 Yoga Gen 7, Z13, Z16 的显示器 INF 文件

加载 ICC 配置文件

注意: NVIDIA 的专有驱动程序与 colord 配置文件管理不兼容。当使用颜色管理的应用程序时,您将获得不一致的结果。可以使用 Nouveau屏蔽 colord.service,并使用 dispwin 手动加载 ICC 配置文件。

ICC 配置文件由会话守护程序或专用 ICC 加载器加载。Gnome 和 KDE 都有能够从 colord 加载 ICC 配置文件的守护程序。如果将 colord 与 gnome-settings-daemoncolord-kde 结合使用,则配置文件将自动加载。如果您未使用 Gnome 或 KDE,则可以安装独立的守护程序 xiccd,它可以执行相同的操作,但不依赖于您的桌面环境。不要同时启动两个支持 ICC 的守护程序(例如 gnome-settings-daemon 和 xiccd)。

如果您未使用任何支持 ICC 的会话守护程序,请确保仅使用一个 ICC 加载器 - xcalib、dispwin、dispcalGUI-apply-profiles 或其他加载器。否则,您很容易最终得到一个不受控制的环境。(最近运行的加载器设置校准,而较早加载的校准将被覆盖。)

在使用特定的 ICC 加载器之前,您应该了解某些工具仅设置校准曲线(例如 xcalib),某些工具仅将显示器配置文件设置为 X.org _ICC_PROFILE atom(例如 xicc),而其他工具则同时执行这两项任务(例如 dispwin、dispcalGUI-apply-profiles)。

注意: 使用 .xinitrc 示例时,运行 nvidia-settings 或使用 -load-config-only 参数将覆盖 ICC 文件。

xiccd

xiccd 是 colord 和 X 之间的简单桥梁。它允许非 GNOME 和非 KDE 桌面环境加载和应用 icc 配置文件。

确保已安装 colord,然后安装 xiccd

将您的 icc 配置文件复制到配置文件目录。

# cp icc_profile /usr/share/color/icc/colord/

启动 colord.service

如果 colord 已经在运行,您需要重启 colord.service,否则新配置文件将不会显示。

在终端中执行 xiccd 作为后端,并忽略任何详细消息。在接下来的步骤中保持 xiccd 运行。

$ xiccd

这将枚举显示器并为 colormgr(colord) 注册它们。

打开另一个终端并执行 colormgr。记下屏幕的 设备 ID

$ colormgr get-devices

记下您之前添加并想要使用的 配置文件 ID

$ colormgr get-profiles

将您的配置文件添加到显示设备。

# colormgr device-add-profile device_id profile_id

将配置文件设置为显示设备的默认配置文件。

# colormgr device-make-profile-default device_id profile_id

仔细检查 xiccd 是否安装了 /etc/xdg/autostart/xiccd.desktop,以便它在系统启动时自动启动

# cat /etc/xdg/autostart/xiccd.desktop

关闭所有终端,并重启系统以检查 icc 配置文件是否正在应用。如果 colord 已经在运行,您需要重启 colord.service

xcalib

xcalib 是一款轻量级显示器校准加载器,可以加载 ICC 显示器配置文件,以便在桌面应用程序之间共享。安装 软件包 xcalib

/usr/share/color/icc 中加载配置文件 P221W-sRGB.icc

$ xcalib -d :0 /usr/share/color/icc/P221W-sRGB.icc

这可以在 Xorg 服务器、桌面环境或窗口管理器启动时自动启动

dispwin

dispwinargyllcms 的一部分。

/home/archie/.color/icc 中加载配置文件 906w-6500K.icc

$ dispwin -d0 /home/archie/.color/icc/906w-6500K.icc

这可以在 Xorg 服务器、桌面环境或窗口管理器启动时自动启动

Wayland

Wayland 通过颜色配置文件支持颜色管理,但当前尚未正确实现用于管理这些配置文件的用户界面。但是,您可以通过以下步骤手动添加颜色配置文件

首先,将您的 .icc 颜色配置文件复制到 /usr/share/color/icc/colord/ 目录。

运行 colormgr get-profiles 以获取可用的颜色配置文件,并运行 colormgr get-devices 以获取附加设备的 ID。

要将颜色配置文件分配给设备,请使用命令 colormgr device-add-profile Device_ID Profile_ID。设备 ID 从 colormgr get-devices 的输出中获取,配置文件 ID 从 colormgr get-profiles 中获取。

例如,如果您的设备 ID 为“DP-3”,配置文件 ID 为“icc-5fb87663ba378cadf463ba64d92dced3”,则命令如下所示

$ colormgr device-add-profile DP-3 icc-5fb87663ba378cadf463ba64d92dced3

通过这些步骤,您可以在 Wayland 中手动管理您的颜色配置文件,直到用户界面完全实现。一旦使用此方法添加了 ICC 配置文件,它将显示并像在 KDE Plasma 设置的颜色管理器等系统设置中一样工作。

支持 ICC 配置文件的应用程序

  • Xsane 可以使用 ICC 配置文件进行颜色校正扫描。
  • CUPS 可以使用 ICC 配置文件进行颜色校正打印,使用 Colord,但实际实现和可用性尚不明确
  • GIMP 可以使用 ICC 配置文件来显示正在编辑的图像。但是,必须在设置对话框中显式启用已安装的 ICC 配置文件的使用。
  • mpv 在播放视频时可以考虑 ICC 配置文件。命令行参数为:--icc-profile=/path/to/profile.icc--icc-profile-auto。只有 --vo=gpu--vo=gpu-next 执行颜色管理;兼容性/回退 VO 驱动程序将静默忽略 ICC 配置文件选项。
  • Firefox 默认情况下,仅在显示已标记 ICC 配置文件的图像时才使用系统范围的 ICC 配置文件。要假设未标记的图像使用 sRGB 并对其也应用颜色校正,请将 gfx.color_management.mode 首选项设置为 1。Firefox 还可以使用配置选项 gfx.color_management.display_profile 使用 ICC 配置文件。
  • Eye of Gnome (eog) 和 Eye of MATE (eom) 都会自动使用系统安装的 ICC 配置文件。

参见