mirror of
https://github.com/hyprwm/aquamarine.git
synced 2026-05-08 17:48:13 +02:00
Read-only mirror of https://github.com/hyprwm/aquamarine
initMgpu already does build gl formats so remove the temp creation of allocator and renderer in onReady() that only built glformats, also if guard the creation of renderers and allocators to make it less likely to recreate one that is already existing. |
||
|---|---|---|
| .github/workflows | ||
| data | ||
| docs | ||
| include/aquamarine | ||
| nix | ||
| protocols | ||
| src | ||
| tests | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitignore | ||
| aquamarine.pc.in | ||
| CMakeLists.txt | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| VERSION | ||
Aquamarine
Aquamarine is a very light linux rendering backend library. It provides basic abstractions for an application to render on a Wayland session (in a window) or a native DRM session.
It is agnostic of the rendering API (Vulkan/OpenGL) and designed to be lightweight, performant, and minimal.
Aquamarine provides no bindings for other languages. It is C++-only.
Stability
Aquamarine depends on the ABI stability of the stdlib implementation of your compiler. Sover bumps will be done only for aquamarine ABI breaks, not stdlib.
Building
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
TODOs
- Wayland backend
- DRM backend (DRM / KMS / libinput)
- Virtual backend (aka. Headless)
- Hardware plane support