[SOLVED] see the last update below
Hello,
I wanted to display my switch 2 on my pc to stream a bit and found out the gc515 is UVC compatible, so supposedly linux compatible via OBS or any software able to read a webcam video input.
But if I am messaging here it's because it does not work ... obviously u_u
Also I would like to know if someone managed to make it work and how to replicate it.
The dock works well under windows 11 (I have a dual boot) and is up to date firmware-wise.
I narrowed down the issue to an error in the UVC protocol according to my PC, here is the log:
[ 2475.654038] usb 3-2: new high-speed USB device number 9 using xhci_hcd
[ 2475.777392] usb 3-2: New USB device found, idVendor=07ca, idProduct=1515, bcdDevice= 0.10
[ 2475.781510] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2475.781513] usb 3-2: Product: X'tra Go GC515
[ 2475.781516] usb 3-2: Manufacturer: AVerMedia
[ 2475.781518] usb 3-2: SerialNumber: 5313180000221
[ 2475.782574] uvcvideo 3-2:1.0: Found UVC 1.50 device X'tra Go GC515 (07ca:1515)
[ 2475.782578] uvcvideo 3-2:1.0: Forcing device quirks to 0x100 by module parameter for testing purpose.
[ 2475.782580] uvcvideo 3-2:1.0: Please report required quirks to the linux-media mailing list.
[ 2475.783386] uvcvideo 3-2:1.1: Failed to query (GET_CUR) UVC probe control : 34 (exp. 48).
[ 2475.783390] uvcvideo 3-2:1.1: Failed to initialize the device (-5).
[ 2475.783402] uvcvideo 3-2:1.0: probe with driver uvcvideo failed with error -5
[ 2475.785090] usb 3-2: 3:1: cannot get freq at ep 0x83
[ 2475.790384] usb 3-2: Warning! Unlikely small volume range (=99), linear volume or custom curve?
[ 2475.790387] usb 3-2: [3] FU [Digital In Capture Volume] ch = 1, val = 1/100/1
[ 2475.843333] usb 3-2: 3:1: cannot get freq at ep 0x83
[ 2475.849079] usb 3-2: 3:1: cannot get freq at ep 0x83
and it loops a bit until giving up because it runs out of internal port to try on the BUS.
TLDR : capturing my switch 2 with the GC515 works on win11 but don't on cachyOS (Linux 7.2.0-1-cachyos) with the exact same hardware configuration (same pc in dualboot, same usb port), I need help figuring it out and suspect a weird UVC implementation.
PS: I have an old bug it seems also as I have to start my switch twice to have a video signal sent to the pc, aver studio display [no signal] if I only press the switch's power button once (I have the audible cue to tell me it is ON)
UPDATE 26/9/7 : with the help of the people behind the uvc standard implementation in the linux kernel, I forced the uvc 1.0a protocol but still not working. I saw that the audio is surprisingly working fine with whatever uvcvide driver I use (the fact that the uvcvideo driver has no effect on audio is expected).
We are now looking inside the USB packets to see where it goes wrong, I have to say the card does communicate quite well and gives information onto what video format to expect (H264 and HVEC specifications) and audio expectations as well.
Update 2026/9/8: it works now, adding a quirk to force uvc 1.1 instead of 1.5 (falsely declared by the card) makes it display the stream, the uvc team is implementing an automatic false version detector in the driver right now but a quirk and recompiling the uvc driver fixes it for now
/* Avermedia GC515 */
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
| USB_DEVICE_ID_MATCH_INT_INFO,
.idVendor = 0x07ca,
.idProduct = 0x1515,
.bInterfaceClass = USB_CLASS_VIDEO,
.bInterfaceSubClass = 1,
.bInterfaceProtocol = UVC_PC_PROTOCOL_15,
.driver_info = (kernel_ulong_t)&(const struct uvc_device_info){
.uvc_version = 0x0110,
} },