Module control

Source
Expand description

Modesetting operations that the DRM subsystem exposes.

§Summary

The DRM subsystem provides Kernel Modesetting (KMS) functionality by exposing the following resource types:

  • FrameBuffer - Specific to an individual process, these wrap around generic GPU buffers so that they can be attached to a Plane.

  • Planes - Dedicated memory objects which contain a buffer that can then be scanned out by a CRTC. There exist a few different types of planes depending on the use case.

  • CRTC - Scanout engines that read pixel data from a Plane and sends it to a Connector. Each CRTC has at least one Primary Plane.

  • Connector - Represents the physical output, such as a DisplayPort or VGA connector.

  • Encoder - Encodes pixel data from a CRTC into something a Connector can understand.

Further details on each resource can be found in their respective modules.

§Usage

To begin using modesetting functionality, the Device trait must be implemented on top of the basic super::Device trait.

Modules§

atomic
Helpers for atomic modesetting.
connector
Connector
crtc
CRTC
dumbbuffer
DumbBuffer
encoder
Encoder
framebuffer
Framebuffer
plane
Plane
property
Property
syncobj
SyncObj

Structs§

AtomicCommitFlags
Commit flags for atomic mode setting
ClipRect
Describes a rectangular region of a buffer
CrtcListFilter
A filter that can be used with a ResourceHandles to determine the set of Crtcs that can attach to a specific encoder.
Events
Iterator over Events of a device. Create via Device::receive_events().
FbCmd2Flags
Planar framebuffer flags
LeaseResources
List of leased resources
Mode
Resolution and timing information for a display mode.
ModeFlags
Display mode flags
ModePropFlags
Mode property flags
ModeTypeFlags
Display mode type flags
PageFlipEvent
Page Flip event
PageFlipFlags
Flags to alter the behaviour of a page flip
PropertyValueSet
Wrapper around a set of property IDs and their raw values.
ResourceHandles
The set of ResourceHandles that a Device exposes. Excluding Plane resources.
VblankEvent
Vblank event

Enums§

Event
An event from a device.
GetPlanarFramebufferError
Error from Device::get_planar_framebuffer
PageFlipTarget
Target to alter the sequence of page flips
PlaneType
Type of a plane

Traits§

Device
This trait should be implemented by any object that acts as a DRM device and provides modesetting functionality.
ResourceHandle
Handle for a drm resource

Functions§

from_u32
Convert from a raw drm object value to a typed Handle
get_lease
Query lease resources

Type Aliases§

LeaseId
Id of a Lease
RawResourceHandle
Raw handle for a drm resource