Camera - problem with permissions

Hi,
I’m having issues with built-in laptop webcam. I know it’s not a driver issue or hardware fail, because the camera works for another user account on the same laptop.
When I launch the gnome camera application, it says it’s missing permissions, but when I go to the settings > privacy&security > cameras, the camera access is allowed, although I can’t see any application on the list bellow other than evolution. (applications are not listed on the working user account either)

I have frankly no idea how to investigate this further, any help would be appreciated. Thanks :slight_smile:

Because of this older issue that seems similar: Camera access permission
I tried both
gsettings set org.gnome.desktop.privacy disable-camera true
and
gsettings set org.gnome.desktop.privacy disable-camera false
Restarted the camera app each time, but it’s still saying no permissions.

Currently working config for F44:

gsettings set org.gnome.desktop.privacy disable-camera false
busctl --user call \
    org.freedesktop.impl.portal.PermissionStore \
    /org/freedesktop/impl/portal/PermissionStore \
    org.freedesktop.impl.portal.PermissionStore \
    SetPermission sbssas devices 1 camera org.gnome.Snapshot 1 yes
1 Like

Thanks, this pointed me to the right direction.
For anybody struggling with the same, here’s what I did.

First I noticed different outputs for this dbus call between the working user and the not working user.

dbus-send --session --print-reply --dest=org.freedesktop.impl.portal.PermissionStore /org/freedesktop/impl/portal/PermissionStore org.freedesktop.impl.portal.PermissionStore.Lookup string:‘devices’ string:‘camera’

Working user:
method return time=1775904556.282004 sender=:1.23 → destination=:1.91 serial=11 reply_serial=2
array [
dict entry(
string “”
array [
string “yes”
]
)
]
variant byte 0

Not working user:
method return time=1775905338.316314 sender=:1.24 → destination=:1.219 serial=73 reply_serial=2
array [
dict entry(
string “”
array [
string “no”
]
)
]
variant byte 0

I don’t know what the string ““ is there for, it seems like a catch-all for all apps that aren’t specifically listed, but changing it to “yes” fixed the issue.

busctl --user call org.freedesktop.impl.portal.PermissionStore /org/freedesktop/impl/portal/PermissionStore org.freedesktop.impl.portal.PermissionStore SetPermission sbssas devices 1 camera “” 1 yes

Thanks for the help, I’m glad I finally got it fixed. But I’m still interested how this happened in the first place.

Additional helpful resource: https://superuser.com/questions/1867000/i-probably-disallowed-using-the-camera-at-some-time-in-the-past-and-now-cant-fi/1867012#1867012

2 Likes