System: Kubuntu 26.04 (Resolute), KDE Plasma (Wayland), kernel 7.0.0-22-generic, Logitech BRIO 4K (Logi 4K Stream Edition)
Problem: After a recent system update, the webcam shows a black screen in all Wayland apps — Slack, Microsoft Edge, GNOME Snapshot. The camera LED turns on, indicating the device is being opened, but no frames are received.
Root cause
The org.freedesktop.portal.Camera interface is completely absent from Ubuntu 26.04's packages. This interface is required for any Wayland app to receive camera frames — without it, apps open the device but get nothing back. Confirmed with:
Further investigation confirmed the interface is missing across all four installed portal packages:
The camera hardware, uvcvideo driver, and PipeWire are all working correctly — this is purely a portal packaging failure.
Additional issues found during debugging
Problem: After a recent system update, the webcam shows a black screen in all Wayland apps — Slack, Microsoft Edge, GNOME Snapshot. The camera LED turns on, indicating the device is being opened, but no frames are received.
Root cause
The org.freedesktop.portal.Camera interface is completely absent from Ubuntu 26.04's packages. This interface is required for any Wayland app to receive camera frames — without it, apps open the device but get nothing back. Confirmed with:
Code:
gdbus call --session \ --dest org.freedesktop.portal.Desktop \ --object-path /org/freedesktop/portal/desktop \ --method org.freedesktop.portal.Camera.IsCameraPresent Error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such method "IsCameraPresent"
Further investigation confirmed the interface is missing across all four installed portal packages:
- org.freedesktop.portal.Camera.xml not shipped by xdg-desktop-portal — dpkg -L xdg-desktop-portal | grep xml returns nothing
- grep -r "Camera" /usr/share/xdg-desktop-portal/portals/ returns nothing — Camera absent from kde.portal, gnome.portal, and gtk.portal
- strings /usr/lib/x86_64-linux-gnu/libexec/xdg-desktop-portal-kde | grep -i camera — empty
- strings /usr/libexec/xdg-desktop-portal-gnome | grep -i camera — empty
The camera hardware, uvcvideo driver, and PipeWire are all working correctly — this is purely a portal packaging failure.
Additional issues found during debugging
- wireplumber 0.5.13 crashes with SIGABRT on manual restart (GObject assertion failure in libwireplumber-module-lua-scripting.so)
- state-stream.lua:359 Lua type error (attempt to compare number with table in buildDefaultChannelVolumes) floods the log on every start
- libcamera and v4l2 SPA plugins both claim the BRIO simultaneously, causing MJPEG frame corruption in direct v4l2 pipelines (workaround: disable libcamera monitor in WirePlumber)


).
Comment