-
-
Notifications
You must be signed in to change notification settings - Fork 40
Compilation Guide
This guide will instruct you on how to build the GoXLR Utility from Source.
- A Git Client
- Install Rust
- For Linux:
- Debian:
sudo apt-get install pkg-config libdbus-1-dev libpulse0
- Fedora:
sudo dnf install pkgconf-pkg-config dbus-devel pulseaudio-libs
- Debian:
The following packages will be needed if doing the 'Linux Speedrun' build, or if you require TTS capabilities inside the utility to report button presses.
- Dependencies:
- Debian:
sudo apt-get install clang libspeechd-dev
- Fedora:
sudo dnf install clang speech-dispatcher-devel
- Debian:
Firstly, we need to get the code from github so we can build it. This is relatively simple, from a command line run: git clone https://github.com/GoXLR-on-Linux/goxlr-utility.git
then cd goxlr-utility
.
If you require a specific feature or development branch (for example, the dev-0.12.0
branch), you can switch to it using git checkout dev-0.12.0
.
If there have been new commits, and you need to update your source tree, simply run git pull
to update everything.
Linux needs to have permission from udev in order to be able to access the GoXLR in user space, so the following needs to be performed before you compile and attempt to run the utility:
sudo cp 50-goxlr.rules /etc/udev/rules.d/50-goxlr.rules && sudo udevadm control --reload-rules && sudo udevadm trigger
If you're simply building because you run a distribution where a package for the utility isn't available, or want to run closer to bleeding edge, there's a script available that will build the utility and install all the components into their correct system locations the same way a package would. Simply make sure you have the TTS dependencies and from the goxlr-utility
source directory, run ci/build-and-install.sh
. You'll be prompted for your password during this process while binaries, icons, and files are moved into the correct positions.
Building by hand is relatively simple, you start off with a single command:
cargo build
This will simply build the utility into the target/debug
directory. We can enhance the build in various ways:
- Support the TTS feature, install the needed dependencies and add
--features "tts"
to the build command - Create optimised binaries, add
--release
to the build command (Binaries are produced intarget/release
)
So for an optimised, TTS enabled release, you'd run:
cargo build --features "tts" --release
Once complete, you've got a build of the GoXLR Utility.
The utility creates several binaries, these can be found in either target/debug
or target/release
depending on the build method above. The binaries are (Under Windows, these will have a .exe
extension):
- goxlr-daemon - The Utilities Core Binary
- goxlr-client - The CLI Client for the Utility
- goxlr-launcher - A Tool to lauch the UI, and if needed, the daemon (Used in App Menus).
- goxlr-defaults - A 'package' of default profiles, mic profiles, icons and presets
- goxlr-initialiser - [DEPRECATED] A Tool to initialise the GoXLR for use
- goxlr-firmware - We don't talk about this.
Regardless of your intent, with the exception of goxlr-client
you should keep ALL of these files together, as they often depend on each other to function.
If you get here, you should have a build of the utility you can use, have fun and enjoy!