Development¶
Requirements¶
A source build needs about 70 GB free. The setup targets Fedora:
$ make deps-fedora
$ make dev
The Qt launcher is make dev-qt. The dev log is target/shrimply-dev.log.
The build downloads Slang. You need curl, tar, and sha256sum.
To use a copy you already have, set SLANG_LIBRARY_DIR and
SLANG_INCLUDE_DIR.
CUDA Toolkit 12.9. GTX 900 through RTX 50 should work; that range is not fully tested. You still need an NVIDIA driver to run Shrimply.
macOS uses the same Makefile targets. make check there skips the Python
and documentation checks. Other platforms are unsupported.
Nix development environment¶
The flake provides Rust, the CUDA toolkit, Slang, and the native dependencies
for the GTK and Qt apps on x86_64-linux.
$ git submodule update --init --recursive
$ nix develop --accept-flake-config
$ make dev
The flake uses the NixOS CUDA binary cache. A multi-user Nix install may need that cache in the system Nix configuration before the daemon will trust it.
Build the GTK app:
$ nix build --accept-flake-config
$ ./result/bin/shrimply
You still need an NVIDIA driver. This package ships CUDA kernels for compute capability 8.6 (GeForce RTX 30-series).
Build and check¶
$ make dev
$ make build
$ make check
$ make test
$ make release
make dev-qt builds and launches the Qt app. make qt-build builds it
without launching. The binary is target/debug/shrimply-qt.
Build this site with make docs.
Docker [Experimental]¶
$ git submodule update --init --recursive
$ docker buildx build --target export --output type=local,dest=dist/stage .
Contributing¶
Read the contribution terms before submitting a change.