Find a file
2024-07-01 19:14:37 +03:00
.github/workflows CI: disable tests 2024-07-01 19:14:37 +03:00
include/aquamarine core: allow specifying names for outputs 2024-07-01 14:52:50 +02:00
nix Nix: init 2024-07-01 10:52:16 +03:00
protocols Wayland: Initial progress 2024-06-18 18:45:05 +02:00
src wayland: avoid leaving the swapchain null on late displays 2024-07-01 14:59:16 +02:00
tests backend: rework event loop api 2024-06-27 00:07:59 +02:00
.clang-format core: Initial stuff 2024-06-18 11:38:26 +02:00
.gitignore Wayland: Initial progress 2024-06-18 18:45:05 +02:00
aquamarine.pc.in core: Initial stuff 2024-06-18 11:38:26 +02:00
CMakeLists.txt DRM: Steady progress on getting a usable session 2024-06-24 23:22:02 +02:00
flake.lock Nix: init 2024-07-01 10:52:16 +03:00
flake.nix Nix: init 2024-07-01 10:52:16 +03:00
LICENSE Initial commit 2024-06-18 10:56:51 +02:00
README.md README: mark wayland as done 2024-06-19 23:08:35 +02:00

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.

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