STANDARD CONNECTOR PROPERTIES(9)
π standard connector properties
okay bestie, welcome to section 9 of the Kernel API Manual β this is the standard connector properties(9) page, and no cap, it's a whole vibe. it's all about the Colorspace connector property and honestly it's a little unhinged but we're gonna get through it together π«Ά
π Colorspace
Colorspace β this property is used to inform the driver about the color encoding user space configured the pixel operation properties to produce β¨ The variants set the colorimetry, transfer characteristics, and which YCbCr conversion should be used when necessary. And important one incoming: the transfer characteristics from HDR_OUTPUT_METADATA takes precedence over this property π
Also, user space always configures the pixel operation properties to produce full quantization range data (see the Broadcast RGB property) π
Drivers inform the sink about what colorimetry, transfer characteristics, YCbCr conversion, and quantization range to expect (this can depend on the output mode, output format and other properties). Drivers also convert the user space provided data to what the sink expects π¦
User space has to check if the sink supports all of the possible colorimetries that the driver is allowed to pick by parsing the EDID π
β οΈ for historical reasons this property exposes a number of variants which result in undefined behavior. it's giving legacy baggage, we don't love it, but it's canon π
Default: The behavior is driver-specific.
π the variants
BT2020_RGBBT2020_YCCβ user space configures the pixel operation properties to produce RGB content with Rec. ITU-R BT.2020 colorimetry, Rec. ITU-R BT.2020 (Table 4, RGB) transfer characteristics and full quantization range.
and here's the glow-up for those two: user space can use the HDR_OUTPUT_METADATA property to set the transfer characteristics to PQ (Rec. ITU-R BT.2100 Table 4) or HLG (Rec. ITU-R BT.2100 Table 5), in which case user space configures pixel operation properties to produce content with the respective transfer characteristics πΈ
User space has to make sure the sink supports Rec. ITU-R BT.2020 R'G'B' and Rec. ITU-R BT.2020 Y'C'BC'R colorimetry, fr fr.
Then the driver has options, and both of them slay:
- Drivers can configure the sink to use an RGB format, tell the sink to expect Rec. ITU-R BT.2020 R'G'B' colorimetry and convert to the appropriate quantization range.
- Drivers can configure the sink to use a YCbCr format, tell the sink to expect Rec. ITU-R BT.2020 Y'C'BC'R colorimetry, convert to YCbCr using the Rec. ITU-R BT.2020 non-constant luminance conversion matrix and convert to the appropriate quantization range.
and the tea β: the variants BT2020_RGB and BT2020_YCC are equivalent and the driver chooses between RGB and YCbCr based on the color format property π
π§ the rest of them, all listed in one little run
SMPTE_170M_YCCBT709_YCCXVYCC_601XVYCC_709SYCC_601opYCC_601opRGBBT2020_CYCCDCI-P3_RGB_D65DCI-P3_RGB_TheaterRGB_WIDE_FIXEDRGB_WIDE_FLOATBT601_YCCβ the behavior is undefined. not me warning you twice π
π¦ one last thing, the HDMI vs DP situation
Because between HDMI and DP have different colorspaces, drm_mode_create_hdmi_colorspace_property is used for HDMI connector and drm_mode_create_dp_colorspace_property is used for DP connector. different connectors, different personalities, iconic behavior ngl π
β¨ SEE ALSO β¨
- Kernel file
./drivers/gpu/drm/drm_connector.coverview(9) drm_get_connector_type_name(9)drm_connector_get_cmdline_mode(9)drm_connector_init(9)drm_connector_dynamic_init(9)drm_connector_init_with_ddc(9)drmm_connector_init(9)drmm_connector_hdmi_init(9)drm_connector_attach_edid_property(9)drm_connector_attach_encoder(9)drm_connector_has_possible_encoder(9)drm_connector_cec_phys_addr_invalidate(9)drm_connector_cec_phys_addr_set(9)drm_connector_cleanup(9)drm_connector_register(9)drm_connector_dynamic_register(9)drm_connector_unregister(9)drm_get_connector_status_name(9)drm_get_connector_force_name(9)drm_connector_list_iter_begin(9)drm_connector_list_iter_next(9)drm_connector_list_iter_end(9)drm_get_subpixel_order_name(9)drm_display_info_set_bus_formats(9)drm_get_tv_mode_from_name(9)drm_get_colorspace_name(9)drm_mode_create_dvi_i_properties(9)drm_connector_attach_dp_subconnector_property(9)HDMI connector properties(9)Analog TV Connector Properties(9)drm_connector_attach_content_type_property(9)drm_connector_attach_tv_margin_properties(9)drm_mode_create_tv_margin_properties(9)drm_mode_create_tv_properties_legacy(9)drm_mode_create_tv_properties(9)drm_mode_create_scaling_mode_property(9)Variable refresh properties(9)drm_connector_attach_vrr_capable_property(9)drm_connector_attach_scaling_mode_property(9)drm_mode_create_aspect_ratio_property(9)drm_mode_create_hdmi_colorspace_property(9)drm_mode_create_dp_colorspace_property(9)drm_mode_create_content_type_property(9)drm_mode_create_suggested_offset_properties(9)drm_connector_set_path_property(9)drm_connector_set_tile_property(9)drm_connector_set_link_status_property(9)drm_connector_attach_max_bpc_property(9)drm_connector_attach_hdr_output_metadata_property(9)drm_connector_attach_broadcast_rgb_property(9)drm_connector_attach_colorspace_property(9)Color format(9)drm_connector_attach_color_format_property(9)drm_connector_atomic_hdr_metadata_equal(9)drm_connector_set_vrr_capable_property(9)drm_connector_set_panel_orientation(9)drm_connector_set_panel_orientation_with_quirk(9)drm_connector_set_orientation_from_panel(9)drm_connector_create_privacy_screen_properties(9)drm_connector_attach_privacy_screen_properties(9)drm_connector_attach_privacy_screen_provider(9)drm_connector_update_privacy_screen(9)drm_connector_find_by_fwnode(9)drm_connector_oob_hotplug_event(9)drm_connector_get_color_format(9)Tile group(9)drm_mode_put_tile_group(9)drm_mode_get_tile_group(9)drm_mode_create_tile_group(9)drm_connector_attach_panel_type_property(9)
and that's the whole page, bestie, you ate that ππ ok bye ily β this one came from ./drivers/gpu/drm and it's dated October 2026, mwah π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms