Skip to content

Conversation

@ser-io
Copy link
Member

@ser-io ser-io commented Dec 15, 2025

Port virtio media reference device simple_device as a vhost user implementation.

First iteration of simple_device/src/simple_device.rs is the same as in virtio-media upstream https://github.com/chromeos/virtio-media/blob/main/device/src/devices/simple_device.rs.

cargo run --bin simple_device  -- --socket-path /tmp/simple_device.sock
cargo run --features "media" -- --log-level=debug run --cpus 4 --mem 4096 \
  --rwdisk /path/to/debian-12.img \
  --params "root=/dev/vda1" \
  --vhost-user media,socket=/tmp/simple_device.sock \
  /path/to/bzImage

v4l2-compliance -d0 -s

Bug: 445229097

@ser-io ser-io requested review from Databean and jemoreira December 15, 2025 22:34
@jemoreira
Copy link
Member

Port virtio media reference device simple_device as a vhost user implementation.

First iteration of simple_device/src/simple_device.rs is the same as in virtio-media upstream https://github.com/chromeos/virtio-media/blob/main/device/src/devices/simple_device.rs.

Why are you copying this code here instead of depending on it? Would it be possible to contribute changes upstream and only implement the cuttlefish-specific changes here?

@ser-io ser-io requested a review from adelva1984 December 18, 2025 19:05
@ser-io ser-io force-pushed the virtio-media-use-new-SHMEM branch from d42f8bd to db5b139 Compare January 22, 2026 22:14
@ser-io
Copy link
Member Author

ser-io commented Jan 22, 2026

Port virtio media reference device simple_device as a vhost user implementation.
First iteration of simple_device/src/simple_device.rs is the same as in virtio-media upstream https://github.com/chromeos/virtio-media/blob/main/device/src/devices/simple_device.rs.

Why are you copying this code here instead of depending on it? Would it be possible to contribute changes upstream and only implement the cuttlefish-specific changes here?

Removed the copy depending on the upstream implementation.

@ser-io ser-io force-pushed the virtio-media-use-new-SHMEM branch 3 times, most recently from 833efed to fadcf29 Compare January 24, 2026 00:20
serde = { version = "1.0", features = ["derive"] }
serde_json = "1"

[patch.crates-io]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll remove this once rust-vmm/vhost/pull/339 is merged in.

Run the device.

```
RUST_LOG=trace cargo run --bin simple_device -- --socket-path /tmp/simple_device.sock

or

RUST_LOG=trace bazel run simple_device:simple_device -- --socket-path /tmp/simple_device.sock
```

Run the VM.

```
cargo run -- --log-level=debug run --cpus 4 --mem 4096 \
  --rwdisk /path/to/debian-12.img \
  --params "root=/dev/vda1" \
  --vhost-user media,socket=/tmp/simple_device.sock \
  /path/to/bzImage

v4l2-compliance -d0 -s
```

Bug: 445229097
@ser-io ser-io force-pushed the virtio-media-use-new-SHMEM branch from fadcf29 to 8b2a123 Compare January 24, 2026 00:33
@ser-io ser-io requested review from Databean and jemoreira January 24, 2026 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants