A high level overview of the OGFX project.
The OGFX project aims to combine readily available software and easy to build hardware into a hackable, nerd-friendly, usable (guitar) effects platform.
This is a broad overview of the software components of the system:
- nixos/nixpkgs are used as the base of the system
- a realtime kernel (PREEMT_RT_FULL).
- one instance of jalv (made by drobilla, the author of the LV2 plugin standard) per plugin
- LV2 plugins including guitarix, fomp, swh, zam, mda, ...
- jack2 a.k.a jackdmp
- hostapd and dnsmasq to turn the machine into an access point enabling editing setups from mobile devices
- ogfx-ui, the web frontend, written in python 3.7
- ogfx-tool, some helper tools, mostly c++
The system is useful for us but it is not useful for the general public yet. We will release a version 0.1 when we think this has changed.
- http://github.com/OGFX/nixpkgs A fork of nixpkgs from the NIXOS operating system. This repository contains a branch called ogfx-nixos-20.03 which is the one the OGFX system is based upon
- http://github.com/OGFX/ogfx-ui A web frontend for the OGFX system,
- http://github.com/OGFX/ogfx-tools Some tools supporting the ogfx-ui
- http://github.com/OGFX/jack2 A fork of jack2
- http://github.com/OGFX/ogfx-nixos-rpi4 This repository contains the nix expressions to generate a bootable SD card image containing the OGFX system
- http://github.com/OGFX/ogfx86 A x86 based variant nixos configuration
- https://github.com/OGFX/ogfx-midi-controller The firmware for a teensy based midi controller
If you know what component has the bug, then please file an issue in the respective repository's issue tracker. Otherwise just file the bug in this repository:
https://github.com/OGFX/ogfx-overview/issues
-
You need to log into the system. There are mainly two ways:
-
Plug in an ethernet cable. The system is configured to use DHCP from your network. It will, if local name resolution is supported by your router, be reachable under the hostname "ogfx". If not, look into your router's interface and find the device. You will need to use this way for the initial setup of the system because some software artifacts will have to be downloaded.
-
Connect to the WIFI-network with ESSID "ogfx" which has been brought up by the system. Your device might complain about no internet access being available on this network - Connect to it anyways! The device will have the IP address 192.168.150.1. The passphrase is "omg it's fx"
-
After figuring out which of the two steps above you needed connect to the device via SSH on port 22 (the standard port). The username is "ogfx" and the password is "ogfx".
-
Use an editor to change the file
/etc/nixos/configuration.nix
. At leastvim
andnano
are included. The user "ogfx" is in the sudoers list, so usesudo
to edit that file. Thenetworking
section has the hostname of the device. Thehostapd
section has the ESSID and passphrase for the WIFI access point. Change those to your liking. -
After changing configuration.nix run this command to instantiate the changes:
sudo nixos-rebuild switch
and reboot afterwards:
sudo reboot
After the system rebooted your changes should have been made.
- Use the usual
passwd
command to change the password of the "ogfx" user.
- Change the last argument in the
services.jack.jackd.extraOptions
line in/etc/nixos/configuration.nix
to the ALSA pcm name of your USB device. Now runnixos-rebuild switch
and reboot (or optionally runsudo systemctl restart jack
and reattach your USB device. Usejournalctl -u jack
to check for jack's output and alsojournalctl -u ogfx-frontend
to see if the ogfx web UI started.
- Now you're ready to play with the system.
- It has your setups and racks and things..
This is fps' personal setup. Yours might look completely different.