drm_edid_read_switcheroo(9)
π 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 onadapterβ 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
- 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