DRM database property: type

Back to index

Details

Name
type
Flags
immutable
Type
enum
Attached to
plane
Specification
{"Overlay", "Primary", "Cursor"}

Documentation

Immutable property describing the type of the plane.

For user-space which has enabled the &DRM_CLIENT_CAP_ATOMIC capability,
the plane type is just a hint and is mostly superseded by atomic
test-only commits. The type hint can still be used to come up more
easily with a plane configuration accepted by the driver.

The value of this property can be one of the following:

"Primary":
    To light up a CRTC, attaching a primary plane is the most likely to
    work if it covers the whole CRTC and doesn't have scaling or
    cropping set up.

    Drivers may support more features for the primary plane, user-space
    can find out with test-only atomic commits.

    Some primary planes are implicitly used by the kernel in the legacy
    IOCTLs &DRM_IOCTL_MODE_SETCRTC and &DRM_IOCTL_MODE_PAGE_FLIP.
    Therefore user-space must not mix explicit usage of any primary
    plane (e.g. through an atomic commit) with these legacy IOCTLs.

"Cursor":
    To enable this plane, using a framebuffer configured without scaling
    or cropping and with the following properties is the most likely to
    work:

    - If the driver provides the capabilities &DRM_CAP_CURSOR_WIDTH and
      &DRM_CAP_CURSOR_HEIGHT, create the framebuffer with this size.
      Otherwise, create a framebuffer with the size 64x64.
    - If the driver doesn't support modifiers, create a framebuffer with
      a linear layout. Otherwise, use the IN_FORMATS plane property.

    Drivers may support more features for the cursor plane, user-space
    can find out with test-only atomic commits.

    Some cursor planes are implicitly used by the kernel in the legacy
    IOCTLs &DRM_IOCTL_MODE_CURSOR and &DRM_IOCTL_MODE_CURSOR2.
    Therefore user-space must not mix explicit usage of any cursor
    plane (e.g. through an atomic commit) with these legacy IOCTLs.

    Some drivers may support cursors even if no cursor plane is exposed.
    In this case, the legacy cursor IOCTLs can be used to configure the
    cursor.

"Overlay":
    Neither primary nor cursor.

    Overlay planes are the only planes exposed when the
    &DRM_CLIENT_CAP_UNIVERSAL_PLANES capability is disabled.

Driver support

adp
amdgpu
apple
ast
bochs-drm
drm-rp1-dsi
evdi
exynos
gma500
i915
imx-dcss
imx-drm
imx-lcdif
jmgpu
kirin
mediatek
meson
mga2
msm
mxsfb-drm
nouveau
nvidia-drm
omapdrm
panel-mipi-dbi
pvr
qxl
radeon
rcar-du
rockchip
simpledrm
smifb
spacemit
starfive
sun4i-drm
sunxi-drm
tegra
tilcdc
vboxvideo
vc4
virtio_gpu
vkms
vmwgfx
vs-drm
xe
xlnx