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);
| ^
|
||
|---|---|---|
| .github/workflows | ||
| data | ||
| docs | ||
| include/aquamarine | ||
| nix | ||
| protocols | ||
| src | ||
| tests | ||
| .clang-format | ||
| .gitignore | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
| aquamarine.pc.in | ||
| flake.lock | ||
| flake.nix | ||
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