Modified version (forked in Dec 2014) which includes various improvements for Windows, esp. a Desktop Duplication API Grabber
Table of Contents:
Short Description
Main Features
Supported Devices and Protocols
Making Plugins
Useful URLs
Build Prismatik with Windows
Build with Linux
Build with OS X
Build Firmware
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.
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)
Ambilight
Sound Visualizers
Mood Lamps
Profiles
Network accessible API (documentation)
Prismatik supports multiple Lightpack devices and merges them into one. For other devices, you have two options to run on mulitple monitors:
--config-dir
command line option) with each configured for one monitor/device.
See #280 for details.%QTDIR%
(sysdm.cpl → Advanced → Environment Variables → New) to something like C:\Qt\x.xx.x\msvc_xxxx\
.build-vars.prf
(this will render the update check ineffective).build-vars.prf
.<repo>/Software
build-vars.prf
according to your machineupdate_locales.bat
or ./update_locales.sh
(slow on Windows)scripts/win32/generate_sln.bat
(from the Visual Studio Developer prompt / vcvarsall.bat
)Lightpack.sln
with MSBuild / VisualStudioscripts/win32/prepare_installer.sh
. (This builds the autoupdater (UpdateElevate), needs the submodule checked out and currently works only with VS2015).dist_windows/script.iss
(64bit) or script32.iss
(32bit) with ISCC (the InnoSetup compiler)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
libappindicator-dev
libnotify-dev
libgtk2.0-dev
gnome-shell-extension-appindicator
for a working tray iconopenssl
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/distlinux/*/Dockerfile for your particular package backend if available)
<repo>/Software
./update_locales.sh
qmake -r
make
<repo>/Software/bin
If you target your current system / package backend:
cd Software/dist_linux
./build-natively.sh
to list available backends (dpkg
, pacman
, flatpak
, ...)./build-natively.sh <package-backend>
<package-backend>/
folderYou can also target a different distribution / backend combination via docker (this assumes docker is up and running on your system):
cd Software/dist_linux
./build-in-docker.sh
to list backends./build-in-docker.sh <package-backend> <os-image-name> <os-image-tag>
:
./build-in-docker.sh dpkg debian 10.6
./build-in-docker.sh dpkg ubuntu 18.04
./build-in-docker.sh pacman archlinux latest
<package-backend>/
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)
Instead of building a deb package, you can:
<repo>/Software/dist_linux/deb/etc/udev/rules.d/93-lightpack.rules
for how to do it.<repo>/Software/qtserialport/libQt5SerialPort.so.5
is available for loading by Prismatik (place it in appropriate dir or use LD_LIBRARY_PATH variable)<repo>/Software
./update_locales.sh
qmake -r
make
./scripts/macos/generate_xcode_project.sh
Lightpack.xcodeproj
macdeployqt bin/Prismatik.app -dmg
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.
Compiling Firmware Only:
sudo apt-get install gcc-avr binutils-avr avr-libc
cd Firmware
make LIGHTPACK_HW=7
(or any other hardware version 4-7)./build_batch.sh
to build the firmware for all hardware versionsCompiling and Uploading Firmware to Device:
sudo apt-get install gcc-avr binutils-avr avr-libc avrdude dfu-programmer
cd Firmware
make LIGHTPACK_HW=7 && make dfu LIGHTPACK_HW=7
(or any other hardware version 4-7)Please let us know if you find mistakes, bugs or errors. Contributions are welcome.
Post new issue : https://github.com/psieg/Lightpack/issues