[![](https://git.klemek.fr/klemek/forge-invar/actions/workflows/lint.yml/badge.svg?branch=main&style=flat-square)](https://git.klemek.fr/klemek/forge-invar/actions?workflow=lint.yml) # F.O.R.G.E. (Invar) **⚠️ This repo is a work in progress** > **F**usion **O**f **R**eal-time **G**enerative **E**ffects *Invar version (Eurorack module)* Discover an engine where user-defined fragment shaders collide to produce stunning visuals. ## Install ## 1. Prepare raspberry SD card Use [raspi-imager](https://www.raspberrypi.com/software/) and select "Raspberry Pi OS Lite" (in other options) ## 2. Add project to rasp Re-mount SD card (auto unmounted by raspi-imager) ```bash # host make -f Makefile.dev rasp-init ``` ## 3. Install dependencies in raspberry Boot raspberry ```bash # raspberry cd /opt/forge-invar make install build ``` ## 4. Setup PAL output Re-mount SD card ```bash # host make -f Makefile.dev rasp-install ``` ## 5. Enjoy ## Links * https://www.raspberrypi.com/documentation/computers/config_txt.html * https://freedom251.com/raspberry-pi-5-how-to-make-composite-video-output/ * https://raspberry.tips/en/raspberrypi-tutorials/overclock-raspberry-pi-5 * https://raspberry.tips/en/raspberrypi-tutorials/raspberry-pi-overclocking-3-4-5 * https://www.baeldung.com/linux/opengl-check-working * https://ttt.io/glsl-raspberry-pi * https://manpages.org/weston * https://wayland.pages.freedesktop.org/weston/toc/kiosk-shell.html * https://man.archlinux.org/man/weston.ini.5.html * https://pimylifeup.com/raspberry-pi-screen-resolution/ * https://renesas-rz.github.io/rzg_hmi_sdk/v2.3.0.0/wiki/common_change-display-resolution/ * https://developer.technexion.com/docs/embedded-software/linux/usage-guides/display/setting-hdmi-resolution-in-weston * https://linuxvox.com/blog/linux-autologin/ * https://www.exploding-shed.com/synth-diy-guides/standards-of-eurorack/eurorack-dimensions/ * https://electricalflux.com/mcu-raspberry/i2c-oled-display-raspberry-pi-5-wiring-code * https://www.raspberrypi.com/documentation/computers/config_txt.html * https://www.raspberrypi.com/documentation/computers/configuration.html#cmdline * https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_bios * https://raspberrypihq.com/use-a-push-button-with-raspberry-pi-gpio/ * https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/ * https://sourceforge.net/p/raspberry-gpio-python/wiki/Inputs/ * https://gpiozero.readthedocs.io/en/stable/ * https://python-evdev.readthedocs.io/en/latest/tutorial.html#injecting-input * https://forums.raspberrypi.com/viewtopic.php?t=22841 ## TODO Logical * [x] Play on start * [x] disable services for faster boot * [x] remove texts on boot * [ ] special texts in demo vs classic * [x] Save while running * [x] I2C monitor screen write * [ ] fix logs on machine Physical * [x] I2C screen * [ ] Sync in * [x] buttons input (save/load states, random, reset, demo) * [ ] rasp compute * [ ] PAL/NTSC switch (hard)