Демонстрация экрана через PipeWire на Wayland
Демонстрация экрана через PipeWire на Wayland
Не получается настроить демонстрацию экрана (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/
Последний раз редактировалось yustnip 24 мар 2022, 15:37, всего редактировалось 2 раза.
- VictorR2007
- Сообщения: 7379
- Зарегистрирован: 12 сен 2011, 13:00
Демонстрация экрана через PipeWire на Wayland
После этого нужно удалить пакет pulseaudio.
Выбрать для удаления только один этот пакет, и удалятся те пакеты,
которые он использует для работы.
Больше самому ничего удалять с именем pulseaudio не нужно.
После перезагрузки в работе останется только pipewire.
А то когда они вместе работают, то неизвестно, не мешают ли в случае со скайпом.
З.Ы.
Написал на случай, если вы забыли удалить pulseaudio.
![Smile :)](./images/smilies/smile.gif)
Демонстрация экрана через PipeWire на Wayland
Удалил pulseaudio, спасибо за совет. Но не заработало.
![Sad :(](./images/smilies/sad.gif)
Поставил ещё Chrome, запускаю так же с флагами --enable-features=UseOzonePlatform --ozone-platform=wayland и с активированным WebRTC PipeWire support. Браузер стартует точно в Wayland, проверил через xeyes. В целом это всё должно работать, на Tumbleweed воспламеняется у меня. Пока подозреваю всё-таки проблему с отсутствующим xdg-desktop-portal-gtk, но не уверен.
- VictorR2007
- Сообщения: 7379
- Зарегистрирован: 12 сен 2011, 13:00
Демонстрация экрана через PipeWire на Wayland
Спасибо, было бы супер!VictorR2007 писал(а): ↑24 мар 2022, 11:37Попробую разобраться с этим пакетом и собрать, если его недостаёт.
- VictorR2007
- Сообщения: 7379
- Зарегистрирован: 12 сен 2011, 13:00
Демонстрация экрана через PipeWire на Wayland
Собрал xdg-desktop-portal-gtk пока в контейнер
http://abf-downloads.rosalinux.ru/victo ... n/release/
В основных репах появится чуть позже.
http://abf-downloads.rosalinux.ru/victo ... n/release/
В основных репах появится чуть позже.
Демонстрация экрана через PipeWire на Wayland
Поставил, сходу не взлетело. Буду копаться ещё, wireplumber на pipewire-media-session менять пробовал, если что, для истории)
- VictorR2007
- Сообщения: 7379
- Зарегистрирован: 12 сен 2011, 13:00
Демонстрация экрана через PipeWire на Wayland
Тут https://bugzilla.rosalinux.ru/show_bug.cgi?id=12190
есть более новые версии xdg-desktop-portal и xdg-desktop-portal-gtk.
А то у нас xdg-desktop-portal далеко не самый новый.![Smile :)](./images/smilies/smile.gif)
есть более новые версии xdg-desktop-portal и xdg-desktop-portal-gtk.
А то у нас xdg-desktop-portal далеко не самый новый.
![Smile :)](./images/smilies/smile.gif)
Демонстрация экрана через PipeWire на Wayland
VictorR2007, похоже нашёл причину. Покопался в OpenSUSE Tumbleweed, там у меня ещё стоит пакет xdg-desktop-portal-gnome, попробовал его там удалить и воспроизвелось в точности как на Росе, вернул - заработало. Возможно ли его ещё собрать?
- VictorR2007
- Сообщения: 7379
- Зарегистрирован: 12 сен 2011, 13:00
Демонстрация экрана через PipeWire на Wayland
Тут контейнер для проверки http://abf-downloads.rosalinux.ru/victo ... n/release/
Демонстрация экрана через PipeWire на Wayland
VictorR2007, завелось, спасибо большое! И с 1.12, и с 1.14. Вынесу в первое сообщение инструкцию, для тех, кто будет искать про это.
UPD: Обновил первое сообщение.
UPD: Обновил первое сообщение.
Демонстрация экрана через PipeWire на Wayland
VictorR2007, а xdg-desktop-portal-gnome планируется затащить в репозитории?
- VictorR2007
- Сообщения: 7379
- Зарегистрирован: 12 сен 2011, 13:00