HyperHDR Changelog

What's new in HyperHDR 20.0.0.0 Beta 2

Feb 23, 2024
  • SD images are available again and are based on Debian Bullseye, so they will not fit RPi 5: use the official Raspberry Pi installer for this board. It is explained here: link1
  • Fix: Fedora uses xz as the package name, not xz-utils #771 Thanks @hsmalley
  • Fix LUT loading bug to reduce memory usage by 96MB #766
  • Fix background music effect #761
  • Fix typo #762 Thanks @laurens94
  • Yeelight: Wizard now supports more models, workaround for music-mode reset, auto-resume support #750 Thanks @ratawhisk
  • Fix verbose command line option #723
  • Add native build for Apple M1 / M2 (arm64) architecture #755
  • New features: disable LEDs/components on startup #737
  • New features: stop processing when user has locked the system #737
  • Force HyperSerial detection #732 Thanks @alex-013
  • Fix Linux DBus sleep/wakeup handler
  • Fix pipewire grabber for non-contiguous DMA memory & EGL #711 Thanks @Mic92
  • Update build scripts and include Ubuntu 24.04 LTS
  • Fixes for v20beta1 #705

New in HyperHDR 20.0.0.0 Beta 1 (Dec 23, 2023)

  • Refactoring. Migration to C++ Smart Pointers. Move almost all main objects management under control of modern C++ smart pointers, fully control complicated life-cycle and ownership of HyperHDR components #691
  • Windows/DirectX: use hardware acceleration (pixel & vertex shaders) for software capturing. Fixes issue #688 → #691
  • Windows/DirectX: fix overexposed HDR stream with pixel shader. Fixes issue #689 → #691
  • Windows/DirectX: autodetect HDR mode.Fixes issue #690 → #691
  • Automatic database backup before applying structure changes when installing new version, json backups are saved in standard HyperHDR configuration home directory #691
  • Smoothing clock is integrated directly within led driver: no more two separated & unsynchronized clocks for smoothing and led driver, also much more precise refresh times. #691
  • HyperHDR driver for WLED has been switched to WLED Audio-Reactive-Led-Strip protocol removing old 490 LEDs limit https://github.com/Aircoookie/WLED/wiki/UDP-Realtime-Control #691
  • switch libCEC to mainstream since version 6.x is widely available now #691
  • Linux: audio stream auto-resume on EPIPE error #691
  • Improved headers including for faster compilation #691
  • JSON API security vulnerability fixed #691
  • Add video buffer memory caching to Pipewire grabber #691
  • Fixed the LUT calibration page by removing potential scrollbars that could interfere with the final result #691
  • Support for Pico (rp2040) boards using HyperSPI #691
  • Fix over 500LEDs limit for HyperSPI when RPi5 is used #691
  • Improved installers script #691
  • Address CodeQL findings #691
  • Fix logging tab that can be empty when opened and add button to copy logs #691
  • ArtNet LED Controller: add toggle to prevent pixel color data split across two artnet universes. Fixes issue #657 → #691
  • Ability to change MQTT Topic. Fixes issue #619 → #691
  • MQTT: auto-resume. Fixes issue #570 → #691
  • MQTT ability to execute multiply commands in one request. Fixes issue #642 → #691
  • Each MQTT subcommand will return full response in the overall result at HyperHDR/JsonAPI/response #691
  • Fix typo in LED strip name #670 Thanks @fluchfux
  • Pipewire DMA & EGL hardware support (Wayland/x11 grabber) #556
  • Upgrade Fedora 38 to 39, Ubuntu 23.04 to 23.10 #667
  • Colorized logs #640
  • Fix macOS build #638 #671 #672
  • Update language file's. Thanks @AstaRom #617
  • Make bonjour use logging utilities. Thanks @nurikk #529
  • New interface: removed ancient Font Awesome 4 (so 2017...) Migrate to SVG: Bootstrap Icons and Google Material Icons/Symbols #605
  • New device discovery service #605
  • Stability improvements & bug fixing #605
  • Fix QT5.15 issue when building on Windows #605
  • Add new effect: Rainbow Waves #607
  • MQTT: hostname address resolver. Thanks @lougovsk #586
  • V4L: allow setting of V4L device input, fixes #537. Thanks @Thinner77 #540
  • Update flatbuffers to v23.5.26 #596
  • Pause the USB grabber when all LEDs are off to reduce load #608
  • Add support for HD108 led strip, 16/48bits colors #527
  • Use optional system libs for compiling #541
  • Update mbedtls to 3.4.0 #589
  • Add Ubuntu support to HyperHDR and Github Pages APT repository #522
  • New JsonAPI method to calculate average color of selected instance #611
  • Workaround for critical Rpi udev bug affecting serial ports #583
  • Add Arch Linux support #520
  • Fix chrome/edge fullscreen detection #519
  • Add automatic LUT downloader & installer #568
  • Allow LUT calibration when no USB grabber is present #518
  • Live update WLED/udpraw LEDs number #564
  • Add support for Raspberry Pi Pico (Rp2040) HyperSerialPico #560
  • Do not use TurboJPEG for RGB during calibration #508
  • Update Github actions/checkout@v3 #403
  • glibc requirements for DEB installer #402
  • Remove folders nesting #363
  • New JSON API method to update smoothing parameters #352
  • Update Github actions/download@v3 #372
  • Remove depraciated ::set-output from Github Action #390
  • Upgrade Bootstrap to 5.2.3 / improved 'video live preview' on smartphones #336
  • Update language file's. Thanks @AstaRom #505

