Демонстрация экрана через PipeWire на Wayland
Добавлено: 24 мар 2022, 09:50
Не получается настроить демонстрацию экрана (screen sharing) в сессии Wayland через PipeWire. Для Скайпа, например.
Тестовая страница - https://mozilla.github.io/webrtc-landing/gum_test.html (кнопка Screen capture)
Установил pipewire с зависимостями: lib64jack_pipewire, lib64jacknet_pipewire, lib64jackserver_pipewire, lib64wireplumber, pipewire-alsa, pipewire-gstreamer, pipewire-jack, pipewire-pulseaudio, pipewire-utils, wireplumber. В Firefox демонстрация экрана через Pipiwire активирована по умолчанию, в Яндекс.Браузере включил флаг WebRTC PipeWire support.
Сервисы активны:
pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-03-24 08:57:56 MSK; 40min ago
wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-03-24 08:57:56 MSK; 40min ago
Знаю, что для демонстрации экрана в Гноме нужен пакет xdg-desktop-portal-gtk, но в репозиториях есть только xdg-desktop-portal (в описании пакета, что для Flatpak, тоже не помог) и xdg-desktop-portal-kde. Пробовал вручную поставить пакет xdg-desktop-portal-gtk для OpenSUSE, вернулась ошибка: "nothing provides lib.so.6(GLIBC_2.34)(64bit) needed by xdg-desktop-portal-gtk-1.12.0-1.2.x86_64", хотя glibс в системе изначально установлен.
Может достаточно xdg-desktop-portal из репозиториев Росы и что-то нужно донастроить? Или может есть какой-то обходной путь?
TL;DR Инструкция по настройке screen sharing (демонстрации экрана) через PipeWire по результатам обсуждения (например, для Skype, в Скайпе хорошо сейчас работает только в Хромиум-браузерах (Chrome, Яндекс.Браузер и т.д.)
1. Установить pipewire со всеми предложенными установщиком зависимостями
2. Удалить pulseaudio со всеми предложенными установщиком зависимостями (опционально, возможно будет работать в части демонстрации экрана и без этого)
3. Установить пакеты xdg-desktop-portal, xdg-desktop-portal-gtk, xdg-desktop-portal-gnome (если какие-то пакеты отсутствуют в репозиториях, в теме есть ссылки на rpm)
4. Для Chromium-браузеров изменить значение флага WebRTC PipeWire support на Enabled. Флаги открываются по ссылкам: Chrome - chrome://flags/, Яндекс.Браузер - browser://flags/
Тестовая страница - https://mozilla.github.io/webrtc-landing/gum_test.html (кнопка Screen capture)
Установил pipewire с зависимостями: lib64jack_pipewire, lib64jacknet_pipewire, lib64jackserver_pipewire, lib64wireplumber, pipewire-alsa, pipewire-gstreamer, pipewire-jack, pipewire-pulseaudio, pipewire-utils, wireplumber. В Firefox демонстрация экрана через Pipiwire активирована по умолчанию, в Яндекс.Браузере включил флаг WebRTC PipeWire support.
Сервисы активны:
pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-03-24 08:57:56 MSK; 40min ago
wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-03-24 08:57:56 MSK; 40min ago
Знаю, что для демонстрации экрана в Гноме нужен пакет xdg-desktop-portal-gtk, но в репозиториях есть только xdg-desktop-portal (в описании пакета, что для Flatpak, тоже не помог) и xdg-desktop-portal-kde. Пробовал вручную поставить пакет xdg-desktop-portal-gtk для OpenSUSE, вернулась ошибка: "nothing provides lib.so.6(GLIBC_2.34)(64bit) needed by xdg-desktop-portal-gtk-1.12.0-1.2.x86_64", хотя glibс в системе изначально установлен.
Может достаточно xdg-desktop-portal из репозиториев Росы и что-то нужно донастроить? Или может есть какой-то обходной путь?
TL;DR Инструкция по настройке screen sharing (демонстрации экрана) через PipeWire по результатам обсуждения (например, для Skype, в Скайпе хорошо сейчас работает только в Хромиум-браузерах (Chrome, Яндекс.Браузер и т.д.)
1. Установить pipewire со всеми предложенными установщиком зависимостями
2. Удалить pulseaudio со всеми предложенными установщиком зависимостями (опционально, возможно будет работать в части демонстрации экрана и без этого)
3. Установить пакеты xdg-desktop-portal, xdg-desktop-portal-gtk, xdg-desktop-portal-gnome (если какие-то пакеты отсутствуют в репозиториях, в теме есть ссылки на rpm)
4. Для Chromium-браузеров изменить значение флага WebRTC PipeWire support на Enabled. Флаги открываются по ссылкам: Chrome - chrome://flags/, Яндекс.Браузер - browser://flags/