diff options
Diffstat (limited to 'protocol/kde-output-device-v2.xml')
| -rw-r--r-- | protocol/kde-output-device-v2.xml | 633 |
1 files changed, 0 insertions, 633 deletions
diff --git a/protocol/kde-output-device-v2.xml b/protocol/kde-output-device-v2.xml deleted file mode 100644 index 405f038..0000000 --- a/protocol/kde-output-device-v2.xml +++ /dev/null @@ -1,633 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<protocol name="kde_output_device_v2"> - <copyright><![CDATA[ - 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-FileCopyrightText: 2021 Méven Car <meven.car@enioka.com> - - SPDX-License-Identifier: MIT-CMU - ]]></copyright> - - <interface name="kde_output_device_registry_v2" version="23"> - <description summary="output devices"> - This interface can be used to list output devices. - - If this global is bound with a version less than 21, the unsupported_version - protocol error will be posted. - </description> - - <enum name="error"> - <description summary="kde_output_device_registry_v2 error values"> - These errors can be emitted in response to some requests. - </description> - <entry name="unsupported_version" value="0" - summary="the registry was bound with an unsupported version"/> - </enum> - - <event name="finished" type="destructor" since="21"> - <description summary="no new output announcements"> - This event is sent in response to the stop request. The compositor will - immediately destroy the object after sending this event. - </description> - </event> - - <request name="stop" since="21"> - <description summary="stop receiving updates"> - This request indicates that the client no longer wants to receive new - output announcements. The compositor will send the - kde_output_device_registry_v2.finished event in response to this request. - The compositor may still send new output announcements after calling this - request until the kde_output_device_registry_v2.finished event is sent. - </description> - </request> - - <event name="output" since="21"> - <description summary="new available output"> - This event is sent when a new output is connected or after binding this - global to list all available outputs. - </description> - <arg name="output" type="new_id" interface="kde_output_device_v2"/> - </event> - </interface> - - <interface name="kde_output_device_v2" version="23"> - <description summary="output configuration representation"> - An output device describes a display device available to the compositor. - output_device is similar to wl_output, but focuses on output - configuration management. - - A client can query all global output_device objects to enlist all - available display devices, even those that may currently not be - represented by the compositor as a wl_output. - - The client sends configuration changes to the server through the - outputconfiguration interface, and the server applies the configuration - changes to the hardware and signals changes to the output devices - accordingly. - - This object is published as global during start up for every available - display devices, or when one later becomes available, for example by - being hotplugged via a physical connector. - - Warning! The protocol described in this file is a desktop environment - implementation detail. Regular clients must not use this protocol. - Backward incompatible changes may be added without bumping the major - version of the extension. - </description> - - <enum name="subpixel"> - <description summary="subpixel geometry information"> - This enumeration describes how the physical pixels on an output are - laid out. - </description> - <entry name="unknown" value="0"/> - <entry name="none" value="1"/> - <entry name="horizontal_rgb" value="2"/> - <entry name="horizontal_bgr" value="3"/> - <entry name="vertical_rgb" value="4"/> - <entry name="vertical_bgr" value="5"/> - </enum> - - <enum name="transform"> - <description summary="transform from framebuffer to output"> - This describes the transform, that a compositor will apply to a - surface to compensate for the rotation or mirroring of an - output device. - - The flipped values correspond to an initial flip around a - vertical axis followed by rotation. - - The purpose is mainly to allow clients to render accordingly and - tell the compositor, so that for fullscreen surfaces, the - compositor is still able to scan out directly client surfaces. - </description> - - <entry name="normal" value="0"/> - <entry name="90" value="1"/> - <entry name="180" value="2"/> - <entry name="270" value="3"/> - <entry name="flipped" value="4"/> - <entry name="flipped_90" value="5"/> - <entry name="flipped_180" value="6"/> - <entry name="flipped_270" value="7"/> - </enum> - - <event name="geometry"> - <description summary="geometric properties of the output"> - The geometry event describes geometric properties of the output. - The event is sent when binding to the output object and whenever - any of the properties change. - </description> - <arg name="x" type="int" - summary="x position within the global compositor space"/> - <arg name="y" type="int" - summary="y position within the global compositor space"/> - <arg name="physical_width" type="int" - summary="width in millimeters of the output"/> - <arg name="physical_height" type="int" - summary="height in millimeters of the output"/> - <arg name="subpixel" type="int" - summary="subpixel orientation of the output"/> - <arg name="make" type="string" - summary="textual description of the manufacturer"/> - <arg name="model" type="string" - summary="textual description of the model"/> - <arg name="transform" type="int" - summary="transform that maps framebuffer to output"/> - </event> - - <event name="current_mode"> - <description summary="current mode"> - This event describes the mode currently in use for this head. It is only - sent if the output is enabled. - </description> - <arg name="mode" type="object" interface="kde_output_device_mode_v2"/> - </event> - - <event name="mode"> - <description summary="advertise available output modes and current one"> - The mode event describes an available mode for the output. - - When the client binds to the output_device object, the server sends this - event once for every available mode the output_device can be operated by. - - There will always be at least one event sent out on initial binding, - which represents the current mode. - - Later if an output changes, its mode event is sent again for the - eventual added modes and lastly the current mode. In other words, the - current mode is always represented by the latest event sent with the current - flag set. - - The size of a mode is given in physical hardware units of the output device. - This is not necessarily the same as the output size in the global compositor - space. For instance, the output may be scaled, as described in - kde_output_device_v2.scale, or transformed, as described in - kde_output_device_v2.transform. - </description> - <arg name="mode" type="new_id" interface="kde_output_device_mode_v2"/> - </event> - - <event name="done"> - <description summary="sent all information about output"> - This event is sent after all other properties have been - sent on binding to the output object as well as after any - other output property change have been applied later on. - This allows to see changes to the output properties as atomic, - even if multiple events successively announce them. - </description> - </event> - - <event name="scale"> - <description summary="output scaling properties"> - This event contains scaling geometry information - that is not in the geometry event. It may be sent after - binding the output object or if the output scale changes - later. If it is not sent, the client should assume a - scale of 1. - - A scale larger than 1 means that the compositor will - automatically scale surface buffers by this amount - when rendering. This is used for high resolution - displays where applications rendering at the native - resolution would be too small to be legible. - - It is intended that scaling aware clients track the - current output of a surface, and if it is on a scaled - output it should use wl_surface.set_buffer_scale with - the scale of the output. That way the compositor can - avoid scaling the surface, and the client can supply - a higher detail image. - </description> - <arg name="factor" type="fixed" summary="scaling factor of output"/> - </event> - - <event name="edid"> - <description summary="advertise EDID data for the output"> - The edid event encapsulates the EDID data for the outputdevice. - - The event is sent when binding to the output object. The EDID - data may be empty, in which case this event is sent anyway. - If the EDID information is empty, you can fall back to the name - et al. properties of the outputdevice. - </description> - <arg name="raw" type="string" summary="base64-encoded EDID string"/> - </event> - - <event name="enabled"> - <description summary="output is enabled or disabled"> - The enabled event notifies whether this output is currently - enabled and used for displaying content by the server. - The event is sent when binding to the output object and - whenever later on an output changes its state by becoming - enabled or disabled. - </description> - <arg name="enabled" type="int" summary="output enabled state"/> - </event> - - <event name="uuid"> - <description summary="A unique id for this outputdevice"> - The uuid can be used to identify the output. It's controlled by - the server entirely. The server should make sure the uuid is - persistent across restarts. An empty uuid is considered invalid. - </description> - <arg name="uuid" type="string" summary="output devices ID"/> - </event> - - <event name="serial_number"> - <description summary="Serial Number"> - Serial ID of the monitor, sent on startup before the first done event. - </description> - <arg name="serialNumber" type="string" - summary="textual representation of serial number"/> - </event> - <event name="eisa_id"> - <description summary="EISA ID"> - EISA ID of the monitor, sent on startup before the first done event. - </description> - <arg name="eisaId" type="string" - summary="textual representation of EISA identifier"/> - </event> - - <enum name="capability" bitfield="true"> - <description summary="describes capabilities of the outputdevice"> - Describes what capabilities this device has. - </description> - <entry name="overscan" value="0x1" - summary="if this output_device can use overscan"/> - <entry name="vrr" value="0x2" - summary="if this outputdevice supports variable refresh rate"/> - <entry name="rgb_range" value="0x4" - summary="if setting the rgb range is possible"/> - <entry name="high_dynamic_range" value="0x8" since="3" - summary="if this outputdevice supports high dynamic range"/> - <entry name="wide_color_gamut" value="0x10" since="3" - summary="if this outputdevice supports a wide color gamut"/> - <entry name="auto_rotate" value="0x20" since="4" - summary="if this outputdevice supports autorotation"/> - <entry name="icc_profile" value="0x40" since="5" - summary="if this outputdevice supports icc profiles"/> - <entry name="brightness" value="0x80" since="9" - summary="if this outputdevice supports the brightness setting"/> - <entry name="built_in_color" value="0x100" since="12" - summary="if this outputdevice supports the built-in color profile"/> - <entry name="ddc_ci" value="0x200" since="14" - summary="if this outputdevice supports DDC/CI"/> - <entry name="max_bits_per_color" value="0x400" since="15" - summary="if this outputdevice supports setting max bpc"/> - <entry name="edr" value="0x800" since="16" - summary="if this outputdevice supports EDR"/> - <entry name="sharpness" value="0x1000" since="17" - summary="if this outputdevice supports the sharpness setting"/> - <entry name="custom_modes" value="0x2000" since="18" - summary="if this outputdevice supports custom modes"/> - <entry name="auto_brightness" value = "0x4000" since="19"/> - <entry name="hdr_icc_profile" value="0x8000" since="22" - summary="if this outputdevice supports HDR ICC profiles"/> - <entry name="abm_level" value="0x10000" since="23" - summary="if this outputdevice supports the abm level setting"/> - </enum> - - <event name="capabilities"> - <description summary="capability flags"> - What capabilities this device has, sent on startup before the first - done event. - </description> - <arg name="flags" type="uint" enum="capability"/> - </event> - - <event name="overscan"> - <description summary="overscan"> - Overscan value of the monitor in percent, sent on startup before the - first done event. - </description> - <arg name="overscan" type="uint" - summary="amount of overscan of the monitor"/> - </event> - - <enum name="vrr_policy"> - <description summary="describes vrr policy"> - Describes when the compositor may employ variable refresh rate - </description> - <entry name="never" value="0"/> - <entry name="always" value="1"/> - <entry name="automatic" value="2"/> - </enum> - - <event name="vrr_policy"> - <description summary="Variable Refresh Rate Policy"> - What policy the compositor will employ regarding its use of variable - refresh rate. - </description> - <arg name="vrr_policy" type="uint" enum="vrr_policy"/> - </event> - - <enum name="rgb_range"> - <description summary="describes RGB range policy"> - Whether full or limited color range should be used - </description> - <entry name="automatic" value="0"/> - <entry name="full" value="1"/> - <entry name="limited" value="2"/> - </enum> - - <event name="rgb_range"> - <description summary="RGB range"> - What rgb range the compositor is using for this output - </description> - <arg name="rgb_range" type="uint" enum="rgb_range"/> - </event> - - <event name="name" since="2"> - <description summary="Output's name"> - Name of the output, it's useful to cross-reference to an zxdg_output_v1 and ultimately QScreen - </description> - <arg name="name" type="string"/> - </event> - - <event name="high_dynamic_range" since="3"> - <description summary="if HDR is enabled"> - Whether or not high dynamic range is enabled for this output - </description> - <arg name="hdr_enabled" type="uint" summary="1 if enabled, 0 if disabled"/> - </event> - - <event name="sdr_brightness" since="3"> - <description summary="the brightness of sdr if hdr is enabled"> - If high dynamic range is used, this value defines the brightness in nits for content - that's in standard dynamic range format. Note that while the value is in nits, that - doesn't necessarily translate to the same brightness on the screen. - </description> - <arg name="sdr_brightness" type="uint"/> - </event> - - <event name="wide_color_gamut" since="3"> - <description summary="if WCG is enabled"> - Whether or not the use of a wide color gamut is enabled for this output - </description> - <arg name="wcg_enabled" type="uint" summary="1 if enabled, 0 if disabled"/> - </event> - - <enum name="auto_rotate_policy"> - <description summary="describes when auto rotate should be used"/> - <entry name="never" value="0"/> - <entry name="in_tablet_mode" value="1"/> - <entry name="always" value="2"/> - </enum> - - <event name="auto_rotate_policy" since="4"> - <description summary="describes when auto rotate is used"/> - <arg name="policy" type="uint" enum="auto_rotate_policy"/> - </event> - - <event name="icc_profile_path" since="5"> - <description summary="describes the path to the ICC profile used in SDR mode"/> - <arg name="profile_path" type="string"/> - </event> - - <event name="brightness_metadata" since="6"> - <description summary="metadata about the screen's brightness limits"/> - <arg name="max_peak_brightness" type="uint" summary="in nits"/> - <arg name="max_frame_average_brightness" type="uint" summary="in nits"/> - <arg name="min_brightness" type="uint" summary="in 0.0001 nits"/> - </event> - - <event name="brightness_overrides" since="6"> - <description summary="overrides for the screen's brightness limits"/> - <arg name="max_peak_brightness" type="int" summary="-1 for no override, positive values are the brightness in nits"/> - <arg name="max_average_brightness" type="int" summary="-1 for no override, positive values are the brightness in nits"/> - <arg name="min_brightness" type="int" summary="-1 for no override, positive values are the brightness in 0.0001 nits"/> - </event> - - <event name="sdr_gamut_wideness" since="6"> - <description summary="describes which gamut is assumed for sRGB applications"> - This can be used to provide the colors users assume sRGB applications should have based on the - default experience on many modern sRGB screens. - </description> - <arg name="gamut_wideness" type="uint" summary="0 means rec.709 primaries, 10000 means native primaries"/> - </event> - - <enum name="color_profile_source" since="7"> - <description summary="which source the compositor should use for the color profile on an output"/> - <entry name="sRGB" value="0"/> - <entry name="ICC" value="1"/> - <entry name="EDID" value="2"/> - </enum> - - <event name="color_profile_source" since="7"> - <description summary="describes which source the compositor uses for the color profile on an output in SDR mode"/> - <arg name="source" type="uint" enum="color_profile_source"/> - </event> - - <event name="brightness" since="8"> - <description summary="brightness multiplier"> - This is the brightness modifier of the output. It doesn't specify - any absolute values, but is merely a multiplier on top of other - brightness values, like sdr_brightness and brightness_metadata. - 0 is the minimum brightness (not completely dark) and 10000 is - the maximum brightness. - This is currently only supported / meaningful while HDR is active. - </description> - <arg name="brightness" type="uint" summary="brightness in 0-10000"/> - </event> - - <enum name="color_power_tradeoff"> - <description summary="tradeoff between power and accuracy"> - The compositor can do a lot of things that trade between - performance, power and color accuracy. This setting describes - a high level preference from the user about in which direction - that tradeoff should be made. - </description> - <entry name="efficiency" value="0" summary="prefer efficiency and performance"/> - <entry name="accuracy" value="1" summary="prefer accuracy"/> - </enum> - - <event name="color_power_tradeoff" since="10"> - <description summary="the preferred color/power tradeoff"/> - <arg name="preference" type="uint" enum="color_power_tradeoff"/> - </event> - - <event name="dimming" since="11"> - <description summary="dimming multiplier"> - This is the dimming multiplier of the output. This is similar to - the brightness setting, except it's meant to be a temporary setting - only, not persistent and may be implemented differently depending - on the display. - 0 is the minimum dimming factor (not completely dark) and 10000 - means the output is not dimmed. - </description> - <arg name="multiplier" type="uint" summary="multiplier in 0-10000"/> - </event> - - <event name="replication_source" since="13"> - <description summary="source output for mirroring"/> - <arg name="source" type="string" summary="uuid of the source output"/> - </event> - - <event name="ddc_ci_allowed" since="14"> - <description summary="if DDC/CI should be used to control brightness etc."> - If the ddc_ci capability is present, this determines if settings - such as brightness, contrast or others should be set using DDC/CI. - </description> - <arg name="allowed" type="uint" summary="1 if allowed, 0 if disabled"/> - </event> - - <event name="max_bits_per_color" since="15"> - <description summary="override max bpc"> - This limits the amount of bits per color that are sent to the display. - </description> - <arg name="max_bpc" type="uint" summary="0 for the default / automatic"/> - </event> - - <event name="max_bits_per_color_range" since="15"> - <description summary="range of max bits per color value"/> - <arg name="min_value" type="uint" summary="the minimum supported by the driver"/> - <arg name="max_value" type="uint" summary="the maximum supported by the driver"/> - </event> - - <event name="automatic_max_bits_per_color_limit" since="15"> - <description summary="if and to what value automatic max bpc is limited"/> - <arg name="max_bpc_limit" type="uint" - summary="which value automatic bpc gets limited to. 0 if not limited"/> - </event> - - <enum name="edr_policy" since="16"> - <description summary="when the compositor may make use of EDR"/> - <entry name="never" value="0"/> - <entry name="always" value="1"/> - </enum> - - <event name="edr_policy" since="16"> - <description summary="when the compositor may apply EDR"> - When EDR is enabled, the compositor may increase the backlight beyond - the user-specified setting, in order to present HDR content on displays - without native HDR support. - This will usually result in better visuals, but also increases battery - usage. - </description> - <arg name="policy" type="uint" enum="edr_policy"/> - </event> - - <event name="sharpness" since="17"> - <description summary="sharpness strength"> - This is the sharpness modifier of the output. - 0 is sharpness disabled and 10000 is the maximum sharpness - </description> - <arg name="sharpness" type="uint" summary="sharpness in 0-10000"/> - </event> - - <event name="priority" since="18"> - <description summary="output priority"> - Describes the position of the output in the output order list, - with lower values being earlier in the list. There's no specific - value the list has to start at, this value is only used in sorting - outputs. - - Note that the output order protocol is not sufficient for this, - as an output may not be in the output order if it's disabled or - mirroring another screen. - </description> - <arg name="priority" type="uint" summary="priority"/> - </event> - - <event name="auto_brightness" since="20"> - <description summary="whether or not automatic brightness is enabled"/> - <arg name="enabled" type="uint" summary="1 for enabled, 0 for disabled"/> - </event> - - <request name="release" type="destructor" since="21"> - <description summary="destroy the output device"> - This notifies the compositor that the client no longer wishes to use - the kde_output_device_v2 object. - </description> - </request> - - <event name="removed" since="21"> - <description summary="the output has been removed"> - This event is sent when the output device is disconnected and no new - updates will be sent. The client should call the kde_output_device_v2.release - request after receiving this event. - </description> - </event> - - <event name="hdr_icc_profile_path" since="22"> - <description summary="describes the path to the ICC profile used in HDR mode"/> - <arg name="profile_path" type="string"/> - </event> - - <event name="hdr_color_profile_source" since="22"> - <description summary="describes which source the compositor uses for the color profile on an output in HDR mode"/> - <arg name="source" type="uint" enum="color_profile_source"/> - </event> - - <event name="abm_level" since="23"> - <description summary="allowed level of adaptive backlight modulation"> - Adaptive backlight modulation is a feature that reduces the backlight - and increases contrast of colors on the screen to improve power usage. - </description> - <arg name="level" type="uint" summary="0 is off, 4 is the maximum level"/> - </event> - </interface> - - <interface name="kde_output_device_mode_v2" version="22"> - <description summary="output mode"> - This object describes an output mode. - - Some heads don't support output modes, in which case modes won't be - advertised. - - Properties sent via this interface are applied atomically via the - kde_output_device.done event. No guarantees are made regarding the order - in which properties are sent. - </description> - - <event name="size"> - <description summary="mode size"> - This event describes the mode size. The size is given in physical - hardware units of the output device. This is not necessarily the same as - the output size in the global compositor space. For instance, the output - may be scaled or transformed. - </description> - <arg name="width" type="int" summary="width of the mode in hardware units"/> - <arg name="height" type="int" summary="height of the mode in hardware units"/> - </event> - - <event name="refresh"> - <description summary="mode refresh rate"> - This event describes the mode's fixed vertical refresh rate. It is only - sent if the mode has a fixed refresh rate. - </description> - <arg name="refresh" type="int" summary="vertical refresh rate in mHz"/> - </event> - - <event name="preferred"> - <description summary="mode is preferred"> - This event advertises this mode as preferred. - </description> - </event> - - <event name="removed"> - <description summary="the mode has been destroyed"> - The compositor will destroy the object immediately after sending this - event, so it will become invalid and the client should release any - resources associated with it. - </description> - </event> - - <enum name="flags"> - <description summary="mode flags"/> - <entry name="custom" value="0x1"/> - <entry name="reduced_blanking" value="0x2"/> - </enum> - - <event name="flags" since="19"> - <description summary="mode flags"> - This event describes the mode's flags. - </description> - <arg name="flags" type="uint" enum="flags"/> - </event> - </interface> - -</protocol> |
