Tobias J. Endres bff295502f Feat: Increase default change threshold to reduce flickering
Addresses flickering issue by increasing _changeThreshold_m in hyperiongrabber.cpp from 100 to 5000. This filters out subtle pixel variations that caused unnecessary frame updates to WLED.
2025-08-15 22:34:00 +02:00
2020-11-22 11:38:49 -05:00
2019-06-22 22:53:40 -04:00

Hyperion_Grabber_Wayland_QT

Hyperion image grabber for Wayland / Linux. https://github.com/hyperion-project

Compilation

To compile run cmake . && make, qt6 (core / gui / multimedia / multimediawidgets ; qt6-base, qt6-multimedia on arch) libraries are required.

Wayland Proof of Concept

This project now includes a proof-of-concept Wayland grabber, wayland_poc. This executable is used to test and develop screen capturing on Wayland.

To build and run the Wayland POC:

  1. Make sure you have the required dependencies installed (Qt6, PipeWire).
  2. Build the project: cmake . && make
  3. Run the executable: ./wayland_poc

This will open a window and, after you grant permission in the system's dialog, it will display a capture of your screen.

Usage

Run Hyperion_Grabber_Wayland_QT with no arguments or argument --help to get a list of options and descriptions.

Example usage: Hyperion_Grabber_X11_QT --address 192.168.2.213 --port 19444 --frameskip 1 --scale 48 --inactive 600 --redadjust "255,10,0" --greenadjust "75,210,0" --blueadjust "0,10,160" --temperature "255,255,255" --threshold "0.0,0.0,0.0" --transform "1.0,0.0,1.0"

Info

The -i option can turn off the Hyperion LED's after a configurable amount of time.

The -s option will scale your input resolution by dividing it by this option. If your display is 3840x2160 and you put in -s 10, the image sent to Hyperion will be 384x216 for example You should set this option so the image resolution sent to Hyperion is at least the size of your LED array, if you have for example 64 high by 36 wide of LED's, you would want to set -s to 60 or smaller (between 1 and 60) on a 3840x2160 display. The closer to 1 this setting is, the more CPU / bandwith will be used. Ideally you want a perfect dividor, for example if your LED array is 70x39 and screen sis 3840x2160, then you get (3840/70) 54.86 for the width and (2160/39) 55.38 for the height, the nearest perfect dividor is 48 (3840/48 = 80 ; 2160/48 = 45), if you were to use 54, then there would be rounding error (3840/54 = 71.111, but is truncated to 71) and the image sent to hyperion will not be correctly scaled.

Contributing

There are probably bugs, please submit a pull request if you can.

Description
No description provided
Readme MIT 13 MiB
Languages
Makefile 58.9%
C++ 20.2%
C 20%
CMake 0.8%
Dockerfile 0.1%