Third alpha version
Pre-releaseOpenX32 - Third alpha version
We are proud to release the third alpha version of the OpenSource Operating System for the Behringer X32. It is the first version with stable audio-processing within the DSPs and full support for the newer Lattice ECP5-versions of the X32-boards.
As the system is full of microcontrollers, an FPGA and two DSPs, several individual files are in the scope of this first release:
Files in this release
- dcp_corefs_openx32.run
- This is the compiled Linux-Kernel in version 6.18 LTS ready to be loaded via an USB-thumbdrive on booting up the X32 console (like any regular firmware-update for the X32)
- if Linux is not loaded, press and hold the "View"-Button next to the USB-connector when starting the X32
- x32ctrl
- the main Linux application that controls the X32-hardware like scribble-strips, faders, buttons, encoders, etc.
- offers a nice GUI based on LVGL v9.3 on the built-in display
- controls the FPGA and DSP
- binary is compiled as static, so no dependencies are there
- xilinx.bit and lattice.bit
- bitstream to configure the Xilinx Spartan 3A FPGA or the Lattice ECP5 FPGA
- support for all 32x XLR inputs, 16x XLR outputs, 6x AUX in/out, Talkback-mics and Expansion Card in/outs
- support 1:1 routing between all inputs and outputs
- support for UltraNet output
- dsp1.ldr
- configuration-file for the main Analog Devices ADSP-21371 SHARC DSP (dsp1)
- support for 40-channel audio-mixing
- noisegate and compression implemented for 32 channels (EQ is not working at the moment)
- audio-level-metering
- dsp2.ldr
- configuration-file for the secondary Analog Devices ADSP-21371 SHARC DSP (dsp2)
- receiver for 24 audio-channels from main-dsp
- creates test-sine-waves with different frequencies on all 24 output-channels back to main-DSP (keep volume low when switching to these channels)
How to use this stuff
- Extract ZIP-file and copy all individual files together with "dcp_corefs_openx32.run" to an USB thumbdrive
- Plugin USB thumbdrive to X32 console and power it on (if the DCP-Bootloader is not showing up, press and hold VIEW-button next to USB-port)
- OpenX32 will boot after file has been checked
- After Linux has booted, remove the USB drive, connect an USB-hub with keyboard, reconnect the USB-thumbdrive and mount the USB thumbdrive:
mount /dev/sda1 /mnt/usb
cd /mnt/usb
- Run the following commands to start the system:
./startXilinx.sh (if you are using an older device with Xilinx FPGA - original Firmware starts with "FX12" on booting up)
./startLattice.sh (if you are using a newer device with Lattice FPGA - original Firmware starts with "FL12" on booting up)
- Connect a microphone to XLR input 1-32 or any AUX-input and some loudspeakers to control-room outputs
- Use regular channel-faders and main-fader to control volume
Known issues
- Linux is booting into a shell, but you need a keyboard with USB-hub and the steps mentioned above to get the main-software up and running
- EQ is not working at the moment
- AES50 is not implemented yet, but all other hardware-features are already available
- No enhanced audio-mixing options are available - just Gate/Compressor per Channel and a general main-bus-mixing
Outlook
Besides these issues try it out and enjoy this cool device from a totally different point of view. These files will not change anything on the SD-card or the general hardware so a simple power-cycle is enough to bring back the original operating system. Perhaps you would like to participate in this project - now that the general system is up and running, lots of great things could be done with this device.
This open-source version of the X32 only includes about 20% of the features of the original system. Think of it primarily as a way to better understand complex digital audio systems. Feel free to create an issue here on GitHub if you have ideas or feedback.