2024-02-20 21:16:07 +01:00
|
|
|
---
|
|
|
|
weight: 4
|
|
|
|
title: Screen sharing
|
|
|
|
---
|
|
|
|
|
2022-08-13 18:25:43 +02:00
|
|
|
Screensharing is done through PipeWire on Wayland.
|
2022-08-12 20:46:36 +02:00
|
|
|
|
2023-09-28 18:51:00 +02:00
|
|
|
## Prerequisites
|
2022-08-12 20:46:36 +02:00
|
|
|
|
2022-08-13 01:47:48 +02:00
|
|
|
Make sure you have `pipewire` and `wireplumber` installed, enabled and running
|
|
|
|
if you don't have them yet.
|
2022-08-12 20:46:36 +02:00
|
|
|
|
|
|
|
## Screensharing
|
|
|
|
|
2022-08-13 01:47:48 +02:00
|
|
|
Read
|
2024-03-07 19:42:34 +01:00
|
|
|
[this amazing gist by Bruno Ancona Sala](https://gist.github.com/brunoanc/2dea6ddf6974ba4e5d26c3139ffb7580)
|
2022-08-13 01:47:48 +02:00
|
|
|
for a great tutorial.
|
2022-08-12 20:46:36 +02:00
|
|
|
|
2022-12-03 23:52:10 +01:00
|
|
|
## Better screensharing
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
See [the hyprland portal page](../xdg-desktop-portal-hyprland)
|
2023-05-22 22:12:12 +02:00
|
|
|
|
|
|
|
## XWayland
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
If your screensharing application is running under XWayland (like Discord,
|
|
|
|
Skype,...), it can only see other XWayland windows and cannot share an entire
|
|
|
|
screen or a Wayland window.
|
|
|
|
|
|
|
|
The KDE-team has implemented a workaround for this called
|
|
|
|
[xwaylandvideobridge](https://invent.kde.org/system/xwaylandvideobridge). You
|
|
|
|
can use
|
|
|
|
[this AUR package](https://aur.archlinux.org/packages/xwaylandvideobridge-git)
|
|
|
|
on ArchLinux. Note that Hyprland currently doesn't support the way it tries to
|
|
|
|
hide the main window, so you will have to create some window-rules to achieve
|
|
|
|
the same effect. See
|
|
|
|
[this issue](https://invent.kde.org/system/xwaylandvideobridge/-/issues/1) for
|
|
|
|
more information. For example:
|
2023-05-22 22:12:12 +02:00
|
|
|
|
|
|
|
```ini
|
2024-04-08 00:19:17 +02:00
|
|
|
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
|
2023-05-22 22:12:12 +02:00
|
|
|
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
2024-01-10 15:02:41 +01:00
|
|
|
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
2023-05-27 12:17:24 +02:00
|
|
|
```
|