Skip to content
This repository has been archived by the owner on Aug 10, 2023. It is now read-only.
/ wlr_cpu_pipewire Public archive

Streams screen contents to pipewire from wlroots using screencopy protocol

Notifications You must be signed in to change notification settings

danshick/wlr_cpu_pipewire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wlr_cpu_pipewire

Not Maintained

This was an experiment that I created while building out xdg-desktop-portal-wlr. This project is no longer maintained as xdpw is now functional, and further along than this example, including pipewire 0.3 support.

Building

Depends on pipewire 0.2

Currently, the height, width, framerate, and alignment data is hardcoded, and must be correct in order for this to function properly.

meson build
ninja -C build

Running

./build/wlr_cpu_pipewire

Tooling

In order to test this, it is recommended that you use gstreamer, as shown in the test_me script. That requires gstreamer, pipewire 0.2 built with the gstreamer plugins, and gstreamer-plugins-good.

Todo

  • Support output selection
  • Support dynamic width/height
  • Support copy_with_damage to reduce CPU load
  • Add a timer to reregister the frame callbacks to cap the framerate
  • Refactoring

About

Streams screen contents to pipewire from wlroots using screencopy protocol

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published