Can't switch between integrated Cameras

Hi all,

I have a Surface Go 1 running Fedora 40 and since recently i was able to choose between the integrated front and back camera in Cheese/Snapshot.

Today I noticed that this is no longer possible and only the front camera is being selected.

Both Cameras get recognised by the driver, show up using cam --list and with qcam I can select between them but not with more complete camera applications.

Runnning with debug environment variables I can see that Cheese finds both on startup but then doesnt allow me to switch. Snapshot only finds the front camera.

Did something change recently about this?

I’ve downgraded wireplumber to 0.5.2-1.fc40 by downloading the rpms from koji and this resolves the issue.

On 0.5.2 Wireplumer logs after the libcamera info:

device number invalid for libcamera device:libcamera_device.\_SB_.PCI0.LNK0
device number invalid for libcamera device:libcamera_device.\_SB_.PCI0.LNK1

but things work.

On 0.5.3 wireplumber logs

12:50:22 wireplumber: wplua: wplua_pushobject: assertion 'G_IS_OBJECT (object)' failed
	[string "name-node.lua"]:25: in function <[string "name-node.lua"]:19>
stack traceback:
12:50:22 wireplumber: wplua: [string "name-node.lua"]:25: attempt to index a nil value (local 'properties')
12:50:22 wireplumber: wplua: wplua_pushobject: assertion 'G_IS_OBJECT (object)' failed
	[string "create-node.lua"]:30: in function <[string "create-node.lua"]:24>
	[C]: in field 'match_rules_update_properties'
stack traceback:
12:50:22 wireplumber: wplua: [string "create-node.lua"]:30: bad argument #2 to 'match_rules_update_properties' (table expected, got nil)
	[string "create-node.lua"]:30: in function <[string "create-node.lua"]:24>
	[C]: in field 'match_rules_update_properties'
stack traceback:
12:50:22 wireplumber: wplua: [string "create-node.lua"]:30: bad argument #2 to 'match_rules_update_properties' (table expected, got nil)

Which I suspect is the cause of my problem.

This sounds like a bug or regression that should be reported (probably on bugzilla)

Thanks for the info.

I have reported this against wireplumber here 2292503 – Wireplumber not detecting all Cameras