Em Tue, 17 Jun 2025 10:49:38 +0200 Mauro Carvalho Chehab <mchehab+hua...@kernel.org> escreveu:
> Hi Alex, > > Em Tue, 27 May 2025 23:03:39 +0900 > Alexandre Courbot <gnu...@gmail.com> escreveu: > > > > > > Btw, I was looking at: > > > > > > > > > > https://github.com/chromeos/virtio-media > > > > > > > > > > (I'm assuming that this is the QEMU counterpart, right?) > > > > > > > > crosvm actually, but QEMU support is also being worked on. > > > > > > Do you have already QEMU patches? The best is to have the Kernel driver > > > submitted altogether with QEMU, as Kernel developers need it to do the > > > tests. In my case, I never use crosvm, and I don't have any Chromebook > > > anymore. > > > > IIRC Albert Esteve was working on this, maybe he can share the current > > status. > > Any news regards to it? > > > Note that crosvm does not require a Chromebook, you can build and run > > it pretty easily on a regular PC. I have put together a document to > > help with that: > > > > https://github.com/chromeos/virtio-media/blob/main/TRY_IT_OUT.md > > I started looking on it today. Already installed crossvm (I had to > install libcap-devel to build it). Still, I'm not familiar with > crossvm, which is a little be painful. In particular, how can I > enable network on it and speedup it? With suggested parameters, > it picked only one CPU, and very few memory on it: > > # cat /proc/cpuinfo|grep processor > processor : 0 > > # free > total used free shared buff/cache > available > Mem: 221876 34780 139712 272 56096 > 187096 > Swap: 0 0 0 > > I'd like to be able to compile things on it and use ssh/scp. So, > the VM needs more CPUs, more memory, more network and GPU. > > Btw, on a quick test with v4l2-compliance, something looks weird: > I started a camera application at the host. Still, v4l2-compliance > said successfully excecuted mmap: > > Streaming ioctls: > test read/write: OK (Not Supported) > test blocking wait: OK > test MMAP (no poll): OK > test MMAP (select): OK > Vide[2025-06-17T08:44:49.177972817+00:00 ERROR virtio_media::ioctl] > VIDIOC_REQBUFS: memory type DmaBuf is currently unsupported > [2025-06-17T08:44:49.178164554+00:00 ERROR virtio_media::ioctl] > VIDIOC_REQBUFS: memory type DmaBuf is currently unsupported > o Capturtest MMAP (epoll): OK > test USERPTR (no poll): OK (Not Supported) > test USERPTR (select): OK (Not Supported) > test DMABUF (no poll): OK (Not Supported) > test DMABUF (select): OK (Not Supported) > > Which doesn't make any sense, as the host OS should not allow access > to mmap while streaming. Ah, this was with the "simple" device, not with the proxy one. With the proxy one, I'm getting: # v4l2-ctl --all Driver Info: Driver name : virtio-media Card type : usb video: usb video Bus info : platform:virtio-media Driver version : 6.15.0 Capabilities : 0x84200001 Video Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Priority: 2 Video input : 0 (Camera 1: ok) Format Video Capture: Width/Height : 1280/720 Pixel Format : 'MJPG' (Motion-JPEG) Field : None Bytes per Line : 0 Size Image : 1843200 Colorspace : sRGB Transfer Function : Rec. 709 YCbCr/HSV Encoding: ITU-R 601 Quantization : Default (maps to Full Range) Flags : Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 1280, Height 720 Default : Left 0, Top 0, Width 1280, Height 720 Pixel Aspect: 1/1 Selection Video Capture: crop_default, Left 0, Top 0, Width 1280, Height 720, Flags: Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1280, Height 720, Flags: Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 30.000 (30/1) Read buffers : 0 User Controls brightness 0x00980900 (int) : min=-128 max=127 step=1 default=-11 value=-11 contrast 0x00980901 (int) : min=0 max=255 step=1 default=148 value=148 saturation 0x00980902 (int) : min=0 max=255 step=1 default=180 value=180 hue 0x00980903 (int) : min=-128 max=127 step=1 default=0 value=0 # v4l2-compliance -d0 -s Streaming ioctls: test read/write: OK (Not Supported) test blocking wait: OK fail: v4l2-test-buffers.cpp(1345): node->streamon(q.g_type()) != EINVAL test MMAP (no poll): FAIL fail: v4l2-test-buffers.cpp(1345): node->streamon(q.g_type()) != EINVAL test MMAP (select): FAIL fail: v4l2-test-buffers.cpp(1345): node->streamon(q.g_type()) != EINVAL test MMAP (epoll): FAIL test USERPTR (no poll): OK (Not Supported) test USERPTR (select): OK (Not Supported) [2025-06-17T08:55:20.768760714+00:00 ERROR virtio_media::ioctl] VIDIOC_REQBUFS: memory type DmaBuf is currently unsupported test DMABUF (no poll): OK (Not Supported) [2025-06-17T08:55:20.769745707+00:00 ERROR virtio_media::ioctl] VIDIOC_REQBUFS: memory type DmaBuf is currently unsupported test DMABUF (select): OK (Not Supported) At the host, I'm getting: Streaming ioctls: test read/write: OK (Not Supported) test blocking wait: OK fail: ../utils/v4l2-compliance/v4l2-test-buffers.cpp(1346): node->streamon(q.g_type()) != EINVAL test MMAP (no poll): FAIL fail: ../utils/v4l2-compliance/v4l2-test-buffers.cpp(1346): node->streamon(q.g_type()) != EINVAL test MMAP (select): FAIL fail: ../utils/v4l2-compliance/v4l2-test-buffers.cpp(1346): node->streamon(q.g_type()) != EINVAL test MMAP (epoll): FAIL test USERPTR (no poll): OK test USERPTR (select): OK test DMABUF: Cannot test, specify --expbuf-device The device I'm using for test is a UVC HDMI capture board: Bus 005 Device 008: ID 534d:2109 MacroSilicon usb video Thanks, Mauro