Go to file
Jan Beich 5d08afba5a Add missing headers for BSDs
src/allocator/GBM.cpp:137:17: error: use of undeclared identifier 'close'
  137 |                 close(attrs.fds.at(j));
      |                 ^
src/allocator/GBM.cpp:159:9: error: use of undeclared identifier 'close'
  159 |         close(attrs.fds.at(i));
      |         ^
src/backend/Session.cpp:141:5: error: use of undeclared identifier 'close'
  141 |     close(fd);
      |     ^
src/backend/Wayland.cpp:44:9: error: use of undeclared identifier 'close'
   44 |         close(fd);
      |         ^
src/backend/Wayland.cpp:63:9: error: use of undeclared identifier 'close'
   63 |         close(drmState.fd);
      |         ^
src/backend/Wayland.cpp:658:13: error: use of undeclared identifier 'close'
  658 |             close(fd);
      |             ^
src/backend/Wayland.cpp:668:13: error: use of undeclared identifier 'close'
  668 |             close(fd);
      |             ^
src/backend/Wayland.cpp:676:9: error: use of undeclared identifier 'close'
  676 |         close(fd);
      |         ^
2024-07-07 16:10:40 +03:00
.github/workflows CI: disable tests 2024-07-01 19:14:37 +03:00
data drm: implement edid parsing 2024-07-02 13:15:56 +02:00
docs docs: add env 2024-07-02 14:43:50 +02:00
include/aquamarine drm: check for timeline support for explicit sync 2024-07-06 17:45:47 +02:00
nix Nix: add hwdata dep 2024-07-02 19:53:21 +03:00
protocols Wayland: Initial progress 2024-06-18 18:45:05 +02:00
src Add missing headers for BSDs 2024-07-07 16:10:40 +03: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
CMakeLists.txt cmake: require hw-s 0.4.0 2024-07-05 23:46:50 +02: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
aquamarine.pc.in core: Initial stuff 2024-06-18 11:38:26 +02:00
flake.lock flake.lock: update 2024-07-06 16:22:07 +03:00
flake.nix Nix: overlay libinput 1.26 until merged in Nixpkgs 2024-07-03 20:43:43 +03:00

README.md

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