STRUCT DRM_CMDLINE_MODE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct drm_cmdline_mode(9) πŸ’–

okay so bestie, we're in the Kernel API Manual and this page is literally all about struct drm_cmdline_mode(9) β€” the little struct that carries a DRM mode straight through from the kernel command-line. no cap, it's giving "display setup but make it boot-time" energy πŸŽ€


🌈 NAME 🌈

struct drm_cmdline_mode β€” DRM Mode passed through the kernel command-line ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct drm_cmdline_mode {
    char name[DRM_DISPLAY_MODE_LEN];
    bool specified;
    bool refresh_specified;
    bool bpp_specified;
    unsigned int pixel_clock;
    int xres;
    int yres;
    int bpp;
    int refresh;
    bool rb;
    bool interlace;
    bool cvt;
    bool margins;
    enum drm_connector_force force;
    unsigned int rotation_reflection;
    enum drm_panel_orientation panel_orientation;
    struct drm_connector_tv_margins tv_margins;
    enum drm_connector_tv_mode tv_mode;
    bool tv_mode_specified;
 };

🧚 Members 🧚

  • name β€” Name of the mode. iconic little label vibes πŸ’…
  • specified β€” Has a mode been read from the command-line? πŸ‘€
  • refresh_specified β€” Did the mode have a preferred refresh rate?
  • bpp_specified β€” Did the mode have a preferred BPP?
  • pixel_clock β€” Pixel Clock in kHz. Optional. (yes bestie, kHz β€” keep it exact 🫢)
  • xres β€” Active resolution on the X axis, in pixels.
  • yres β€” Active resolution on the Y axis, in pixels.
  • bpp β€” Bits per pixels for the mode.
  • refresh β€” Refresh rate, in Hertz.
  • rb β€” Do we need to use reduced blanking?
  • interlace β€” The mode is interlaced.
  • cvt β€” The timings will be calculated using the VESA Coordinated Video Timings instead of looking up the mode from a table.
  • margins β€” Add margins to the mode calculation (1.8% of xres rounded down to 8 pixels and 1.8% of yres).
  • force β€” Ignore the hotplug state of the connector, and force its state to one of the DRM_FORCE_* values.
  • rotation_reflection β€” Initial rotation and reflection of the mode setup from the command line. See DRM_MODE_ROTATE_* and DRM_MODE_REFLECT_*. The only rotations supported are DRM_MODE_ROTATE_0 and DRM_MODE_ROTATE_180.
  • panel_orientation β€” drm-connector "panel orientation" property override value, DRM_MODE_PANEL_ORIENTATION_UNKNOWN if not set.
  • tv_margins β€” TV margins to apply to the mode.
  • tv_mode β€” TV mode standard. See DRM_MODE_TV_MODE_*.
  • tv_mode_specified β€” Did the mode have a preferred TV mode?

✨ Description ✨

Each connector can have an initial mode with additional options passed through the kernel command line. This structure allows to express those parameters and will be filled by the command-line parser. fr fr, it's the struct that catches all your boot-time display wishes and passes them along πŸ’–


🌟 SEE ALSO 🌟

Kernel file ./include/drm/drm_connector.h β€” and bestie, the whole friend group is here:

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

okay that's the whole page, bestie β€” you ate that πŸ’…βœ¨

xoxo, your kernel bestie 🫢 source: ./include/drm, date: October 2026 β€” struct drm_cmdline_mode(9) forever πŸ’–

πŸ“¦ where this page comes from