drm_edid_read_switcheroo(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– drm_edid_read_switcheroo(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this one's all about grabbing EDID data for a vga_switcheroo output, and honestly? it's giving "small wrapper, big responsibilities" energy 🫢


🌸 NAME 🌸

drm_edid_read_switcheroo β€” get EDID data for a vga_switcheroo output ✨


πŸŽ€ SYNOPSIS πŸŽ€

const struct drm_edid * drm_edid_read_switcheroo (struct drm_connector
*connector , struct i2c_adapter *adapter );

like, yes, it returns a pointer to const struct drm_edid and takes exactly those two args πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • connector β€” the connector we're probing πŸ‘€ that's the one we're snooping on
  • adapter β€” the I2C adapter to use for DDC πŸ”Œ

πŸ’œ DESCRIPTION πŸ’œ

so this whole thing is a wrapper around drm_edid_read_ddc β€” no cap, that's literally its job 😌 β€” and it exists for laptops with dual GPUs that share one set of outputs. the wrapper adds the requisite vga_switcheroo calls so DDC gets temporarily switched over to the GPU that's actually retrieving the EDID. it's giving "teamwork makes the dream work" fr fr πŸ’…


⭐ RETURN ⭐

you get back a pointer to valid EDID πŸ’– β€” or NULL if we couldn't find any 😭 that's it, that's the deal.


🌈 SEE ALSO 🌈

kernel file ./drivers/gpu/drm/drm_edid.c plus the whole extended friend group πŸ‘‘:

drm_edid_header_is_valid(9), drm_edid_is_valid(9), drm_edid_valid(9), drm_do_probe_ddc_edid(9), drm_edid_override_connector_update(9), drm_edid_raw(9), drm_edid_alloc(9), drm_edid_dup(9), drm_edid_free(9), drm_probe_ddc(9), drm_get_edid(9), drm_edid_read_custom(9), drm_edid_read_ddc(9), drm_edid_read(9), drm_edid_get_product_id(9), drm_edid_print_product_id(9), drm_edid_get_panel_id(9), drm_edid_read_base_block(9), drm_get_edid_switcheroo(9), drm_edid_duplicate(9), edid_get_quirks(9), drm_match_cea_mode(9), drm_display_mode_from_cea_vic(9), drm_edid_match(9), drm_edid_get_monitor_name(9), drm_edid_to_sad(9), drm_edid_to_speaker_allocation(9), drm_av_sync_delay(9), drm_detect_hdmi_monitor(9), drm_detect_monitor_audio(9), drm_default_rgb_quant_range(9), drm_edid_connector_update(9), drm_edid_connector_add_modes(9), drm_connector_update_edid_property(9), drm_add_edid_modes(9), drm_add_modes_noedid(9), drm_hdmi_avi_infoframe_from_display_mode(9), drm_hdmi_avi_infoframe_quant_range(9), drm_hdmi_vendor_infoframe_from_display_mode(9), drm_edid_is_digital(9)


ngl the SEE ALSO list is the whole group chat and everyone showed up πŸ’€ iconic behaviour, honestly.

and that's the page bestie πŸŽ€ sign-off time: this lil masterpiece lives at ./drivers/gpu/drm, dated October 2026, and it's called drm_edid_read_switcheroo(9) β€” periodt πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from