All Projects → emersion → Libliftoff

emersion / Libliftoff

Licence: mit
Lightweight KMS plane library

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Libliftoff

X0
Document & develop React components without breaking a sweat
Stars: ✭ 1,706 (+2372.46%)
Mutual labels:  compositor
lab-cli
Command line utilities and exporting module for Compositor Lab
Stars: ✭ 52 (-24.64%)
Mutual labels:  compositor
Cage
A Wayland kiosk
Stars: ✭ 372 (+439.13%)
Mutual labels:  compositor
Iso
Build pages and prototypes with Lab UI components. No configuration or build setup required.
Stars: ✭ 158 (+128.99%)
Mutual labels:  compositor
lucurious
😱 Lucurious -> [Library] for building advanced DRM/KMS Vulkan Renderers 😱
Stars: ✭ 18 (-73.91%)
Mutual labels:  compositor
compton-kawase-blur
A compositor for X11.
Stars: ✭ 54 (-21.74%)
Mutual labels:  compositor
Sway
i3-compatible Wayland compositor
Stars: ✭ 9,854 (+14181.16%)
Mutual labels:  compositor
Glasscord
[BUGFIXES ONLY, SUPPORT WILL DROP MAR 1, 2021] Injecting composition effects into Electron applications!
Stars: ✭ 737 (+968.12%)
Mutual labels:  compositor
open-display-transform
Open Display Transform is a collection of tools and experiments for rendering wide-gamut scene-linear data into an image for an SDR or HDR display device.
Stars: ✭ 120 (+73.91%)
Mutual labels:  compositor
Lab
React UI component design tool
Stars: ✭ 349 (+405.8%)
Mutual labels:  compositor
Shell
🐚 QtQuick and Wayland shell for convergence
Stars: ✭ 168 (+143.48%)
Mutual labels:  compositor
Graphite
Open source 2D node-based raster/vector graphics editor (Photoshop + Illustrator + Houdini = Graphite)
Stars: ✭ 223 (+223.19%)
Mutual labels:  compositor
auteur
Live GStreamer node compositor service, implemented in rust
Stars: ✭ 24 (-65.22%)
Mutual labels:  compositor
Picom
A lightweight compositor for X11
Stars: ✭ 2,299 (+3231.88%)
Mutual labels:  compositor
River
A dynamic tiling wayland compositor
Stars: ✭ 513 (+643.48%)
Mutual labels:  compositor
Gen
Compositor JSX static site generator
Stars: ✭ 95 (+37.68%)
Mutual labels:  compositor
westford
Westford Wayland Compositor
Stars: ✭ 39 (-43.48%)
Mutual labels:  compositor
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-4.35%)
Mutual labels:  compositor
Dotfiles
i3 + Plasma: using the i3 window manager on the top of KDE Plasma and other dotfiles, configurations, scripts, workarounds and practises from my Debian Sid machines.
Stars: ✭ 651 (+843.48%)
Mutual labels:  compositor
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+6692.75%)
Mutual labels:  compositor

libliftoff

builds.sr.ht status

Lightweight hardware composer library for libdrm.

libliftoff eases the use of KMS planes from userspace without standing in your way. Users create "virtual planes" called layers, set KMS properties on them, and libliftoff will allocate planes for these layers if possible.

Resources:

Building

Depends on libdrm. Requires universal planes and atomic.

meson build/
ninja -C build/

Usage

See liftoff.h. Here's the general idea:

struct liftoff_device *device;
struct liftoff_output *output;
struct liftoff_layer *layer;
drmModeAtomicReq *req;
int ret;

device = liftoff_device_create(drm_fd);
output = liftoff_output_create(device, crtc_id);

layer = liftoff_layer_create(output);
liftoff_layer_set_property(layer, "FB_ID", fb_id);
/* Probably setup more properties and more layers */

req = drmModeAtomicAlloc();
if (!liftoff_output_apply(output, req)) {
	perror("liftoff_output_apply");
	exit(1);
}

ret = drmModeAtomicCommit(drm_fd, req, DRM_MODE_ATOMIC_NONBLOCK, NULL);
if (ret < 0) {
	perror("drmModeAtomicCommit");
	exit(1);
}
drmModeAtomicFree(req);

Contributing

Report bugs and send pull requests on GitHub.

We use the Wayland/Weston style and contribution guidelines, see Weston's contributing document.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].