drm_crtc_helper_set_config(9)
π drm_crtc_helper_set_config(9) π
okay so this is the Kernel API Manual page for drm_crtc_helper_set_config(9), and bestie, we are getting into legacy CRTC helper business β¨
πΈ NAME πΈ
drm_crtc_helper_set_config β set a new config from userspace
β¨ SYNOPSIS β¨
int drm_crtc_helper_set_config (struct drm_mode_set *set , struct
drm_modeset_acquire_ctx *ctx );
π ARGUMENTS π
setβ mode set configurationctxβ lock acquire context, not used here β literally just vibing in the parameter list π«Ά
π DESCRIPTION π
okay so drm_crtc_helper_set_config is the helper function that implements the drm_crtc_funcs.set_config callback for drivers using the legacy CRTC helpers. It's giving legacy-era main character energy, iykyk π
First thing it does: it tries to locate the best encoder for each connector by calling the connector drm_connector_helper_funcs.best_encoder helper operation. Bestie matching service, but for encoders β¨
After locating the appropriate encoders, the helper function calls the mode_fixup encoder and CRTC helper operations to adjust the requested mode β or reject it completely. If it rejects it, an error gets returned to the application. Rude, but valid π
If the new configuration after mode adjustment is identical to the current configuration, the helper function returns without performing any other operation. Literally βsame vibe, byeβ π¦
If the adjusted mode is identical to the current mode but changes to the frame buffer need to be applied, drm_crtc_helper_set_config calls the CRTC drm_crtc_helper_funcs.mode_set_base helper operation. So: same mode, but frame buffer updates? It hits mode_set_base π
If the adjusted mode differs from the current mode, or if the ->mode_set_base helper operation is not provided, the helper function performs a full mode set sequence by calling the ->prepare, ->mode_set and ->commit CRTC and encoder helper operations, in that order. Order matters, bestie β do not shuffle it π Alternatively it can also use the dpms and disable helper operations. For details see struct drm_crtc_helper_funcs and struct drm_encoder_helper_funcs π
β οΈ deprecated alert β this function is deprecated. New drivers must implement atomic modeset support, for which this function is unsuitable. Instead, drivers should use drm_atomic_helper_set_config. That's not a maybe, that's the official move, periodt π
π RETURN π
Returns 0 on success, negative errno numbers on failure. Clean, simple, iconic β¨
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/drm_crtc_helper.coverview(9) drm_helper_encoder_in_use(9)drm_helper_crtc_in_use(9)drm_helper_disable_unused_functions(9)drm_crtc_helper_set_mode(9)drm_crtc_helper_atomic_check(9)drm_helper_connector_dpms(9)drm_helper_resume_force_mode(9)drm_helper_force_disable_all(9)
byeee bestie π«Ά this page's source/version is ./drivers/gpu/drm, dated October 2026, and it's the drm_crtc_helper_set_config(9) page. Now go forth and set that config β or better yet, use atomic helpers ππ
π¦ 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