colorlight-blaster/README.md

1.7 KiB

colorlight-blaster

Control Colorlight 5A-75B LED "receiver" boards using raw ethernet frames from Linux.

colorlight.py script accepts 128x128 RGB (24-bit) bitmap stream and sends it out over ethernet (interface can be adjusted using COLORLIGHT_IFACE, defaults to enp0s31f6)

launch-led script can be used to spawn a single command in a dedicated Xephyr (embedded Xorg "desktop") server, output from which will be automatically captured and transmitted to the LED panel using colorlight.py. Usage examples:

./launch-led xterm
./launch-led mpv -fs -vo xv movie.mp4
./launch-led projectMSDL

Configuration

  • COLORLIGHT_IFACE - ethernet interface name to use as output (default: enp0s31f6)
  • XEPHYR_RES - adjust internal xephyr resolution (default 512)

Requirements

colorlight.py should work using plain python3.

launch-led requires gstreamer, xdotool and xephyr (contains built-in nix-shell shebang so should theoretically work straight away if you have nix installed)

Limitations

colorlight.py is currently hardcoded to transmit 128x128 bitmap on bottom right quadrant of 256x256 panel (due to how our panel is wired up right now). This is not an issue, unless you want to build your own LED panel from scratch.

Keep in mind Colorlight 5A-75B board needs to be configured first (if brand new) using LEDVision software (Windows-only). This is not an issue, unless you want to build your own LED panel from scratch.

LEDVision versions before 9.0 have built-in (raw ethernet transmission) functionality equivalent to this script (although with somewhat limited framerate) - this is somewhat of a solution if you are looking for Windows support.