STRUCT DRM_PROPERTY_BLOB(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct drm_property_blob(9) ✨

okay so bestie, welcome to the Kernel API Manual β€” this one's about struct drm_property_blob, and it's honestly kind of a whole vibe. let's get into it πŸ’…


πŸŽ€ NAME πŸŽ€

struct drm_property_blob β€” the blob data for &drm_property. that's it, that's the tweet 🐦


πŸ¦‹ SYNOPSIS πŸ¦‹

struct drm_property_blob {
    struct drm_mode_object base;
    struct drm_device *dev;
    struct list_head head_global;
    struct list_head head_file;
    size_t length;
    void *data;
 };

🌸 Members 🌸

lowkey the most important part, so pay attention bestie 🫢

  • base β€” the base KMS object. every icon needs a foundation, periodt ✨
  • dev β€” the DRM device. literally the main character here πŸ‘‘
  • head_global β€” entry on the global blob list in drm_mode_config.property_blob_list. she's on the big list πŸ’–
  • head_file β€” entry on the per-file blob list in drm_file.blobs list. and she's also on the smaller, more exclusive list πŸŽ€
  • length β€” size of the blob in bytes, invariant over the lifetime of the object. so like, this number does not change, no cap, it's locked in for life πŸ”’
  • data β€” the actual data, embedded at the end of this structure. the real payload, the whole point, the ~good stuff~ πŸ“

🌈 Description 🌈

okay so here's the tea β˜• β€” Blobs are used to store bigger values than what fits directly into the 64 bits available for a drm_property. 64 bits is cute but sometimes you need MORE, y'know? and that's where blobs come in, slay πŸ’…

Blobs are reference counted using drm_property_blob_get and drm_property_blob_put. they know their worth and they keep track of it πŸ’– and they are created using drm_property_create_blob. that's the origin story, the creation myth, iconic ✨


🌟 SEE ALSO 🌟

go check these out too, iykyk πŸ‘€


and that's the page bestie!! πŸ¦‹ this lil gem lives in ./include/drm, and the version stamp says October 2026 β€” so like, future vibes fr fr 😭✨ go forth and blob responsibly πŸ’œπŸŽ€

πŸ“¦ where this page comes from