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§
- Atomic
Commit Flags - Commit flags for atomic mode setting
- Clip
Rect - Describes a rectangular region of a buffer
- Crtc
List Filter - 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
Event
s of a device. Create viaDevice::receive_events()
. - FbCmd2
Flags - Planar framebuffer flags
- Lease
Resources - List of leased resources
- Mode
- Resolution and timing information for a display mode.
- Mode
Flags - Display mode flags
- Mode
Prop Flags - Mode property flags
- Mode
Type Flags - Display mode type flags
- Page
Flip Event - Page Flip event
- Page
Flip Flags - Flags to alter the behaviour of a page flip
- Property
Value Set - Wrapper around a set of property IDs and their raw values.
- Resource
Handles - The set of
ResourceHandles
that aDevice
exposes. Excluding Plane resources. - Vblank
Event - Vblank event
Enums§
- Event
- An event from a device.
- GetPlanar
Framebuffer Error - Error from
Device::get_planar_framebuffer
- Page
Flip Target - Target to alter the sequence of page flips
- Plane
Type - Type of a plane
Traits§
- Device
- This trait should be implemented by any object that acts as a DRM device and provides modesetting functionality.
- Resource
Handle - Handle for a drm resource
Functions§
Type Aliases§
- LeaseId
- Id of a Lease
- RawResource
Handle - Raw handle for a drm resource