Module ioctl

Source
Expand description

Low-level ioctl-based access to DRM devices.

Structs§

DrmCap
DrmCardDevice
DrmClientCap
DrmClipRect
DrmGetCap
DrmModeAtomic
DrmModeAtomicPtrs
DrmModeCardRes
DrmModeCreateBlob
DrmModeCreateDumb
DrmModeCrtc
DrmModeCrtcPageFlip
DrmModeDestroyBlob
DrmModeDestroyDumb
DrmModeFbCmd
DrmModeFbDirtyCmd
DrmModeGetConnector
DrmModeGetEncoder
DrmModeGetPlane
DrmModeGetPlaneRes
DrmModeGetProperty
DrmModeInfo
DrmModeMapDumb
DrmModeObjGetProperties
DrmModeObjSetProperty
DrmModePropertyEnum
DrmModeSetPlane
DrmSetClientCap
DrmSetVersion
DrmVersion
fixedu16_16
Fixed-point unsigned 16.16-bit number type, represented as u32.

Constants§

DRM_CAP_ADDFB2_MODIFIERS
If set to 1, the driver supports supplying modifiers in [DRM_IOCTL_MODE_ADDFB2].
DRM_CAP_ASYNC_PAGE_FLIP
If set to 1, the driver supports DRM_MODE_PAGE_FLIP_ASYNC for legacy page-flips.
DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP
If set to 1, the driver supports DRM_MODE_PAGE_FLIP_ASYNC for atomic commits.
DRM_CAP_CRTC_IN_VBLANK_EVENT
If set to 1, the kernel supports reporting the CRTC ID in crate::event::raw::DrmEventVblank::crtc_id for crate::event::raw::DRM_EVENT_VBLANK and crate::event::raw::DRM_EVENT_FLIP_COMPLETE events.
DRM_CAP_CURSOR_HEIGHT
A plane height that is valid to use for a cursor plane.
DRM_CAP_CURSOR_WIDTH
A plane width that is valid to use for a cursor plane.
DRM_CAP_DUMB_BUFFER
If set to 1, the driver supports creating “dumb buffers” via DRM_IOCTL_MODE_CREATE_DUMB.
DRM_CAP_DUMB_PREFERRED_DEPTH
The preferred bit depth for “dumb buffers”.
DRM_CAP_DUMB_PREFER_SHADOW
If set to 1, the driver prefers userspace to render to a shadow buffer instead of directly rendering to a dumb buffer. For best speed, userspace should do streaming ordered memory copies into the dumb buffer and never read from it.
DRM_CAP_PAGE_FLIP_TARGET
DRM_CAP_PRIME
Bitfield of supported PRIME sharing capabilities. See DRM_PRIME_CAP_IMPORT and DRM_PRIME_CAP_EXPORT.
DRM_CAP_SYNCOBJ
If set to 1, the driver supports sync objects.
DRM_CAP_SYNCOBJ_TIMELINE
If set to 1, the driver supports timeline operations on sync objects.
DRM_CAP_TIMESTAMP_MONOTONIC
If set to 0, the kernel will report timestamps with CLOCK_REALTIME in crate::event::raw::DrmEventVblank. If set to 1, the kernel will report timestamps with CLOCK_MONOTONIC.
DRM_CAP_VBLANK_HIGH_CRTC
If set to 1, the kernel supports specifying a CRTC index in the high bits of [DrmWaitVblankRequest::type].
DRM_CLIENT_CAP_ASPECT_RATIO
If set to 1, the DRM core will provide aspect ratio information in modes.
DRM_CLIENT_CAP_ATOMIC
If set to 1, the DRM core will expose atomic properties to userspace.
DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
Drivers for para-virtualized hardware (e.g. vmwgfx, qxl, virtio and virtualbox) have additional restrictions for cursor planes (thus making cursor planes on those drivers not truly universal,) e.g. they need cursor planes to act like one would expect from a mouse cursor and have correctly set hotspot properties. If this client cap is not set the DRM core will hide cursor plane on those virtualized drivers because not setting it implies that the client is not capable of dealing with those extra restictions. Clients which do set cursor hotspot and treat the cursor plane like a mouse cursor should set this property. The client must enable DRM_CLIENT_CAP_ATOMIC first.
DRM_CLIENT_CAP_STEREO_3D
If set to 1, the DRM core will expose the stereo 3D capabilities of the monitor by advertising the supported 3D layouts in the flags of struct drm_mode_modeinfo.
DRM_CLIENT_CAP_UNIVERSAL_PLANES
If set to 1, the DRM core will expose all planes (overlay, primary, and cursor) to userspace.
DRM_CLIENT_CAP_WRITEBACK_CONNECTORS
If set to 1, the DRM core will expose special connectors to be used for writing back to memory the scene setup in the commit. Depends on client also supporting DRM_CLIENT_CAP_ATOMIC
DRM_IOCTL_DROP_MASTER
DRM_IOCTL_GET_CAP
DRM_IOCTL_MODE_ADDFB
DRM_IOCTL_MODE_ATOMIC
DRM_IOCTL_MODE_CREATEPROPBLOB
DRM_IOCTL_MODE_CREATE_DUMB
DRM_IOCTL_MODE_DESTROYPROPBLOB
DRM_IOCTL_MODE_DESTROY_DUMB
DRM_IOCTL_MODE_DIRTYFB
Mark a region of a framebuffer as dirty.
DRM_IOCTL_MODE_GETCONNECTOR
DRM_IOCTL_MODE_GETCRTC
DRM_IOCTL_MODE_GETENCODER
DRM_IOCTL_MODE_GETFB
DRM_IOCTL_MODE_GETPLANE
DRM_IOCTL_MODE_GETPLANERESOURCES
DRM_IOCTL_MODE_GETPROPERTY
User-space can perform a GETPROPERTY request to retrieve information about a property. The same property may be attached to multiple objects.
DRM_IOCTL_MODE_GETRESOURCES
DRM_IOCTL_MODE_MAP_DUMB
DRM_IOCTL_MODE_OBJ_GETPROPERTIES
DRM_IOCTL_MODE_OBJ_SETPROPERTY
DRM_IOCTL_MODE_PAGE_FLIP
Request a page flip on the specified crtc.
DRM_IOCTL_MODE_RMFB
DRM_IOCTL_MODE_SETCRTC
DRM_IOCTL_MODE_SETPLANE
DRM_IOCTL_SET_CLIENT_CAP
DRM_IOCTL_SET_MASTER
DRM_IOCTL_SET_VERSION
DRM_IOCTL_VERSION
DRM_MODE_ATOMIC_ALLOW_MODESET
Allow the update to result in temporary or transient visible artifacts while the update is being applied. Applying the update may also take significantly more time than a page flip. All visual artifacts will disappear by the time the update is completed, as signalled through the vblank event’s timestamp.
DRM_MODE_ATOMIC_FLAGS
Bitfield of flags accepted by DRM_IOCTL_MODE_ATOMIC in DrmModeAtomic::flags.
DRM_MODE_ATOMIC_NONBLOCK
Do not block while applying the atomic commit. The DRM_IOCTL_MODE_ATOMIC request returns immediately instead of waiting for the changes to be applied in hardware. Note, the driver will still check whether the update can be applied before retuning.
DRM_MODE_ATOMIC_TEST_ONLY
Do not apply the atomic commit, and instead check whether the hardware supports this configuration.
DRM_MODE_CURSOR_BO
DRM_MODE_CURSOR_FLAGS
DRM_MODE_CURSOR_MOVE
DRM_MODE_FB_DIRTY_ANNOTATE_COPY
DRM_MODE_FB_DIRTY_ANNOTATE_FILL
DRM_MODE_FB_DIRTY_FLAGS
DRM_MODE_FB_DIRTY_MAX_CLIPS
DRM_MODE_OBJECT_ANY
DRM_MODE_OBJECT_BLOB
DRM_MODE_OBJECT_CONNECTOR
DRM_MODE_OBJECT_CRTC
DRM_MODE_OBJECT_ENCODER
DRM_MODE_OBJECT_FB
DRM_MODE_OBJECT_MODE
DRM_MODE_OBJECT_PLANE
DRM_MODE_OBJECT_PROPERTY
DRM_MODE_PAGE_FLIP_ASYNC
Request that the page-flip is performed as soon as possible, ie. with no delay due to waiting for vblank. This may cause tearing to be visible on the screen.
DRM_MODE_PAGE_FLIP_EVENT
Request that the kernel sends back a vblank event (see struct drm_event_vblank) with the crate::event::raw::DRM_EVENT_FLIP_COMPLETE type when the page-flip is done.
DRM_MODE_PAGE_FLIP_FLAGS
Bitmask of flags suitable for DrmModeCrtcPageFlip::flags.
DRM_MODE_PAGE_FLIP_TARGET
DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE
DRM_MODE_PAGE_FLIP_TARGET_RELATIVE
DRM_MODE_PRESENT_BOTTOM_FIELD
DRM_MODE_PRESENT_TOP_FIELD
DRM_MODE_PROP_BITMASK
DRM_MODE_PROP_BLOB
DRM_MODE_PROP_ENUM
DRM_MODE_PROP_EXTENDED_TYPE
DRM_MODE_PROP_IMMUTABLE
DRM_MODE_PROP_LEGACY_TYPE
DRM_MODE_PROP_OBJECT
DRM_MODE_PROP_PENDING
DRM_MODE_PROP_RANGE
DRM_MODE_PROP_SIGNED_RANGE
DRM_MODE_TYPE_DRIVER
DRM_MODE_TYPE_PREFERRED
DRM_MODE_TYPE_USERDEF
DRM_PRIME_CAP_EXPORT
If this bit is set in DRM_CAP_PRIME, the driver supports exporting PRIME buffers via [DRM_IOCTL_PRIME_HANDLE_TO_FD].
DRM_PRIME_CAP_IMPORT
If this bit is set in DRM_CAP_PRIME, the driver supports importing PRIME buffers via [DRM_IOCTL_PRIME_FD_TO_HANDLE].
DRM_PROP_NAME_LEN

Functions§

DRM_MODE_PROP_TYPE