Expand description
Low-level ioctl
-based access to DRM devices.
Structs§
- DrmCap
- DrmCard
Device - DrmClient
Cap - DrmClip
Rect - DrmGet
Cap - DrmMode
Atomic - DrmMode
Atomic Ptrs - DrmMode
Card Res - DrmMode
Create Blob - DrmMode
Create Dumb - DrmMode
Crtc - DrmMode
Crtc Page Flip - DrmMode
Destroy Blob - DrmMode
Destroy Dumb - DrmMode
FbCmd - DrmMode
FbDirty Cmd - DrmMode
GetConnector - DrmMode
GetEncoder - DrmMode
GetPlane - DrmMode
GetPlane Res - DrmMode
GetProperty - DrmMode
Info - DrmMode
MapDumb - DrmMode
ObjGet Properties - DrmMode
ObjSet Property - DrmMode
Property Enum - DrmMode
SetPlane - DrmSet
Client Cap - DrmSet
Version - DrmVersion
- fixedu16_
16 - Fixed-point unsigned 16.16-bit number type, represented as
u32
.
Constants§
- DRM_
CAP_ ADDF B2_ 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
forcrate::event::raw::DRM_EVENT_VBLANK
andcrate::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
andDRM_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
incrate::event::raw::DrmEventVblank
. If set to 1, the kernel will report timestamps withCLOCK_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
andvirtualbox
) 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 enableDRM_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
inDrmModeAtomic::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