I’m running Zorin OS 18.1 on a Microsoft Surface Laptop. I’m trying to use a USB digital microscope as a webcam/video source.
The microscope works correctly on a Windows PC. Under Zorin, the Camera application recognizes the camera but reports that it cannot play the stream.
The USB device enumerates correctly:
Bus 001 Device 027: ID 0603:8612 Novatek Microelectronics Corp. NTK96550-based camera (webcam mode)
The Linux uvcvideo driver is loaded, and connecting the microscope creates /dev/video14 and /dev/video15.
v4l2-ctl --device=/dev/video14 --all identifies /dev/video14 as:
Driver name : uvcvideo
Card type : USB Camera
Capabilities : Video Capture, Metadata Capture, Streaming,
Extended Pix Format, Device Capabilities
Video input : 0 (Camera 1: ok)
The camera advertises both H.264 and MJPEG USB streams. v4l2-ctl --device=/dev/video14 --list-formats-ext reports:
H264:
1920x1080 @ 30 fps
1280x720 @ 30 fps
640x480 @ 30 fps
320x240 @ 30 fps
MJPG:
1920x1080 @ 30 fps
1280x720 @ 30 fps
640x480 @ 30 fps
320x240 @ 30 fps
The default format was H.264. I used v4l2-ctl to change the device to MJPEG at 1920x1080/30, and verified that the format change was accepted. Zorin Camera still could not play the stream.
I then bypassed the Camera application and tested the same device directly with FFplay:
ffplay -f v4l2 -input_format mjpeg -framerate 30 \
-video_size 1920x1080 -i /dev/video14
This works correctly and displays live 1080p video.
I also installed the normal APT version of VLC and tested:
vlc v4l2:///dev/video14
VLC also displays the microscope video correctly.
Therefore USB enumeration, the uvcvideo driver, V4L2 capture, and decoding of the stream all appear to be functioning. The failure appears specific to Zorin Camera or its multimedia/device-format negotiation with this particular Novatek UVC camera.
I’m happy to provide additional logs or run additional diagnostic commands if they would help identify the incompatibility.