显示控制

出自 ArchWiki

显示控制协议允许通过视频链路或额外的总线,使用辅助信号控制显示器。最基本的功能是电源和背光管理,后者在笔记本电脑和一些电视屏幕中得到广泛支持,但在独立电脑显示器中仍然不太普及。

一般来说,可控制的功能在很大程度上取决于具体实现。此外,有许多显示控制协议及其实现都在使用,它们的功能有所重叠。

本文或本章节的事实准确性存在争议。

理由: video 是一个pre-systemd 组,硬件访问通常由 udev 管理。(在Talk:Display control 中讨论)

对于下面和链接文章中提到的大多数工具,可以通过将用户添加到 video 用户组来授予用户访问权限。

仅硬件

这些有限的实现主要见于较旧的笔记本电脑。仅硬件意味着没有用于背光控制的软件接口,因此用户只能使用预设的键盘按键/组合或专用的旋转式/滑动式开关或旋钮。旧的 CRT 电脑显示器也具有硬件亮度控制。

厂商特定

厂商特定的实现以及一些相关工具在背光中得到了很好的介绍。厂商特定的 ACPI 实现和没有标准 内核 接口的 GPU hacks 也属于这个有限的类别,使用 UART/USB 和类似协议的外部显示器也是如此。这些通常在桌面环境中不受支持。

ACPI

ACPI 模块实现仅在笔记本电脑和带有集成显示器(如一体机)的 PC 中找到,但在软件中部分标准化和可访问。带有 /sys/class/backlight 接口的 ACPI 实现通常在桌面环境中得到很好的支持,但没有其他显示控制功能可用。

DPMS

虽然 显示电源管理信号 在计算机硬件中无处不在,并且长期以来在软件中得到很好的支持,但它只允许显示器电源管理进入 2-4 种状态,而不能进行更精细的背光或其他控制。在电视设置中,它最多可以切换面板状态,但无法唤醒或挂起电视。

(E-)DDC/CI

(增强型)显示数据通道/命令接口 接口通过 I2C 传输Monitor Control Command Set (MCCS),可以在计算机硬件中补充甚至取代 DPMS。尽管 DDC 1.0 于 1994 年发布,E-DDC 1.0 于 1999 年发布,但该功能直到 2010 年代才开始出现在独立电脑显示器中。除了电源和背光管理外,它还具有广泛的命令集,用于控制其控制器中支持的所有显示设置。ddcutil(GUI:ddcuiAUR)和 ddccontrolAUR(GUI:gddccontrolAUR)是值得关注的工具。对于背光控制,可以使用 ddcci-driver-linux-dkmsAUR 创建 /sys/class/backlight 接口,这实现了桌面集成,但仍需要主线化。

eDP v1.2

嵌入式显示端口 (eDP) 在 1.2 版本中引入了一种显示控制协议,该协议通过辅助 DisplayPort 通道工作,取代了嵌入式/笔记本电脑显示器中的 DDC/CI。[1]

HDMI-CEC

HDMI - 消费电子控制 是一种额外的类 I2C 总线,但速度非常慢,用于唤醒和控制独立终端用户设备(如电视)。从 HDMI 1.0 开始可用,它使用 HDMI 连接器中的引脚 13,并且需要少量额外的硬件来驱动总线。不知何故,PC GPU 通常不支持它,因此需要额外的硬件。专用的USB-CEC 适配器并不便宜且不常见,更好的替代方案是使用内核驱动程序,该驱动程序使用 DisplayPort 的辅助通道进行 HDMI-CEC 信号传输,但这仅适用于 少数精选的 DP-to-HDMI 适配器。另一方面,原生 HDMI-CEC 支持在 ARM 单板计算机和某些 Android 设备中是正常的。Arch Linux 中的桌面 HDMI-CEC 集成目前是手动的,但对于简单的设置(如从待机状态唤醒电视)来说是可管理的。用户空间主要通过 v4l-utils 中的 cec-ctllibcec 中的 cec-client 来支持。