STRUCT DRM_TV_CONNECTOR_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct drm_tv_connector_state β€” NAME πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ this one's about struct drm_tv_connector_state, and it's literally the whole vibe board for TV connector related states πŸŽ€ like, every knob your TV-ish connector has, all chillin' in one struct. iykyk πŸ’…


🌸 SYNOPSIS 🌸

here's the whole squad, no cap, copy it exactly bestie:

struct drm_tv_connector_state {
    enum drm_mode_subconnector select_subconnector;
    enum drm_mode_subconnector subconnector;
    struct drm_connector_tv_margins margins;
    unsigned int legacy_mode;
    unsigned int mode;
    unsigned int brightness;
    unsigned int contrast;
    unsigned int flicker_reduction;
    unsigned int overscan;
    unsigned int saturation;
    unsigned int hue;
};

look at all those unsigned ints living their best life 😭 iconic behaviour honestly 🫢


πŸ¦‹ Members πŸ¦‹

okay so let's meet the cast, one by one, main character energy only πŸ’œ

  • select_subconnector β€” the subconnector you selected. you picked it. it's the chosen one, the main character of subconnectors πŸ‘‘
  • subconnector β€” but this one? this is the subconnector that actually got detected. the vibes the hardware reported back fr fr πŸ”
  • margins β€” TV margins πŸŽ€ (it's a whole struct drm_connector_tv_margins, very fancy of it)
  • legacy_mode β€” Legacy TV mode, and it's a driver specific value, so like… every driver does its own thing here 🫠
  • mode β€” TV mode, periodt ⭐
  • brightness β€” brightness, measured in percent ✨
  • contrast β€” contrast, also in percent πŸŽ€
  • flicker_reduction β€” flicker reduction, in percent β€” yes the field name is long, she's worth it πŸ’…
  • overscan β€” overscan, in percent 🌈
  • saturation β€” saturation, in percent πŸ“
  • hue β€” hue, in percent πŸ’œ

lowkey every single percent field is in percent. the consistency?? we love to see it πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯

bestie the friend group is HUGE, buckle in πŸ’€

Kernel file ./include/drm/drm_connector.h β€” that's the home base 🏠 and then we got:

  • 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_colorspace(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_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)

go read all of them. yes all of them. i'll wait 🧚


ngl bestie if you skip the SEE ALSO you're only hurting yourself πŸ’€ it's giving "homework but make it lore" and honestly? obsessed.

that's the whole page! ./include/drm, October 2026 β€” mwah, love u, go read drm_connector.h πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from