From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: "Alexandre Courbot" <gnurou@gmail.com>
Cc: "Albert Esteve" <aesteve@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Hans Verkuil" <hverkuil@xs4all.nl>,
"Jason Wang" <jasowang@redhat.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
gurchetansingh@google.com, daniel.almeida@collabora.com,
adelva@google.com, changyeon@google.com,
nicolas.dufresne@collabora.com, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org, virtualization@lists.linux.dev
Subject: Re: [PATCH v3] media: add virtio-media driver
Date: Wed, 18 Jun 2025 16:40:02 +0200 [thread overview]
Message-ID: <20250618164002.10220d81@sal.lan> (raw)
In-Reply-To: <DAPQ1LPH05P4.HLIMQEJCRHLX@gmail.com>
Em Wed, 18 Jun 2025 23:16:47 +0900
"Alexandre Courbot" <gnurou@gmail.com> escreveu:
> Hi Mauro,
>
> On Tue Jun 17, 2025 at 5:49 PM JST, Mauro Carvalho Chehab wrote:
> > Hi Alex,
> >
> > Em Tue, 27 May 2025 23:03:39 +0900
> > Alexandre Courbot <gnurou@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?
>
> Albert shared the latest status. There is one in-flight patch series
> required in qemu [1], and then this branch of vhost-device should
> contain the necessary support [2]. Albert is waiting for the virtio spec
> to get merged before sending a pull request IIUC.
>
> [1] https://patchew.org/QEMU/20250217164012.246727-1-aesteve@redhat.com/
> [2] https://github.com/aesteve-rh/vhost-device/tree/virtio-media
>
> >
> >> 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?
>
> There is a "./tools/examples/setup_network" in the crosvm repository that
> will setup a TAP device. Once this is done, you can pass the "--net
> tap-name=crosvm_tap" argument to crosvm, and the network device should
> be visible and usable.
>
> Let me reply to the rest of your questions in your latest mail, with the
> most recent logs.
Heh, I just managed to get it work maybe 10 minutes before your e-mail...
I'm building crossvm with:
cargo build --release --features "gpu,media,virgl_renderer,x"
To also have GPU working.
Network setup required a rather complex script to set it up without
breaking my ssh section with the machine where I'm running crossvm.
In case you need, I'm enclosing it.
Now, I need to allocate another time slot for tests and review.
---
#!/bin/bash
PHY=enp0s25
BRIDGE=crossvm_br
TAP=crossvm_tap
IP_MASK=$(ip -br addr show $PHY | awk '{print $3}' | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/[0-9]+')
if [ -z "$IP_MASK" ]; then
echo "Failed to detect IP address on $PHY. Exiting."
exit 1
fi
GW=$(ip -br route show default dev $PHY | awk '{print $3}')
if [ -z "$GW" ]; then
echo "Failed to detect default gateway on $PHY. Exiting."
exit 1
fi
restore_network() {
echo "Restoring original network config on $PHY..."
sudo ip link set dev $BRIDGE down || true
sudo ip link del $BRIDGE || true
sudo ip link set dev $TAP down || true
sudo ip tuntap del dev $TAP mode tap || true
sudo ip addr flush dev $PHY
sudo ip addr add ${IP_MASK} dev $PHY
sudo ip link set dev $PHY up
sudo ip route add default via $GW
}
if ! lsmod | grep -q '^bridge'; then
sudo modprobe bridge
fi
trap 'catch $LINENO "$BASH_COMMAND"' ERR
catch() {
echo "Error on line $1: $2"
restore_network
exit 1
}
if ip link show $TAP &>/dev/null; then
echo "Removing existing tap $TAP"
sudo ip link set dev $TAP down
sudo ip tuntap del dev $TAP mode tap
fi
if ip link show $BRIDGE &>/dev/null; then
echo "Removing existing bridge $BRIDGE"
sudo ip link set dev $BRIDGE down
sudo ip link del $BRIDGE
fi
# Create bridge device
sudo ip link add name $BRIDGE type bridge
sudo ip link set dev $BRIDGE up
sudo ip link set dev $BRIDGE type bridge forward_delay 0
# Add physical interface to bridge
sudo ip link set dev $PHY master $BRIDGE
# Create tap device
sudo ip tuntap add dev $TAP mode tap
sudo ip link set dev $TAP up
# Add tap to bridge
sudo ip link set dev $TAP master $BRIDGE
# Get an address to the bridge
sudo dhclient $BRIDGE
# Start crossvm
sudo ./crosvm/target/release/crosvm run \
linux/arch/x86/boot/bzImage \
-c 4 -m size=4096 \
--disable-sandbox \
--block debian-12.img \
-p "root=/dev/vda1" \
--v4l2-proxy /dev/video0 \
--gpu backend=virglrenderer \
--net tap-name=crossvm_tap,vhost-net
next prev parent reply other threads:[~2025-06-18 14:40 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-12 4:08 [PATCH v3] media: add virtio-media driver Alexandre Courbot
2025-04-12 14:27 ` Markus Elfring
2025-05-26 12:13 ` Mauro Carvalho Chehab
2025-05-27 6:14 ` Alexandre Courbot
2025-05-27 9:13 ` Mauro Carvalho Chehab
2025-05-27 13:21 ` Alexandre Courbot
2025-05-27 13:35 ` Mauro Carvalho Chehab
2025-05-27 14:03 ` Alexandre Courbot
2025-05-27 14:42 ` Mauro Carvalho Chehab
2025-06-17 8:49 ` Mauro Carvalho Chehab
2025-06-17 9:03 ` Mauro Carvalho Chehab
2025-06-17 10:20 ` Mauro Carvalho Chehab
2025-06-18 14:27 ` Alexandre Courbot
2025-06-18 15:05 ` Mauro Carvalho Chehab
2025-06-20 12:03 ` Alexandre Courbot
2025-09-08 10:03 ` Mauro Carvalho Chehab
2025-06-18 14:16 ` Alexandre Courbot
2025-06-18 14:40 ` Mauro Carvalho Chehab [this message]
2025-05-27 14:23 ` Michael S. Tsirkin
2025-05-27 14:39 ` Mauro Carvalho Chehab
2025-05-27 15:06 ` Michael S. Tsirkin
2025-05-28 11:07 ` Alexandre Courbot
2025-05-28 16:23 ` Ricardo Ribalda
2025-06-01 9:34 ` Mauro Carvalho Chehab
2025-06-01 10:01 ` Ricardo Ribalda
2025-07-24 17:24 ` Mauro Carvalho Chehab
2025-07-28 11:51 ` Alexandre Courbot
2025-09-09 9:12 ` Mauro Carvalho Chehab
2026-05-29 16:03 ` Brian Daniels
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250618164002.10220d81@sal.lan \
--to=mchehab+huawei@kernel.org \
--cc=adelva@google.com \
--cc=aesteve@redhat.com \
--cc=changyeon@google.com \
--cc=daniel.almeida@collabora.com \
--cc=eperezma@redhat.com \
--cc=gnurou@gmail.com \
--cc=gurchetansingh@google.com \
--cc=hverkuil@xs4all.nl \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=mst@redhat.com \
--cc=nicolas.dufresne@collabora.com \
--cc=virtualization@lists.linux.dev \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.