[PATCH 0/4] Enable virtio-fs and virtio-snd in UML

Benjamin Berg benjamin at sipsolutions.net
Sun Nov 3 13:28:50 PST 2024


From: Benjamin Berg <benjamin.berg at intel.com>

With these changes, both virtio-fs and virtio-snd seem to work fine. The
feature to query the number of vqs is not really needed, but I already
had the code.

You can for example boot a machine that has both by executing something
like the following:

 $ virtiofsd --sandbox none --socket-path=/tmp/vfsd.sock \
             --shared-dir / --announce-submounts \
             --tag vfs0
 $ vhost-device-sound --socket /tmp/vsnd.sock --backend pipewire

And then simply launching a UML VM directly from /

 $ ./linux mem=256M init=/bin/sh \
           virtio_uml.device=/tmp/vfsd.sock:26 \
           virtio_uml.device=/tmp/vsnd.sock:25 \
           root=vfs0 rootfstype=virtiofs

If you want to do a quick sound check, you could e.g. run the following
commands. The mount just avoids alsa configuration from the host to be
picked up, which might have configuration to use pipewire by default.

 # mount -t tmpfs none /etc
 # arecord | aplay

For me, this works fine on F40 (virtiofsd is installed in /usr/libexec)

Benjamin

Benjamin Berg (4):
  um: virtio_uml: send SET_MEM_TABLE message with the exact size
  um: virtio_uml: use smaller virtqueue sizes for VIRTIO_ID_SOUND
  um: virtio_uml: fix call_fd IRQ allocation
  um: virtio_uml: query the number of vqs if supported

 arch/um/drivers/vhost_user.h |  4 ++-
 arch/um/drivers/virtio_uml.c | 53 ++++++++++++++++++++++++++++++------
 2 files changed, 48 insertions(+), 9 deletions(-)

-- 
2.47.0




More information about the linux-um mailing list