11 Commits

Author SHA1 Message Date
7dbc11afe1 feat: Migrate Wayland POC to Qt6 and QScreenCapture 2025-08-14 19:43:28 +02:00
ab4bb5a7ec Refactor: Initial setup for Wayland POC with KDE-specific protocol and Docker build environment. 2025-08-14 19:07:12 +02:00
710918a622 feat: Refactor wayland_poc to use QDBus for xdg-desktop-portal interaction
This commit refactors the wayland_poc executable to use Qt's QDBus
module for interacting with xdg-desktop-portal. This approach bypasses
the problematic direct inclusion of PipeWire session manager headers
(e.g., session-manager.h) that were causing persistent compilation errors.

The wayland_poc now focuses solely on requesting screen capture permission
via D-Bus and retrieving the PipeWire node ID, without attempting to
create or manage PipeWire streams directly.

This change aims to provide a working foundation for the xdg-desktop-portal
interaction, which can then be integrated with the core PipeWire stream
capture logic (demonstrated by tutorial5.c).
2025-08-14 04:26:53 +02:00
cdc253bbc7 feat: Add Wayland screen capture POC using PipeWire
This commit introduces a standalone proof-of-concept (POC) for screen
capture on Wayland using PipeWire and xdg-desktop-portal.

The POC demonstrates:
- Initializing PipeWire context and core.
- Requesting screen capture permission via xdg-desktop-portal, which
  triggers a user consent dialog.
- Receiving the PipeWire node ID for the selected screen/window.
- Connecting a PipeWire stream to the capture node.
- Processing a single video frame from the PipeWire stream.
- Converting the raw frame data into a QImage and saving it as a PNG file.

This POC serves as a foundational step towards adapting the Hyperion
grabber to work natively on Wayland, replacing the existing X11-specific
grabbing logic.

Further work will involve integrating this logic into the main grabber
application and handling continuous frame processing.
2025-08-14 03:02:54 +02:00
kevin
e68da0a4cc Add a new method for determining user inactivity.
Fix some bugs.
2019-06-26 19:15:32 -04:00
kevin
621a8e2ce5 Set release flag on cmake 2019-06-24 15:59:34 -04:00
kevin
3f2c055515 Slightly optimize performance by caching some variables and frameskipping in the damage loop. 2019-06-24 15:57:32 -04:00
kevin
07ba3830a3 Reduce CPU usage by more than half by using QImage to do ABGR -> RGB conversion.
Now the main CPU hog is base64encoding the image data to send to Hyperion.
Don't sent signal as exit code.
2019-06-24 09:18:22 -04:00
kevin
ef28856d8b Remove uneeded package from CMakeLists 2019-06-23 14:17:38 -04:00
kevin
d39d4a687c Add functions / arguments to adjust LED's 2019-06-23 12:36:27 -04:00
kevin
4aa7578cf7 Adding files 2019-06-22 22:34:40 -04:00