From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0045639902A; Tue, 3 Feb 2026 09:50:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770112233; cv=none; b=WKtFY8fQW/COqEPaeflUbBMFVNJ2n8N41v0+m/lqHlUuinVoLNywP8F3HP2qZRcx+pw9za6v7ZRvHRMKPeNUpf+oBPepTQc9DylwWu7OSoTF0yG+DeOnKJAZwxiTxbSY7cXFRpwCdxCDQvlVURZy/GQbOMJOT4pp3KyLfo5pYDc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770112233; c=relaxed/simple; bh=ZTSYrKMtVQj06vXdZ47qauDE9JYI1808PQ2qR7pe4Gg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=hPB1PRxlrlRozx3sAVX7d79p0vp6p7GsxLzCEm1SOEaQ5cSik4mZ4JH9/plUBnazyBAMELa6GF4n9KyABIX2dQtOPPZvvq8xwXZ+qWUzO32/KFmX+W5GYCnQNT9rgZruenARsnsm/crBwBad15yeGHaTy2ok9keHU2At3n9KRkE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=PGsC6LzA; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="PGsC6LzA" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1770112231; x=1801648231; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=ZTSYrKMtVQj06vXdZ47qauDE9JYI1808PQ2qR7pe4Gg=; b=PGsC6LzAFmJXvIcTvlBdVHbfFdQlFfJaEFiRQEGc44ziaTavzzcawlLq I4m6fa3v7axEXUH2RRMLSaG/I4aArAL9VRHlAJ7ZuyDzG/q5QJFkTvH8E IqrqZDf14ZJTSg6xZyndQxdE5Lzb9RBkBtNQaiuGKRVsqjMIyhcW/Hm37 zhx+eU4KPlY8n1JpbIzhA0sg3HoHb6iYZXAnxfO+DEfmXyk37cwWj3ISg uBKEI5w1NLf92Z56+9NDY4tzfgibM/dUe6HDYAK0OfpqNRuZf0w7+yhyU 6pYKIBb/+7RIQeaCZ8h26vj1KHd/UVGOpsXUEBlXskCqXj/fDjHyyUkdE w==; X-CSE-ConnectionGUID: S43sHNBqRe2SYOTxVHf+Fg== X-CSE-MsgGUID: oIPVwsOdQCO4AR6wkRAQFA== X-IronPort-AV: E=McAfee;i="6800,10657,11690"; a="82016099" X-IronPort-AV: E=Sophos;i="6.21,270,1763452800"; d="scan'208";a="82016099" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2026 01:50:30 -0800 X-CSE-ConnectionGUID: vfrlZdaTTOSDGI/6NL6wzw== X-CSE-MsgGUID: yprZcBEHSkSsgErbjOFqBQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,270,1763452800"; d="scan'208";a="209088693" Received: from klitkey1-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.246.205]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2026 01:50:25 -0800 From: Jani Nikula To: Laurent Pinchart , Jarkko Sakkinen Cc: linux-media@vger.kernel.org, anisse@astier.eu, oleksandr@natalenko.name, Mauro Carvalho Chehab , Hans Verkuil , Sakari Ailus , Jacopo Mondi , Ricardo Ribalda , open list Subject: Re: [RFC PATCH] media: Virtual camera driver In-Reply-To: <20260201200649.GW3374091@killaraus> Organization: Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs Bertel Jungin Aukio 5, 02600 Espoo, Finland References: <20260201133342.335680-1-jarkko@kernel.org> <20260201182011.GV3374091@killaraus> <20260201200649.GW3374091@killaraus> Date: Tue, 03 Feb 2026 11:50:23 +0200 Message-ID: Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Sun, 01 Feb 2026, Laurent Pinchart wrote: > On Sun, Feb 01, 2026 at 09:04:00PM +0200, Jarkko Sakkinen wrote: >> On Sun, Feb 01, 2026 at 08:20:11PM +0200, Laurent Pinchart wrote: >> > On Sun, Feb 01, 2026 at 03:33:38PM +0200, Jarkko Sakkinen wrote: >> > > vcam is a DMA-BUF backed virtual camera driver capable of creating video >> > > capture devices to which data can be streamed through /dev/vcam after >> > > calling VCAM_IOC_CREATE. Frames are pushed with VCAM_IOC_QUEUE and recycled >> > > with VCAM_IOC_DEQUEUE. >> > > >> > > Zero-copy semantics are supported for shared DMA-BUF between capture and >> > > output. >> > > >> > > Signed-off-by: Jarkko Sakkinen >> > > --- >> > > Early feedback e.g., is this completely in wrong direction? V4L2 world >> > > is relatively alien world, and thus I need a sanity check ;-) >> > >> > We already have multiple virtual drivers, including vivid and vimc. >> > Could you please explain the rationale for yet another one, and why the >> > new features it provides (if any) can't be added to existing drivers ? >> >> There is a notable user base for v4l2-loopback. It is the defacto choice >> for streaming phone cams. > > This will then likely face the same hurdles as v4l2-loopback, the main > one being that camera support should be upstreamed with proper drivers > instead of a closed-source userspace daemon. My use case: Input screen capture and webcam into OBS Studio, output the combined scene into virtual device, and input that virtual device into an application that is designed to work with video devices like that, and is not aware of anything fancier. For example, a web based meeting software. [1] There's nothing proprietary or closed-source here. AFAICT using v4l2-loopback is currently the only method suggested or supported by OBS Studio, or the plethora of apps that only really understand the video devices. I don't want to use that out-of-tree module from distro DKMS or whatever. Please enlighten me (and apparently a lot of other folks) if there's a better option that can be made to work out of the box. And it pretty much has to be as simple as 'apt install v4l2loopback-dkms'. BR, Jani. [1] https://obsproject.com/kb/virtual-camera-guide -- Jani Nikula, Intel