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
|
|
|
|
2024-07-31 00:00:24 +02:00
|
|
|
Make sure you have `pipewire`, `wireplumber` and
|
|
|
|
[`xdg-desktop-portal-hyprland`](../../Hypr-Ecosystem/xdg-desktop-portal-hyprland)
|
|
|
|
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
|
|
|
|
2023-05-22 22:12:12 +02:00
|
|
|
## XWayland
|
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
If your screensharing application is running under XWayland (like Discord or
|
|
|
|
Skype), it can only see other XWayland windows and cannot share an entire
|
2024-02-20 21:16:07 +01:00
|
|
|
screen or a Wayland window.
|
|
|
|
|
2024-04-21 16:35:48 +02:00
|
|
|
The KDE team has implemented a workaround for this called
|
2024-02-20 21:16:07 +01:00
|
|
|
[xwaylandvideobridge](https://invent.kde.org/system/xwaylandvideobridge). You
|
|
|
|
can use
|
|
|
|
[this AUR package](https://aur.archlinux.org/packages/xwaylandvideobridge-git)
|
2024-04-21 16:35:48 +02:00
|
|
|
on Arch Linux. 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
|
2024-02-20 21:16:07 +01:00
|
|
|
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-07-31 00:00:24 +02:00
|
|
|
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
|
2024-11-29 00:44:30 +01:00
|
|
|
windowrulev2 = nofocus, class:^(xwaylandvideobridge)$
|
2023-05-27 12:17:24 +02:00
|
|
|
```
|