From nobody Tue Jan 03 05:09:41 2023 X-Original-To: chromium@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NmLPy1LLJz2lNRy for ; Tue, 3 Jan 2023 05:09:42 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NmLPx4xXbz3n8H for ; Tue, 3 Jan 2023 05:09:41 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672722581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1uEGIyMQksxgzW5YZ1RWxsRvSPeGTd/vOW+6Ekf2A5U=; b=LoBSQC32ctvczsbbOly0JYpdukwCg9u8JvaOwRvQ7tBY879TUZ1+WWCQB/OKlWXyL2VbO9 V6ADeuXuAMMZ5av8rwMvjB55ER6qH/mZFNGJTa01u/Kbg/JDGqmcR1i+D8yixRE5GlYbWL u4U0dqkIpZ8MUNWc68RJdIDi4PGXYU62n8X0vm4J7maPbVNjApPLzc1c/kJjAYfSK7/EAb tTmsTsR7Kuaq5/wOV7hUeLilSK9rOla998VvpFA2/qGJYmVkMq1x722wYwqGvLIa5lGAdt JUK/v3w/x+fYZp8ucOEQ7s0oogA+OT55kvpfdpzo+prsVD3vmMhb8QYveaFQmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1672722581; a=rsa-sha256; cv=none; b=bBsoHqK1lFvtLAVOoAkEkNNZqHJixVr5uI4zsh/j3Kr2EY4Y5ANJOi/Rob6gqNVAWyLFJk xJBfDzYV9+gfkxHk4R8BOqi19GYyTm5JQMW69NLHX/tl30YTADemoJR4y1krnD273mlDnc 9qrRc3H3j2+Omiqdz0vnXHcVQDr03dCIpowTtp6ccP8t8z0iS3ceg7hC5LjBMdz448sz3a +ixE7D6bvtc/kwoYxqvsytsjF6VSNloVK7keRUM7QOogY8tS1PSNZmhaezW/tGzsbanf1l /TLs8DKkKSBp6x/ql7/iuOqLrTamENK9Sr/3yx9HqOzmZkXXveotVzqbEf6Xiw== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NmLPx3zyXzK4y for ; Tue, 3 Jan 2023 05:09:41 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 30359fgM000696 for ; Tue, 3 Jan 2023 05:09:41 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 30359f6O000695 for chromium@FreeBSD.org; Tue, 3 Jan 2023 05:09:41 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" From: bugzilla-noreply@freebsd.org To: chromium@FreeBSD.org Subject: maintainer-feedback requested: [Bug 268726] www/chromium: enable PipeWire support (screen capture under Wayland) Date: Tue, 03 Jan 2023 05:09:41 +0000 X-Bugzilla-Type: request X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: chromium@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback? Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: FreeBSD-specific Chromium issues List-Archive: https://lists.freebsd.org/archives/freebsd-chromium List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-chromium@freebsd.org MIME-Version: 1.0 X-ThisMailContainsUnwantedMimeParts: N Bugzilla Automation has asked freebsd-chromium (Nobo= dy) for maintainer-feedback: Bug 268726: www/chromium: enable PipeWire support (screen capture under Wayland) https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D268726 --- Description --- PipeWire-based screen capture is complex replacement[1] for wlr-screencopy-unstable-v1 (wlroots, MirServer >=3D 2.8, to be standardized= [2]), primarily designed for sandboxing apps via Flatpak or similar. It can work under both X11 and Wayland but most consumers limit it to Wayland. See also other xdg-desktop-portal examples: - org.freedesktop.portal.ScreenCast: firefox-esr, obs-studio, kooha - org.freedesktop.portal.Screenshot: flameshot, ksnip, gimp-app This expands ports 8fc70d7e9054 to include Screen Capture in WebRTC. With rtc_link_pipewire=3Dfalse (upstream default) libpipewire is used via dlopen= (3), so it can always be enabled like Wayland support. "poudriere bulk -t" passed on 13.1 amd64. Runtime tested inside 13.1 jail on 14.0 host under Sway with X11/Wayland/DBus sockets passed through. Works fi= ne both under native Wayland and Xwayland. Runtime testing recipe: # pkg install chromium sway pam_xdg xdg-desktop-portal-wlr xdg-desktop-port= al # echo 'session optional pam_xdg.so notroot runtime' >>/etc/pam.d/system # sysrc seatd_enable=3DYES # service seatd start $ exit # log out to pick up XDG_RUNTIME_DIR $ dbus-daemon --session --fork --address=3Dunix:runtime=3Dyes $ export DBUS_SESSION_BUS_ADDRESS=3Dunix:path=3D$XDG_RUNTIME_DIR/bus # work= around $ sway $ export XDG_CURRENT_DESKTOP=3Dsway $ dbus-update-activation-environment --all $ daemon -f pipewire $ daemon -f /usr/local/libexec/xdg-desktop-portal # workaround $ daemon -f /usr/local/libexec/xdg-desktop-portal-wlr # workaround $ chrome - open chrome://flags - enter "wayland" in Search field - set "WebRTC PipeWire support" to "Enabled" - set "Preferred Ozone platform" to "Auto" - click Relaunch - open https://mozilla.github.io/webrtc-landing/gum_test.html - click on "Screen Capture" - click on "Entire Screen" tab in "Choose what to share" prompt - click anywhere to select the desired output/monitor - notice preview is filled with screen content - click "Share" to confirm - click anywhere to select the desired output/monitor - watch screen content mirrored on the web page - click on "Stop Sharing" to end the capture or just close the browser References: [1] https://blogs.kde.org/2020/10/11/linux-desktop-shell-ipc-wayland-vs-d-bus-a= nd-l ack-agreement-when-use-them [2] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/1= 24