-
-
Notifications
You must be signed in to change notification settings - Fork 31
Manual build process
This guide is meant for developers who wants to customize or build Firefly Luciferin from sources.
Firefly Luciferin uses Java 14
Package API to create the Windows/Linux installer.
If you are running Windows 8 or Windows 10 you can use Desktop Duplication API (DDUPL), it's the fastest implementation yet, no lag, no stutter, very small usage of resources. DDUPL is accessed via JNA using the GStreamer bindings for Java.
GStreamer
is bundled with the installer thanks for the maven-compiler-plugin.
If you want to use your custom GStreamer SDK you need:
- GStreamer core
- GStreamer system plugins
- GStreamer system plugins for capturing
Wix Toolset binaries is in /build_tools/wixtools
folder, add it to the path if you want to create the binaries under Windows using jpackage.
- Simply git clone the project.
- mvn clean
- mvn package
Maven will create a FireflyLuciferin-jar-with-dependencies.jar
that will be bundled with the installer.
Generated jar is executable.
To create the binary installer, simply run:
jpackage -i ./target --type exe --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon ./data/img/luciferin_logo.ico --win-menu --win-menu-group Ambilight --copyright "Davide Perini" --name "Firefly Luciferin" --vendor DPsoftware --win-dir-chooser --win-shortcut --win-per-user-install --win-shortcut --win-shortcut-prompt --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
jpackage -i target --main-class org.dpsoftware.JavaFXStarter --main-jar FireflyLuciferin-jar-with-dependencies.jar --icon data/img/luciferin_logo.png --linux-shortcut --copyright "Davide Perini" --name FireflyLuciferin --vendor DPsoftware --app-version "${{steps.get-id.outputs.id}}" --java-options "-XX:+UseZGC -Xms64m -Xmx1024m"
Firefly Luciferin has a continuos integration pipeline that creates the Windows Linux installer on every Git Tag.
Another pipeline build the Glow Worm Luciferin firmware here.
Glow Worm Luciferin firmware can be built with the PlatformIO platform.
pio pkg outdated
platformio run
- Compatible hardware
- Official PCBs (with Case)
- RGB and RGBW support
- Supported GPIO and Baud Rate
- Device reset
- How to set up multiple monitors
- Power saving features
- Hardware button
- Surround lighting with satellites
- Color temperature and Gamma
- Color grading: HSL tuning
- Light effects
- Smoothing color transitions
- Aspect ratio
- Eye care and night mode
- Themes
- Profiles
- Group LEDs
- Test image and latency test
- Update management
- Static IP and auto discovery
- Tray icon shortcuts
- Linux support
- Using the Access Point
- Home Assistant integration