输出配置表示

outputdevice 描述了合成器可用的显示设备。outputdevice 类似于 wl_output,但侧重于输出配置管理。

客户端可以查询所有全局 outputdevice 对象以列出所有可用的显示设备,包括当前可能未被合成器表示为 wl_output 的设备。

客户端通过 outputconfiguration 接口向服务器发送配置更改,服务器将配置更改应用于硬件并相应地向 outputdevice 发出更改信号。

此对象在启动时作为全局对象发布,用于每个可用的显示设备,或在稍后可用时发布(例如通过物理连接器热插拔)。

geometry(x: int, y: int, physical_width: int, physical_height: int, subpixel: int, make: string, model: string, transform: int)
参数
类型
描述
xint
x position within the global compositor space
yint
y position within the global compositor space
physical_widthint
width in millimeters of the output
physical_heightint
height in millimeters of the output
subpixelint
subpixel orientation of the output
makestring
textual description of the manufacturer
modelstring
textual description of the model
transformint
transform that maps framebuffer to output
输出的几何属性

geometry 事件描述输出的几何属性。在绑定到输出对象时以及任何属性更改时发送此事件。

mode(flags: uint, width: int, height: int, refresh: int, mode_id: int)
参数
类型
描述
flagsuint
bitfield of mode flags
widthint
width of the mode in hardware units
heightint
height of the mode in hardware units
refreshint
vertical refresh rate in mHz
mode_idint
Per outputdevice unique id to identify a mode
公布可用的输出模式和当前模式

mode 事件描述输出的可用模式。

当客户端绑定到 outputdevice 对象时,服务器为 outputdevice 可以操作的每个可用模式发送一次此事件。

初始绑定时始终至少发送一个事件,该事件表示当前模式。

之后,如果输出更改其模式,事件将再次发送,此事件表示现在变为当前的模式。换句话说,当前模式始终由最新发送的带有 current 标志的事件表示。

模式的大小以输出设备的物理硬件单位给出。这不一定与全局合成器空间中的输出大小相同。例如,输出可能被缩放(如 org_kde_kwin_outputdevice.scale 中所述)或被变换(如 org_kde_kwin_outputdevice.transform 中所述)。

id 可用于在 org_kde_kwin_outputconfiguration 对象上调用 set_mode 时引用模式。

done()
已发送关于输出的所有信息

在绑定到输出对象时发送所有其他属性之后以及在任何其他输出属性更改应用之后发送此事件。这允许将输出属性的更改视为原子的,即使多个事件连续宣布它们。

scale(factor: int)
参数
类型
描述
factorint
scaling factor of output
输出缩放属性

此事件包含 geometry 事件中没有的缩放几何信息。可以在绑定输出对象之后或如果输出缩放稍后更改时发送。如果未发送,客户端应假设缩放为 1。

大于 1 的缩放意味着合成器在渲染时将自动按此量缩放表面缓冲区。这用于高分辨率显示器,其中以原始分辨率渲染的应用程序会太小而无法阅读。

缩放感知客户端应跟踪表面的当前输出,如果它在缩放的输出上,应使用 wl_surface.set_buffer_scale 设置输出的缩放。这样合成器可以避免缩放表面,客户端可以提供更高细节的图像。

edid(raw: string)
参数
类型
描述
rawstring
base64-encoded EDID string
公布输出的 EDID 数据

edid 事件封装了 outputdevice 的 EDID 数据。

在绑定到输出对象时发送此事件。EDID 数据可能为空,在这种情况下仍会发送此事件。如果 EDID 信息为空,可以回退到 outputdevice 的 name 等属性。

enabled(enabled: int)
参数
类型
描述
enabledint
output enabled state
输出已启用或已禁用

enabled 事件通知此输出当前是否已启用并被服务器用于显示内容。在绑定到输出对象时以及在输出稍后通过变为启用或禁用而更改状态时发送此事件。

uuid(uuid: string)
参数
类型
描述
uuidstring
output devices ID
此 outputdevice 的唯一标识

