DRM_CAP_TIMESTAMP_MONOTONIC(9)
β¨ DRM_CAP_TIMESTAMP_MONOTONIC β¨
Okay bestie, so this is a page from the Kernel API Manual, and it's about one lil' capability flag called DRM_CAP_TIMESTAMP_MONOTONIC. The original NAME section is literally just the flag name with no description attached β iconic minimalist behavior, honestly. π
β¨ SYNOPSIS β¨
DRM_CAP_TIMESTAMP_MONOTONIC
That's the whole thing. Short and sweet, no arguments, no drama. π
πΈ DESCRIPTION πΈ
So here's the tea, bestie. This capability controls which clock the kernel uses when it stamps timestamps on your events. π₯
- If it's set to
0, the kernel will report timestamps withCLOCK_REALTIMEinstruct drm_event_vblank. - If it's set to
1, the kernel will report timestamps withCLOCK_MONOTONIC.
And if you're sitting there like "girl what even are those clocks," don't stress β check clock_gettime(2) for the definition of these clocks. iykyk π«Ά
Now, the timeline of it all, because history matters:
- Starting from kernel version
2.6.39, the default value for this capability is1. - Starting kernel version
4.15, this capability is always set to1.
So yeah, it's basically locked in at 1 now. Main character energy that never leaves. π
π¦ SEE ALSO π¦
Okay so this list is LONG and honestly kind of iconic β the kernel really said "let me introduce you to everyone." No gatekeeping here, periodt. π
In the kernel file, the page points at:
./tools/perf/trace/beauty/include/uapi/drm/drm.h
Structs and flags:
- struct
drm_gem_close(9) - struct
drm_gem_flink(9) - struct
drm_gem_open(9) - struct
drm_gem_change_handle(9) DRM_CAP_DUMB_BUFFER(9)DRM_CAP_VBLANK_HIGH_CRTC(9)DRM_CAP_DUMB_PREFERRED_DEPTH(9)DRM_CAP_DUMB_PREFER_SHADOW(9)DRM_CAP_PRIME(9)DRM_PRIME_CAP_IMPORT(9)DRM_PRIME_CAP_EXPORT(9)DRM_CAP_ASYNC_PAGE_FLIP(9)DRM_CAP_CURSOR_WIDTH(9)DRM_CAP_CURSOR_HEIGHT(9)DRM_CAP_ADDFB2_MODIFIERS(9)DRM_CAP_PAGE_FLIP_TARGET(9)DRM_CAP_CRTC_IN_VBLANK_EVENT(9)DRM_CAP_SYNCOBJ(9)DRM_CAP_SYNCOBJ_TIMELINE(9)DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP(9)DRM_CLIENT_CAP_STEREO_3D(9)DRM_CLIENT_CAP_UNIVERSAL_PLANES(9)DRM_CLIENT_CAP_ATOMIC(9)DRM_CLIENT_CAP_ASPECT_RATIO(9)DRM_CLIENT_CAP_WRITEBACK_CONNECTORS(9)DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT(9)DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE(9)- struct
drm_syncobj_eventfd(9)
The ioctls:
DRM_IOCTL_GEM_CLOSE(9)DRM_IOCTL_PRIME_HANDLE_TO_FD(9)DRM_IOCTL_PRIME_FD_TO_HANDLE(9)DRM_IOCTL_MODE_RMFB(9)DRM_IOCTL_MODE_CREATE_DUMB(9)DRM_IOCTL_MODE_GETFB2(9)DRM_IOCTL_SYNCOBJ_EVENTFD(9)DRM_IOCTL_MODE_CLOSEFB(9)DRM_IOCTL_SET_CLIENT_NAME(9)DRM_IOCTL_GEM_CHANGE_HANDLE(9)
And the events:
- struct
drm_event(9) DRM_EVENT_VBLANK(9)DRM_EVENT_FLIP_COMPLETE(9)DRM_EVENT_CRTC_SEQUENCE(9)
That's the whole squad. Go read them, they're all slaying in their own way. π
Lowkey a reminder bestie: if you're on a kernel4.15or newer, this thing is always1, so the0case is purely a vintage-collector situation. Don't come for me, that's just what the page says. π
π That's the whole page, fr fr β from the Kernel API Manual, sourced from a path starting ./tools/perf/trace/beauty/incl..., dated October 2026, and yes the header and footer both spell out DRM_CAP_TIMESTAMP_MONOTONIC(9) like the little matching bookends they are. Obsessed. πβ¨π¦
π¦ 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