New in HyperHDR 19.0.0.0 (Feb 13, 2023)

  • New features:
  • Added support for entertainment api v2 (hue gradient strips) (#471) Many thanks to @gibahjoe great job!
  • HyperHDR got new packages repository (Github Pages). More details: https://awawa-dev.github.io/ Also RPM packages are available there and Arch Linux installers are planned.
  • The SD images that come with this release are already linked to the HyperHDR repository, so a future update should be much simpler.
  • Add support for ESP32-S2 mini board. It requires latest HyperSerialESP32 v9 . This firmware brings also support for parallel multi-segments, that allows to double the refresh rate of large sk6812/ws2812b setups for free (a proper LED strip design is required)
  • ESP8266/ESP32 handshake for the AWA Adalight (#432)
  • Save/restore WLED state and set max brightness at startup (#353)
  • Adalight: auto-resume and ESP8266/ESP32 auto-discovery (#494)
  • Add support for utv007 / Linux (#423)
  • LED strip designer context menu incl. blink selected LED, zoom, edit, move, disable, delete single LED (more: #379)
  • Modifiable SPI path with device auto-detection (more: #346)
  • Flatbuffers: multiple custom LUT files support (more: #334)
  • Fix:
  • Automatic signal detection timing (#410)
  • Fix the black color for disabled LEDs (#419)
  • Fix: critical unicolor averaging bug causing very dark colors (more: #379)
  • Fix: web LED live simulator doesn't update (more: #337)
  • Fix: Improved HyperHDR web server startup (more: #351)
  • Fix: Restore support for ZasLuke Capture card (more: #335)
  • Fix: Philips Hue: do not treat stream errors as critical when retrying
  • Align SPI buffer for HyperSPI to 4 bytes
  • Fix: Use longer reset pulse (#468) Thanks @nurikk
  • Improvements:
  • Improved LED device performance (dropping frames that have exceeded the hardware capabilities of the LED device, UDP/SPI devices are not affected as the process is handled by the OS)
  • Update de.json (#411) Thanks @Duese123
  • Update nl.json (#491) Thanks @NicoLouis-be
  • Update Github actions/upload@v3 (#373)
  • Unified internal clocks (more: #355)
  • Colored cmake output (more: #364)
  • Support for precompiled headers (more: #359)
  • Improved REST API network driver (WLED, Philips Hue etc) (more: #354)
  • Github Action: upgrade runner to macos-12 (more: #341)
  • Update actions/cache@v3 (more: #371)

New in HyperHDR 19.0.0.0 Beta 2 (Dec 12, 2022)

  • New features:
  • HyperHDR got new packages repository (Github Pages). More details: https://awawa-dev.github.io/ Also RPM packages are available there and Arch Linux installers are planned.
  • The SD images that come with this release are already linked to the HyperHDR repository, so a future update should be much simpler.
  • Add support for ESP32-S2 mini board. It requires latest HyperSerialESP32 v8 firmware https://github.com/awawa-dev/HyperSerialESP32/releases/tag/v8.0.0.0 . This firmware brings also support for multi-segments, that allows to double the refresh rate of large sk6812/ws2812b setups for free (well, at least proper LED strip design is required (#432)
  • Save/restore WLED state and set max brightness at startup (#353)
  • Add support for utv007 / Linux (#423)
  • Fix:
  • Automatic signal detection timing (#410)
  • Fix the black color for disabled LEDs (#419)
  • Improvements:
  • Improved LED device performance (dropping frames that have exceeded the hardware capabilities of the LED, UDP/SPI devices are not affected as the process is handled by t

New in HyperHDR 19.0.0.0 Beta 1 (Nov 6, 2022)

  • New features:
  • LED strip designer context menu incl. zoom, edit, move, disable, delete single LED (more: #379)
  • Modifiable SPI path with device auto-detection (more: #346)
  • Flatbuffers: multiple custom LUT files support (#334)
  • Bug fixing:
  • Fix: critical unicolor averaging bug causing very dark colors (more: #379)
  • Fix: web LED live simulator doesn't update (more: #337)
  • Fix: Improved HyperHDR web server startup (more: #351)
  • Fix: Restore support for ZasLuke Capture card (more: #335)
  • Fix: Philips Hue: do not treat stream errors as critical when retrying
  • Improvements:
  • Colored cmake output (more: #364)
  • Unified internal clocks (more: #355)
  • Support for precompiled headers (#359)
  • Improved REST API network driver (WLED, Philips Hue etc) (#354)
  • Github Action: upgrade runner to macos-12 (more: #341)
  • Update actions/cache@v3 (more: #371)

New in HyperHDR 18.0.0.0 (Aug 22, 2022)

  • New features:
  • Registering HyperHDR services with the MQTT broker
  • System event support: hibernation/sleep/wake up/resume
  • WLED Configuration Wizard can discover WLED devices on the network
  • Added WLED auto-resume initialization and improved existing Philips Hue auto-resume feature
  • Reworked network discovery service and added Windows support
  • Frame Buffer software screen grabber (Linux)
  • New config option to fix static flickering for DX11 grabber (#275)
  • Improved Philips Hue wizard
  • Protocol buffers HDR tone mapping (mainly for Android Screen Grabber #263)
  • Replaced protobuf with a lightweight nanopb library
  • Limit for software screen grabbers increased to 60FPS
  • New software grabber for Linux: Wayland (pipewire/portal). Support for Ubuntu 22.04 LTS!
  • Wayland grabber: support for pipewire/portal protocol version 4 persistent authentication
  • New fully automatic LUT calibration for HDR/SDR/YUV
  • New set of dedicated LUT tables for supported grabbers
  • 30% improved performance for MJPEG HDR mode
  • Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI (Adalight HyperSPI)
  • New dynamic video cache buffers (improved performance, fixes #142)
  • Performance information panel in the overview tab:
  • CPU performance and RAM usage (excluding Apple M1)
  • CPU temperature reading (Linux only, when the sensor is present)
  • Under-voltage detection (Raspberry Pi OS only)
  • USB grabber performance (shows framerate and latency)
  • Instance input images to LED colors performance
  • LED device output performance
  • New JSON API function to control USB grabber: brightness, contrast, saturation, hue
  • USB grabber latency benchmark (link)
  • HDR tone mapping for flatbuffers (PR #215 thanks @chbartsch)
  • Dynamic LED layout resize on the container size changed
  • Improved and refactored LED devices model and communication
  • Flatbuffers: HDR tone mapping can use alternative filename: flat_lut_lin_tables.3d
  • FlatBuffers: add support for high performance local sockets (link)
  • The new build scheme allows graberless configuration and usage of external toolchains
  • Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR (link1 link2)
  • Bug Fixing:
  • Fix variuos memory leaks reported by diagnostic tools
  • Fix Philips Hue reconnection issues
  • Synchronize interface to FlatBuffers HDR state when no USB grabbers are present in the build
  • Fix for DirectX11 grabber secondary monitor capturing (fixes #223)
  • Fix translations for parametrized items. Germany resources corrected (thanks @tuxuser)
  • Fix for broken LED raw JSON editor (fixes #235)
  • Fix looped communication in the remote tab
  • Fix restart issue of X11 software screen grabber (fixes #167)
  • Fix LED devices on/off race condition
  • Fix saving Yeelight configuration (fixes #133)
  • Fix inter-thread communication
  • Fix saving changed Philips Hue configuration
  • Fix LED devices state synchronization
  • Fix invoking setting static color from the system menu
  • Ignore Bluetooth devices during Adalight auto-discovery
  • ProviderRestApi and ProviderUdpSSL are rewritten to fix variuos related issues
  • ProviderUdpSSL (Philips Hue) ability to resume the connection when the communication stream is broken
  • Fix for the undervoltage detection for newer Raspberry Pi OS
  • Improvements:
  • Migration from Pi-gen to CustomPiOS (Rpi SD images)
  • Utilizing and migration to C++ smart pointers
  • Move the flatbuffer server to separate thread
  • Upgrade MBEDTLS to version 3.1
  • Upgrade FlatBuffers to version 2.0.0
  • Switch to mainline libjpegturbo 2.x
  • Use prebuild protobuf compiler for Windows or the system library for other targets
  • Updated rpi_ws281x library
  • Windows and macOS releases are using QT6.2 LTS
  • Windows: migrate the solution and documentation to Visual Studio 2022
  • Removed: tinkerforge and USB-HID support
  • Removed: LED device latch time
  • Community:
  • mjoshd Home Assistant HyperHDR integration plugin https://github.com/mjoshd/hyperhdr-ha
  • ihrapsa HA plugin to install HyperHDR https://github.com/ihrapsa/hassio-addons

New in HyperHDR 18.0.0.0 Beta 3 (Jun 4, 2022)

  • Registering HyperHDR services with the MQTT broker
  • System event support: hibernation/sleep/wake up/resume
  • WLED Configuration Wizard can discover WLED devices on the network
  • Added WLED auto-resume initialization and improved existing Philips Hue auto-resume feature
  • Reworked network discovery service and added Windows support
  • Frame Buffer software screen grabber (Linux)
  • New config option to fix static flickering for DX11 grabber (#275)
  • Improved Philips Hue wizard
  • Protocol buffers HDR tone mapping (mainly for Android Screen Grabber #263)
  • Replaced protobuf with a lightweight nanopb library
  • Limit for software screen grabbers increased to 60FPS
  • Fix for the undervoltage detection for newer Raspberry Pi OS

New in HyperHDR 18.0.0.0 Beta 2 (May 4, 2022)

  • New features:
  • New software grabber for Linux: Wayland (pipewire/portal). Support for Ubuntu 22.04 LTS!
  • Wayland grabber: support for pipewire/portal version 4 protocol persistent authentication
  • New fully automatic LUT calibration for HDR/SDR/YUV
  • New set of dedicated LUT tables for supported grabbers
  • 30% improved performance for MJPEG HDR mode
  • Add white channel calibration for RGBW led strips and latest HyperSerialEsp8266/HyperSerialESP32/HyperSPI (Adalight HyperSPI)
  • New dynamic video cache buffers (improved performance, fixes #142)
  • Performance information panel in the overview tab
  • CPU performance and RAM usage (excluding Apple M1)
  • CPU temperature reading (Linux only, when sensor is present)
  • Under-voltage detection (Raspberry Pi OS only)
  • USB grabber performance (shows framerate and latency)
  • Instance input images to LED colors performance
  • LED device output performance
  • New JSON API function to control USB grabber: brightness, contrast, saturation, hue
  • USB grabber latency benchmark (link)
  • HDR tone mapping for flatbuffers (PR #215 thanks @chbartsch)
  • Dynamic LED layout resize on the container size changed
  • Improved and refactored LED devices model and communication
  • Flatbuffers: HDR tone mapping can use alternative filename: flat_lut_lin_tables.3d
  • FlatBuffers: add support for high performance local sockets (link)
  • The new build scheme allows graberless configuration and usage of external toolchains
  • Add popular 'UDP raw' (WLED compatible) receiver for HyperHDR (link1 link2)
  • Bug Fixing:
  • Fix variuos memory leaks reported by diagnostic tools
  • Fix Philips Hue reconnection issues
  • Synchronize interface to FlatBuffers HDR state when no USB grabbers are present in the build
  • Fix for DirectX11 grabber secondary monitor capturing (fixes #223)
  • Fix translations for parametrized items
  • Fix for broken LED raw JSON editor (fixes #235)
  • Fix looped communication in the remote tab
  • Fix restart issue of X11 software screen grabber (fixes #167)
  • Fix LED devices on/off race condition
  • Fix saving Yeelight configuration (fixes #133)
  • Fix inter-thread communication
  • Fix saving changed Philips Hue configuration
  • Fix LED devices state synchronization
  • Fix invoking setting static color from the system menu
  • Ignore bluetooth devices during Adalight auto-discovery
  • ProviderRestApi and ProviderUdpSSL are rewritten to fix variuos related issues
  • ProviderUdpSSL (Philips Hue) ability to resume the connection when the communication stream is broken
  • Improvements:
  • Migration from Pi-gen to CustomPiOS (Rpi SD images)
  • Utilizing and migration to C++ smart pointers
  • Move the flatbuffer server to separate thread
  • Upgrade MBEDTLS to version 3.1
  • Upgrade FlatBuffers to version 2.0.0
  • Switch to mainline libjpegturbo 2.x
  • Use prebuild protobuf compiler for Windows or the system library for other targets
  • Updated rpi_ws281
  • Windows and macOS releases are using QT6.2 LTS
  • Windows: migrate solution and documentation to Visual Studio 2022
  • Removed: tinkerforge and USB-HID support
  • Removed: LED device latch time

New in HyperHDR 17.0.0.0 (Dec 19, 2021)

  • Changelog (v17 key highlights can be found on the HyperHDR blog link ):
  • fix for default LUT table for both SDR (yuv/nv12/i420) and HDR video stream: BT2020 color space matrix multiplication bug, truncating values to the allowed range and apply proper processing order. First & major LUT table update since v14 (important: included after v17 beta2 so testers need to upgrade HyperHDR and recalibrate automatic signal detection if used)
  • upgrade ancient Bootstrap 3 to version 5 (the core of the user interface)
  • replace and update most of UI components, new layout picture1, picture2, picture3, picture4, picture5, picture6
  • software screen grabbers (Windows: DirectX11 / Linux:X11 / macOS:CoreGraphics) pictureWin
  • pictureLin pictureMac #46
  • automatic signal detection with smart learning capability for USB grabbers (you can have only one algorithm enabled at the time: automatic one or the old, difficult to setup and unreliable manual one) picture1 picture2 picture3 picture4 picture5 picture6
  • new feature: auto-resume option for video grabbers when capturing stops for some reason (for example: changing the resolution or refresh rate of the incoming video stream) picture1
  • re-implemented backup import / export function for ALL instances settings in place of the old functionality that clumsily imitated creating of backups, which in many cases resulted in data loss picture1
  • current video stream information in the 'overview' tab picture1
  • support for my new HyperSPI project (https://github.com/awawa-dev/HyperSPI) with awa_spi LED driver picture1
  • new video stream crop method in JSON API picture1 #64
  • JSON API documentation in a form of live playground in 'Advanced' tab picture1
  • new feature: execute multiple JSON commands via GET request using single link picture1
  • LED grouping aka PC mode aka gradient mode, can help with eye fatigue when used with the monitor, each LED in the group has same average color picture1, you can even improve the effect with the anti-flickering filter with threshold set to 255
  • add timeout for the anti-flickering filter picture1
  • fix: in specific cases some devices could not react to 'no-signal' when it's triggered
  • translation resources are updated
  • new panel for easy video resolution & refresh mode selection picture1 picture2
  • add release for AARCH64 architecture #68 PERFORMANCE INCREASED UP to 30% COMPARED to Rpi 32bits: 32bit 1280 32bit 1920 64bit 1280 64bit 1920
  • fix for WLED new network protocol #90
  • HDR tone mapping is available as a global component picture1 picture2 picture3
  • new feature: add list of available COM ports for the adalight driver picture1
  • removed redundant default JSON config in favour of JSON Schemas defaults
  • fix missing Linux taskbar icon
  • support for libCEC 6.0.2 to turn on/off video & system grabber picture1
  • support for libCEC to turn on/off HDR tone mapping with remote buttons (CEC or libCEC is quite buggy here and dependent on the hardware, with LG C9 must restart TV to make them work) picture1
  • HyperHDR is ready for QT6.2 (tested with the preview version/Vulkan/Windows)
  • lower CPU usage when automatic signal detection triggers 'nosignal' ('save resources' for software framerate decimation) picture1 #93
  • standardize libJPEG-turbo library (where it's necessary)
  • fix values premature clipping in the LUT generator & SDR preview rendering fix, access available now from the menu ('Advanced' tab)
  • suppress most of external components' warnings while building
  • faster image to LED colors transformation
  • import 'sparks' and 'system shutdown' effects to the new effect API #75
  • upgrade: rpi_ws281x library
  • better logging with instances' indexes
  • fixed power saving issue in macOS version
  • fixed memory leaks in SPI drivers
  • Boblight changed from built-in to optional component