1
0
Fork 0
mirror of https://github.com/hyprwm/aquamarine.git synced 2025-04-12 20:31:49 +02:00
Find a file
Tom Englund c8282f4982
atomic: fix compiler warning with string ()
the compiler tries to optimize this and inlines the +=, which might involve raw memcpy operations,
and in doing so, it thinks there is a chance that the internal buffer doesnt have enough space.
use ostringstream instead, and return the string from that.
2025-04-10 14:47:15 +02:00
.github/workflows CI: remove deprecated magic-nix-cache-action 2025-02-08 23:12:41 +02:00
data drm: implement edid parsing 2024-07-02 13:15:56 +02:00
docs drm: add AQ_NO_MODIFIERS to try to mitigate hardware limitations () 2024-09-06 01:00:39 +01:00
include/aquamarine backend, allocator: Fix mGPU backend + allocator swapchain combos () 2025-03-16 22:52:24 +01:00
nix nix: mesa -> libgbm 2025-03-14 08:35:25 +02:00
protocols Wayland: Initial progress 2024-06-18 18:45:05 +02:00
src atomic: fix compiler warning with string () 2025-04-10 14:47:15 +02:00
tests misc: Fix Attachment shared pointer reinterpret () 2025-03-10 18:41:37 +01:00
.clang-format core: Initial stuff 2024-06-18 11:38:26 +02:00
.clang-tidy core: add clang-tidy () 2025-01-22 22:39:30 +01: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 version: bump to 0.8.0 2025-03-16 22:00:48 +00:00
flake.lock misc: Fix Attachment shared pointer reinterpret () 2025-03-10 18:41:37 +01:00
flake.nix flake.nix: gcc13 -> gcc14 () 2024-12-16 22:22:52 +01:00
LICENSE Initial commit 2024-06-18 10:56:51 +02:00
README.md README: update state 2024-07-01 20:42:25 +02:00
VERSION version: bump to 0.8.0 2025-03-16 22:00:48 +00: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.

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