OK so you can without v4l2loopback.
Smoke test:
gst-launch-1.0 \
videotestsrc ! \
video/x-raw,format=YUY2 ! \
pipewiresink mode=provide \
stream-properties="properties,media.class=Video/Source,media.role=Camera"
iPhone/Airplay:
uxplay -vs 0 -vrtp "config-interval=1 ! udpsink host=127.0.0.1 port=6000"
gst-launch-1.0 -v \
udpsrc port=6000 caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96" ! \
rtph264depay ! decodebin ! videoconvert ! \
video/x-raw,format=YUY2 ! \
pipewiresink mode=provide \
stream-properties="properties,media.class=Video/Source,media.role=Camera,node.description=iPhone Camera"
Test page used: mozilla.github.io/webrtc-landing/gum_test.html
In Firefox the config option you’re looking for is called media.webrtc.camera.allow-pipewire.
#openSUSE is dropping pcr-oracle in Full Disk Encryption #FDE. systemd-pcrlock now handles #TPM2 policy, fixing rollback attacks and simplifying maintenance. Migration is just two commands! 🔒🐧 Find out more. #Linux https://news.opensuse.org/2026/03/11/dropping-pcr-oracle/