Back to index
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.