This is a v22.0.0beta1 test release intended for community evaluation and feedback before the stable version. The highlight of this update is the revolutionary Infinite Color Engine, which breaks the 24-bit barrier using high-precision floating-point arithmetic. By shifting transformations to linear sRGB space, we provide physically accurate light reproduction and native deep-color support for devices like Philips Hue and LIFX. This update also marks our transition to the C++20 standard, leveraging modern language features to improve code performance, robustness, and long-term maintainability.
Performance has been significantly optimized, with video decoding for YUV, NV12, and P010 codecs seeing speed improvements of up to 46%. Linux users will benefit from an enhanced Pipewire implementation featuring GPU scaling to drastically reduce CPU load. Additionally, we have added native PWM support for Raspberry Pi 5 and transitioned all installers to the modern Qt 6.8+ framework to reduce installer size and ensure version consistency across all supported distributions. We encourage you to test these new features and report any issues to help us finalize this major release.
Changelog
- Infinite Color Engine - Breaking 24-bit Limits (#1261)
- Floating-Point Precision: All color computations use high-precision floating-point arithmetic, eliminating cumulative rounding errors for more accurate results
- Linear sRGB Accuracy: Core color transformations are processed in linear sRGB space, ensuring physically correct and consistent light reproduction
- Deep-Color Support: Compatible devices, including Philips Hue lamps, LIFX and HD108 LEDs, can take advantage of rendering beyond standard 24-bit RGB color depth.
- Advanced color smoothing algorithms: inertia-based physics, exponential, and perceptually-uniform YUV/RGB interpolators for more fluid and natural color transitions
- Start migrating to modern C++20
- Add Hybrid RGB Smoothing Interpolator (#1379)
- Add Infinite Color Engine support to file LED driver (#1311)
- Infinite Color Engine: add LIFX support for beyond 24-bit rendering (#1299)
- Infinite Color Engine: fix for YUV & hybrid interpolators (#1302)
- Fix RGBCMYK calibration (#1369)
- Significant speedup for YUV/NV12/P010 and related codecs (#1374)
- Performance increased up to 46%
- Compared performance of RPi 5 vs N100 in HyperHDR video decoding benchmark
- Switched to modern C++20 format style logging
- Improved, faster Pipewire + option to disable EGL (#1397)
- GPU Scaling (EGL/DMA mode) - scales the desktop on the GPU; only the small final texture is sent to the CPU
- Optional HW acceleration - option to disable EGL in the Pipewire configuration
- Auto-resume - automatically restarts the grabber if dimensions change or the stream fails
- EGL texture caching - improves performance by reusing textures
- MemFD caching - reuses file descriptor memory mappings
- Add PWM support for Raspberry Pi 5 GPIO/PIO (#1317)
- Reported necessary kernel LED module changes to the RPi team
- Full FTDI and libFTDI dynamic runtime support. Thanks @nurikk-sa for help (#1155)
- libFTDI support on Linux/macOS
- support of manufacturer "ftd2xx.dll" driver on Windows
- Migrate ALL installers to Qt 6.8+. Breaking: docker build subsystem (#1203)
- reduced size of HyperHDR's installers
- Philips Hue driver: add option for linear or nonlinear RGB color output (#1401)
- for recommended nonlinear you may increase gamma to 2.2 in the processing tab
- Windows DX grabber: multi-monitor capturing status check & restart
- DirectX grabber: support for portrait mode (#1200)
- Update language files. Thanks @AstaRom (#1396, #1300, #1288, #1131, #1402, #1403)
- Smoothing: restore continuous output control + stricter end detection (#1337)
- Fix rendering w/o continuous output (#1377)
- Hide HyperHDR from the macOS Dock (#1345)
- Add replacement for libglib2.0-0 (armhf, Y2038 bug) (#1341)
- Add QElapsedTimer include to DriverNetLifx.cpp Thanks @arfoll (#1330)
- Add just released Ubuntu 25.10 & incoming Fedora 43 (#1304)
- Add Windows-2025, macOS-15-intel, Debian Trixie and migrate others (#1296)
- Fix for OpenSSL on macOS (needed by HTTPS/TLS) (#1290)
- Updated Home Assistant module to enable SSL support. Thanks @josh-blake (#1249)
- Don't rely on plutovg CMake script to detect C++11 threads support (#1253)
- Remove min/max limits to allow using only a very small part of the screen capture as input area. Thanks @markusressel (#1175)
- Update CMake configuration to add support for additional system libraries. Thanks @hatch01 (#1158)
- Add USE_SYSTEM_SDBUS_CPP_LIBS option (#1140)
- Update LunaSVG to v3.1.0 (#1139)
- Fix ENABLE_PIPEWIRE_EGL=OFF build (#1138)
- Amlogic grabber restore & refactor. Thanks @santievil (#1119)
- Fix Dutch translations. Thanks @dijkstrar (#1122)