I would like to upgrade my webcam to one offering FHD (1920x1080) resolution at 60 fps (actually running 60 fps) that has full support under Ubuntu 20.04 and as far as I know, I should look for a UVC 1.5 (USB video device class) compliant device. However, I'm a bit worried about the conclusion of the following post: Logitech Streamcam not offering all modes on Manjaro
To make the long story short, on UVC Wikipedia there's stated that Linux only detects 1.5 devices without providing full capabilities, only trying to fall safe to 1.0 or 1.1 version. Does this statement still hold even in newest kernel? Still we haven't got fully-fledged 1.5 UVC?
To sum up:
Does the newest Ubuntu 20.04 (even with kernel lifted to 5.6) has UVC 1.5 support, and if not how to patch it up? (Kernel 5.6 should give us early USB4 support, so good time to make riddance of all lacking features from the past.)
Does we need the full 1.5 UVC support to have 1080p @ 60 fps or is there any workaround? (On https://www.ideasonboard.org/uvc/ it's stated that MJPEG payloads are already supported by current UVC implementation and the StreamCam from the aforementioned post supports it. So maybe, I should not insist on 1.5 version and it requires only a bit of tinkering in config?)
The problem is solved (at least in my case).
First of all, I would appreciate Laurent Pinchart for all clues he sent me and his great work on uvcvideo kernel module (he's the author).
Based on his advice, I bought Logitech Brio Stream (Brio 4K Stream Edition, PN:960-001194, vId:pId = 046d:086b), which is a bit older than Stream Cam aforementioned in Logitech Streamcam not offering all modes on Manjaro, so I thought it maybe be less problematic.
And what? Brio support all advertised resolutions and fps out of box 1080p @ 60fps or even 4K @ 30fps.
(In an earlier version of this answer I said that I had a problem after typing the command
# lsusb -v -d 046d:086b
, but today I wasn't able to reproduce this error. I was trying out it in many diffrent applications at the same time and perhaps something overlapped. So this Brio is in 100% fine.)I'm able to use all settings in guvcview according to this:
I hope this would help someone else.
Having kept an eye on this thread and the one about https://superuser.com/questions/1540980/logitech-streamcam-not-offering-all-modes-on-manjaro mentioned earlier, I recently but the bullet and bought the StreamCam. I am happy to report that it works fine on both USB-C ports of my Thinkpad X1 Carbon R6 laptop (Intel i7-8550U CPU with Sunrise Point-LP USB 3.0 xHCI Controller) with Ubuntu 20.04, kernel 5.4.0. The Cheese application only records 1920×1080@30fps, but that is probably because it doesn't have an option to set the frame rate. With
guvcview
I can record in full HD @ 60fps.For future reference I will list some information about the camera below. First some
lsusb
output:The output of the
v4l2-ctl
commands listed above:Unfortunately, the bad news is that on my desktop PC with an AMD Ryzen 3600 CPU and B450 motherboard the StreamCam works at 1280×720 in
guvcview
, but something crashes when I try to switch to higher frame rates or higher resolutions... Maybe a buggy USB3.1 controller? I will try to investigate this further and report back here once I know more.Update
Since my motherboard (Gigabyte B450 Aorus Pro) only had one USB-C port, I bought a USB-A (male) to USB-C (female) adapter to try one of the other USB ports and now the StreamCam works on my desktop too. Interestingly enough, it now works even though it is linked to the same USB controller as the USB-C port is. I have no idea why the C port has these problems with the camera.
For the record, the motherboard has two USB 3 controllers: one from the CPU (USB 3.1 Gen 1, 5Gbps, 4 ports at the back) and one from the chipset (USB3.1 Gen 2, 10Gbps, 1× Type C, 1× Type A, 2× via internal header connected to 2 Type A connectors on top of my case). Interestingly, the camera works on all ports, except the two connected to the internal header (and the Type C port of course). I see some messages in the logs, but after a couple of tries, I see
usb usb2-port3: unable to enumerate USB device
and further detection stops. I guess this is might be because the total cable length is too long. IIRC USB 3.1 has a maximum length of 1.5m, so with the internal cable and the camera cable I get pretty close.Just after Stumbling upon this now - So I just bought a logitech StreamCam, in windows I get 1080 60fps zero issues in OBS and Logitechs software.
Ubuntu 20.04 is very patchy, sometimes it works at best at 720 30fps but once I touch the setting to select something different everything freezes, unplugging and replugging makes zero difference and I need a system reboot - even then it sometimes tries to again use the higher settings and causes a system freeze again.
Is this webcam a lost cause ? Should I return it for the Brio ?
For anyone else having this issue, my temporary workaround to get the camera to work is to use
guvcview
to set the camera settings to 720/30 before trying to use it in another program (specifically Discord, in my case). I'm using Arch Linux and not Ubuntu though, so YMMV.Using a USB-C to USB-A adapter and setting in
gucview
changing the camera settings to 720/30 was all that was required for me to use the Logitech Streamcam with Microsoft Teams/Slack in Ubuntu 20.04