continuwuity-bsd/README.md
2026-07-08 19:20:15 -04:00

29 lines
No EOL
1.8 KiB
Markdown

# continuwuity-bsd
Build tools for releasing BSD packages for the [continuwuity](https://continuwuity.org/) Matrix homeserver.
- [FreeBSD](freebsd/)
- [OpenBSD](openbsd/)
- [NetBSD](netbsd/)
## Why aren't these in the ports trees?
Working on it.
## How do I run the continuwuity `main` branch?
A FreeBSD-only package is built every night from `main` and distributed in a `pkg`-compatible repository. See [NIGHTLY](NIGHTLY.md) for instructions on setting it up.
## Do I download the `generic` or `haswell` package?
TLDR: probably `haswell`, then `generic` if you encounter bizarre crashes running continuwuity.
`generic` is supported by every `x86-64` processor, making it a good choice for compatibility with CPUs older than 2013 or so.
`haswell` (which, despite the name, includes AMD Bulldozer-and-later processors) is supported by most modern processors and offers a range of performance optimizations that continuwuity's database engine takes advantage of.[^clmul] If your processor was released after 2013, `haswell` is likely the best option.
If you want to squeeze as much performance out of continuwuity as possible, you may clone this repo and perform a build native to your specific processor. Instructions to come.
## What about ARM?
For `aarch64` on FreeBSD, there's a `generic` package which targets Armv8.0-A (most single-board computers, like Raspberry Pis), and a `neoverse-n1` package for [Neoverse N1](https://en.wikipedia.org/wiki/ARM_Neoverse#Neoverse_N1) chips used by providers like Ampere, Hetzner, Azure, and AWS.
If you have an ARM-based cloud VM, you can probably use `neoverse-n1`.
[^clmul]: in addition to the other SIMD optimizations included in Haswell and Bulldozer, [RocksDB](https://rocksdb.org) benefits greatly from the [CLMUL instruction set](https://en.wikipedia.org/wiki/CLMUL_instruction_set), which enables fast CRC calculations.