heeheehee
NVIDIA on Wayland has known issues. AMD on Wayland is fine, except AMD doesn't care about an outdated swapchain frame. Either way, NVIDIA on X11 works fully as intended
Both providers on Wayland seem to like to segmentation-fault when destroying a swapchain. Still looking to fix this from happening, since it's probably a bug here rather than in Wayland lol.
Make sure to:
- Pull the git submodules before building
./scripts/init-submodules.shWithin the root directory of the source tree, run make -j$(nproc) to compile the object files of the library. Run make test -j$(nproc) to also compile and link src/main.c for testing.
! Make sure to run make clean before switching build targets (Windows, Linux) !
Some Makefile variables you can define to influence the compilation and linkage are:
WINDOWS := trueto compile into a dynamically linked Windows PE. See Microsoft Windows - Cross-compilation for details.
More variables can be set to specify- for example- library paths. In practice, the format for such a variable follows the following pattern: *_[INCLUDE/LIBRARY]_DIRECTORY.
For example:
- GLFW_INCLUDE_DIRECTORY := /path/to/GLFW/headers/directory
- GLFW_LIBRARY_DIRECTORY := /path/to/GLFW/lib/directory
Take a look at make/variables.mak as for an idea as to how this works
Keep in mind that these often won't need to be set if you're compiling on Linux, for Linux. This is because Linux is cool and the fact that package managers exist make sure that a default path specified in the compiler is usually used.
See also: General prerequisites
sudo pacman -S base-devel vulkan-devel glfw shadercsudo pacman -S clangSee: Makefile targets
While this project is cross-compilable from Linux to Windows, compilation on Windows is not yet supported.
Install the mingw-w64 toolchain packaged by your Linux distribution of choice. You will also likely need to set up some Makefile variables (See: Makefile variables). Afterwards you run your make command of choice. See: Makefile targets. After all is done, put a copy of glfw3.dll into the root directory (this may be a symlink) before running the packaging script.
- When resizing a Vulkan Window too quickly and for too long, an error will occur stating that a new Swapchain could not be created. This issue has been recorded on X11.
- Additionally, on NVIDIA, this will also cause a crash to occur.