Module drm::control[][src]

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

Structs

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().

Mode

Resolution and timing information for a display mode.

PageFlipEvent

Page Flip event

PlaneResourceHandles

The set of plane::Handle that a Device exposes.

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

AtomicCommitFlags

Commit flags for atomic mode setting Flags for an atomic commit

Event

An event from a device.

PageFlipFlags

Flags to alter the behaviour of a page flip

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

Type Definitions

RawResourceHandle

Raw handle for a drm resource