# 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.
