Prismatik is an open-source software to control Lightpack devices. It grabs the screen, analyzes the picture, calculates resulting colors, and provides soft and gentle lighting with a Lightpack device. Moreover, you can handle other devices with Prismatik such as Adalight, Ardulight, or even Alienware LightFX system.
Prismatik is an open-source software designed to control Lightpack devices and provide dynamic lighting effects based on screen content. It captures and analyzes images in real-time, calculates optimal colors, and delivers soft, immersive lighting through compatible hardware.
Key Features:
Compatible with a variety of devices, including Lightpack, Adalight, Ardulight, and Alienware LightFX.
Real-time screen analysis to generate responsive and customizable lighting effects.
Support for creating and saving custom profiles to tailor the lighting experience.
Integration with external hardware for enhanced customization and control.
Open-source architecture, enabling community contributions and modifications.
Audience & Benefit:
Ideal for creative professionals, gamers, and enthusiasts seeking immersive visual experiences. Prismatik enhances creativity by transforming screen content into dynamic, customizable lighting effects, offering versatility across different devices and environments. Its open-source nature ensures flexibility and adaptability to suit diverse needs.
Modified version (forked in Dec 2014) which includes various improvements for Windows, esp. a Desktop Duplication API Grabber
Lightpack is a fully open-source and simple hardware implementation of the backlight for any computer. It's a USB content-driven ambient lighting system.
Prismatik is an open-source software we buid to control Lightpack devices. It grabs the screen, analyzes the picture,
calculates resulting colors, and provides soft and gentle lighting with a Lightpack device. Moreover, you can
handle other devices with Prismatik such as Adalight, Ardulight, or even Alienware LightFX system.
Main Features:
Fully open-source under GPLv3 (hardware, software, firmware)
Cross-platform GUI (Qt)
USB HID (no need to install any drivers)
The device is simple to build (just Do-It-Yourself)
optional (if you want to create an installer) POSIX shell utilities MSYS for example.
optional any 1.1OpenSSL binaries to include them in the setup. If you just want to build, you can skip them in build-vars.prf (this will render the update check ineffective).
optional BASS and BASSWASAPI for the Sound Visualizer. You can skip them in build-vars.prf.
Build Process:
Go to /Software
Copy and edit build-vars.prf according to your machine
Optional: if locales changed: run update_locales.bat or ./update_locales.sh (slow on Windows)
Run scripts/win32/generate_sln.bat (from the Visual Studio Developer prompt / vcvarsall.bat)
Build Lightpack.sln with MSBuild / VisualStudio
Building an Installer:
Run scripts/win32/prepare_installer.sh. (This builds the autoupdater (UpdateElevate), needs the submodule checked out and currently works only with VS2015).
Build dist_windows/script.iss (64bit) or script32.iss (32bit) with ISCC (the InnoSetup compiler)
Build Instructions for Linux
Prerequisites:
You will need the following packages, usually all of them are in distro's repository:
qtbase5-dev
qtchooser
qttools5-dev-tools
libqt5serialport5-dev
build-essential
pkg-config
libusb-1.0-0-dev
libudev-dev
if you are using Unity DE: libappindicator-devlibnotify-devlibgtk2.0-dev
if you are using gnome you'll need gnome-shell-extension-appindicator for a working tray icon
not required, but the update checker uses SSL sockets: openssl
for sound visualizer: libpulse-dev, libfftw3-dev (edit build-vars.prf(.default) and comment out PULSEAUDIO_SUPPORT to disable the feature)
(this is a Debian based example, see Software/dist_linux/*/Dockerfile for your particular package backend if available)
Build Process:
Go to /Software
Optional: if locales changed: run ./update_locales.sh
Run qmake -r
Run make
Resulting binary will be in /Software/bin
Building a Package:
If you target your current system / package backend:
cd Software/dist_linux
Run ./build-natively.sh to list available backends (dpkg, pacman, flatpak, ...)
Run ./build-natively.sh
Resulting package should be in / folder
You can also target a different distribution / backend combination via docker (this assumes docker is up and running on your system):
cd Software/dist_linux
Run ./build-in-docker.sh to list backends
Run ./build-in-docker.sh :
./build-in-docker.sh dpkg debian 10.6
./build-in-docker.sh dpkg ubuntu 18.04
./build-in-docker.sh pacman archlinux latest
Resulting package should be in / folder
(os-iamge-name/os-image-tag should be available on hub.docker.com or existing on your system, they will be used as a base for the Prismatik builder image)
Manual Deployment:
Instead of building a deb package, you can:
Add a rule for UDEV. See comments from /Software/dist_linux/deb/etc/udev/rules.d/93-lightpack.rules for how to do it.
Make sure /Software/qtserialport/libQt5SerialPort.so.5 is available for loading by Prismatik (place it in appropriate dir or use LD_LIBRARY_PATH variable)
Optional: if locales changed: run ./update_locales.sh
CLI
Run qmake -r
Run make
or Xcode
Run ./scripts/macos/generate_xcode_project.sh
Open Lightpack.xcodeproj
Building a dmg package:
Run macdeployqt bin/Prismatik.app -dmg
Firmware Build Instructions
Updating Firmware on Windows:
If you don't want to build the firmware yourself, you can follow the documentation for flashing the latest firmware on Windows.
Please note that these instructions are for Debian based systems.