HDMI CONNECTOR PROPERTIES(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… HDMI connector properties ๐Ÿ’… (Kernel API Manual, bestie)

Okay so picture this: you're deep in the Kernel API Manual and you hit this page, and it's literally all about the โœจpropertiesโœจ that live on an HDMI connector. Two of them. That's it. And they're both giving main character energy, so let's go ๐Ÿซถ


๐ŸŽ€ Broadcast RGB (HDMI specific)

So this property tells you which Quantization Range is being used โ€” like, Full vs Limited, the classic duo ๐Ÿ’…

The way it works: the color processing pipeline gets adjusted to match whatever value the property holds, and the Infoframes get generated and sent accordingly. Everything stays in sync, no cap.

Important vibe check: this property is only relevant if the HDMI output format is RGB. If it's one of the YCbCr variant, it will be ignored. Literally ignored. Don't come for it ๐ŸŒธ

Also โ€” and this is the part people skip โ€” the CRTC attached to the connector must be configured by user-space to always produce full-range pixels. That's on you, bestie, not on the kernel.

The value of this property can be one of the following:

  • Automatic โ€” the quantization range is selected automatically based on the mode, according to the HDMI specifications (HDMI 1.4b - Section 6.6 - Video Quantization Ranges) ๐Ÿ“–
  • Full โ€” full quantization range is forced. Periodt.
  • Limited 16:235 โ€” limited quantization range is forced. And like, despite the name suggesting otherwise, this works for any number of bits-per-component. The name is lowkey lying to you, but it's fine ๐Ÿซ 
โš ๏ธ Real talk: property values other than Automatic can result in colors being off (if limited is selected but the display expects full), or a black screen (if full is selected but the display expects limited). Black screen. BLANK. Nothing. So maybe don't just yolo it ๐Ÿ˜ญ

Drivers can set up this property by calling drm_connector_attach_broadcast_rgb_property. That's the hookup, iykyk โœจ


๐ŸŽฌ content type (HDMI specific)

This one indicates the content type setting to be used in HDMI infoframes, so the external device knows what kind of content it's getting and adjusts its display settings accordingly. It's basically telling the display "hey bestie, this is what you're looking at" ๐Ÿ‘€

The value of this property can be one of the following:

  • No Data โ€” content type is unknown
  • Graphics โ€” content type is graphics
  • Photo โ€” content type is photo
  • Cinema โ€” content type is cinema
  • Game โ€” content type is game ๐ŸŽฎ

The meaning of each content type is defined in CTA-861-G table 15 โ€” go read the table, it's iconic.

Drivers can set up this property by calling drm_connector_attach_content_type_property. And the decoding to infoframe values is done through drm_hdmi_avi_infoframe_content_type ๐Ÿ’–


โœจ SEE ALSO โœจ

Buckle up, this list is long โ€” the whole DRM connector cinematic universe. Every single one, in order, no skipping ๐Ÿ“


That's the whole page, bestie. Go forth and configure your CRTC correctly ๐Ÿ’œ

๐ŸŽ€ mwah ๐ŸŽ€ โ€” this one lives over in ./drivers/gpu/drm, dated October 2026, and it slays every time โœจ

๐Ÿ“ฆ where this page comes from