uuid 可用于标识输出。它完全由服务器控制。服务器应确保 uuid 在重启期间保持持久。空 uuid 被视为无效。

scalef(factor: fixed)
参数
类型
描述
factorfixed
scaling factor of output
输出缩放属性

此事件包含 geometry 事件中没有的缩放几何信息。可以在绑定输出对象之后或如果输出缩放稍后更改时发送。如果未发送,客户端应假设缩放为 1。

大于 1 的缩放意味着合成器在渲染时将自动按此量缩放表面缓冲区。这用于高分辨率显示器,其中以原始分辨率渲染的应用程序会太小而无法阅读。

缩放感知客户端应跟踪表面的当前输出,如果它在缩放的输出上,应使用 wl_surface.set_buffer_scale 设置输出的缩放。这样合成器可以避免缩放表面,客户端可以提供更高细节的图像。

wl_output 将保持输出缩放为整数。除配置窗口管理器外的每种情况下,你都想使用它。

colorcurves(red: array, green: array, blue: array)
参数
类型
描述
redarray
red color ramp
greenarray
green color ramp
bluearray
blue color ramp
输出颜色曲线

描述输出的颜色强度配置文件。通常用于 gamma/颜色校正。

数组包含输出的所有颜色坡道值。例如在 8 位屏幕上有 256 个值。

数组元素是无符号 16 位整数。

serial_number(serialNumber: string)
参数
类型
描述
serialNumberstring
textual representation of serial number
序列号

显示器的序列 ID,在启动时在第一个 done 事件之前发送。

eisa_id(eisaId: string)
参数
类型
描述
eisaIdstring
textual representation of EISA identifier
EISA ID

显示器的 EISA ID,在启动时在第一个 done 事件之前发送。

能力标志

此设备具有的能力,在启动时在第一个 done 事件之前发送。

overscan(overscan: uint)
参数
类型
描述
overscanuint
amount of overscan of the monitor
过扫描

显示器的过扫描值(百分比),在启动时在第一个 done 事件之前发送。

可变刷新率策略

合成器在使用可变刷新率方面将采用的策略。

子像素几何信息

此枚举描述输出上的物理像素如何排列。

从帧缓冲到输出的变换

这描述了合成器将应用于表面的变换,以补偿输出设备的旋转或镜像。

翻转值对应于围绕垂直轴的初始翻转,然后是旋转。

其目的主要是允许客户端相应地渲染并告知合成器,以便对于全屏表面,合成器仍然可以直接扫描出客户端表面。

mode { current, preferred } 
参数
描述
current0x1
表示这是当前模式
preferred0x2
表示这是首选模式
模式信息

这些标志描述输出模式的属性。它们用于 mode 事件的 flags 位字段中。

enablement { disabled, enabled } 
参数
描述
disabled0
enabled1
描述启用状态

描述设备是否已启用,即设备是否被合成器用于显示内容。这将布尔值包装在 int 中以避免布尔值陷阱。

capability { overscan, vrr } 
参数
描述
overscan1
此 outputdevice 是否可以使用过扫描
vrr起始版本 42
此 outputdevice 是否支持可变刷新率
描述 outputdevice 的能力

描述此设备具有的能力。

vrr_policy { never, always, automatic } 
参数
描述
never0
always1
automatic2
描述 vrr 策略

描述合成器何时可以使用可变刷新率。


合成器支持

未发现合成器支持

SPDX-FileCopyrightText: 2008-2011 Kristian Høgsberg SPDX-FileCopyrightText: 2010-2011 Intel Corporation SPDX-FileCopyrightText: 2012-2013 Collabora, Ltd. SPDX-FileCopyrightText: 2015 Sebastian Kügler <sebas@kde.org>

SPDX-License-Identifier: MIT-CMU

Footer

© 2026 Wayland Explorer

本网站与 Wayland 官方项目无任何关联。网站所有内容均根据 Wayland 协议 XML 文件自动生成。

本网站使用的 Visual Studio Code - Codicons 遵循 CC BY 4.0 许可。