ENUM DRM_COLORSPACE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🎨 enum drm_colorspace(9) 🎨

okay so bestie, welcome to the Kernel API Manual β€” section 9 β€” and we're talking about enum drm_colorspace, aka the color space enum. it's giving DRM colorimetry realness, and honestly? iconic. πŸ’…βœ¨

πŸ’– NAME πŸ’–

enum drm_colorspace β€” color space. πŸŽ€

πŸ“¦ SYNOPSIS πŸ“¦

here's the whole enum, bestie β€” every single member exactly as it appears, no cap:

enum drm_colorspace {
    DRM_MODE_COLORIMETRY_DEFAULT ,
    DRM_MODE_COLORIMETRY_NO_DATA ,
    DRM_MODE_COLORIMETRY_SMPTE_170M_YCC ,
    DRM_MODE_COLORIMETRY_BT709_YCC ,
    DRM_MODE_COLORIMETRY_XVYCC_601 ,
    DRM_MODE_COLORIMETRY_XVYCC_709 ,
    DRM_MODE_COLORIMETRY_SYCC_601 ,
    DRM_MODE_COLORIMETRY_OPYCC_601 ,
    DRM_MODE_COLORIMETRY_OPRGB ,
    DRM_MODE_COLORIMETRY_BT2020_CYCC ,
    DRM_MODE_COLORIMETRY_BT2020_RGB ,
    DRM_MODE_COLORIMETRY_BT2020_YCC ,
    DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65 ,
    DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER ,
    DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED ,
    DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT ,
    DRM_MODE_COLORIMETRY_BT601_YCC ,
    DRM_MODE_COLORIMETRY_COUNT

};

πŸ’… Constants πŸ’…

  • DRM_MODE_COLORIMETRY_DEFAULT β€” driver specific behavior. iykyk.
  • DRM_MODE_COLORIMETRY_NO_DATA β€” driver specific behavior. same vibe.
  • DRM_MODE_COLORIMETRY_SMPTE_170M_YCC β€” (HDMI) SMPTE ST 170M colorimetry format. slay.
  • DRM_MODE_COLORIMETRY_BT709_YCC β€” (HDMI, DP) ITU-R BT.709 colorimetry format. classic.
  • DRM_MODE_COLORIMETRY_XVYCC_601 β€” (HDMI, DP) xvYCC601 colorimetry format.
  • DRM_MODE_COLORIMETRY_XVYCC_709 β€” (HDMI, DP) xvYCC709 colorimetry format.
  • DRM_MODE_COLORIMETRY_SYCC_601 β€” (HDMI, DP) sYCC601 colorimetry format.
  • DRM_MODE_COLORIMETRY_OPYCC_601 β€” (HDMI, DP) opYCC601 colorimetry format.
  • DRM_MODE_COLORIMETRY_OPRGB β€” (HDMI, DP) opRGB colorimetry format.
  • DRM_MODE_COLORIMETRY_BT2020_CYCC β€” (HDMI, DP) ITU-R BT.2020 Y'c C'bc C'rc (constant luminance) colorimetry format. fancy.
  • DRM_MODE_COLORIMETRY_BT2020_RGB β€” (HDMI, DP) ITU-R BT.2020 R' G' B' colorimetry format.
  • DRM_MODE_COLORIMETRY_BT2020_YCC β€” (HDMI, DP) ITU-R BT.2020 Y' C'b C'r colorimetry format.
  • DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65 β€” (HDMI) SMPTE ST 2113 P3D65 colorimetry format.
  • DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER β€” (HDMI) SMPTE ST 2113 P3DCI colorimetry format.
  • DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED β€” (DP) RGB wide gamut fixed point colorimetry format.
  • DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT β€” (DP) RGB wide gamut floating point (scRGB (IEC 61966-2-2)) colorimetry format.
  • DRM_MODE_COLORIMETRY_BT601_YCC β€” (DP) ITU-R BT.601 colorimetry format. The DP spec does not say whether this is the 525 or the 625 line version. mysterious much? πŸ™ˆ
  • DRM_MODE_COLORIMETRY_COUNT β€” Not a valid value; merely used four counting β€” not a real color space, bestie, just a counter. πŸ’€

🌸 Description 🌸

okay so this enum is a consolidated colorimetry list supported by HDMI and DP protocol standard. The respective connectors will register a property with the subset of this list (supported by that respective protocol). Userspace will set the colorspace through a colorspace property which will be created and exposed to userspace. ✨

DP definitions come from the DP v2.0 spec; HDMI definitions come from the CTA-861-H spec. periodt. πŸ¦‹

πŸ”— SEE ALSO πŸ”—

Kernel file ./include/drm/drm_connector.h, plus all these besties:

  • enum drm_connector_status(9)
  • enum drm_connector_registration_state(9)
  • enum drm_connector_tv_mode(9)
  • struct drm_scrambling(9)
  • struct drm_hdmi_dsc_cap(9)
  • struct drm_hdmi_info(9)
  • enum drm_link_status(9)
  • enum drm_panel_orientation(9)
  • enum drm_hdmi_broadcast_rgb(9)
  • struct drm_monitor_range_info(9)
  • struct drm_luminance_range_info(9)
  • enum drm_privacy_screen_status(9)
  • enum drm_output_color_format(9)
  • enum drm_connector_color_format(9)
  • enum drm_bus_flags(9)
  • struct drm_amd_vsdb_info(9)
  • struct drm_display_info(9)
  • struct drm_connector_tv_margins(9)
  • struct drm_tv_connector_state(9)
  • struct drm_connector_hdmi_infoframe(9)
  • struct drm_connector_state(9)
  • struct drm_connector_cec_funcs(9)
  • struct drm_connector_infoframe_funcs(9)
  • struct drm_connector_hdmi_funcs(9)
  • struct drm_connector_funcs(9)
  • struct drm_cmdline_mode(9)
  • struct drm_connector_hdmi_audio(9)
  • struct drm_connector_cec(9)
  • struct drm_connector(9)
  • drm_connector_lookup(9)
  • drm_connector_get(9)
  • drm_connector_put(9)
  • drm_connector_is_unregistered(9)
  • struct drm_tile_group(9)
  • struct drm_connector_list_iter(9)
  • drm_for_each_connector_iter(9)
  • drm_connector_for_each_possible_encoder(9)

mwah πŸ’‹ β€” signed off from ./include/drm, October 2026, in the Kernel API Manual β€” enum drm_colorspace(9), stay colorful bestie πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from