Hello there, recently I’ve installed Droidcam to use my android phone camera as my laptop’s webcam (for making tutorials).
Now, the default webcam is set to Droidcam instead of the built-in webcam. So, anywhere(e.g: any website which needs the webcam, zoom, telegram, etc) the camera is needed, it uses Droidcam though my phone is not connected.
I want my built-in webcam to be the default camera. How to do it?
[ovi@system ~]$ v4l2-ctl --list-devices
HD WebCam: HD WebCam (usb-0000:00:14.0-7):
(maybe the problem redirects to change this order so that HD WebCam is set as video0, idk)
The USB is strictly hierarchical and it is controlled by one host. The host uses a master / slave protocol to communicate with attached USB devices. This means that every kind of communication is initiated by the host and devices cannot establish any direct connection to other devices. This seems to be a drawback in comparison to other bus architectures but it is not because the USB was designed as a compromise of costs and performance.
So your hardware vendor has put your internal camera on a bus quite low in the hierarchy, so that if your internal camera breaks and you add an external camera, the external camera gets used automatically!
And that is exactly what is happening, but this is the Open source world so anything is possible and I see 2 solutions:
Open your laptop, remove the camera from the internal bus and solder it onto the external bus on the first USB port and then squeeze some silicon into that external port so you can’t accidentally plug another camera into it.
Become a kernel developer and reverse the order of the webcams in the source code yourself.