duncanthrax / scream

Virtual network sound card for Microsoft Windows
Microsoft Public License
1.74k stars 145 forks source link

virtio-vsock support #143

Open aaronmaslen opened 3 years ago

aaronmaslen commented 3 years ago

Based on what I understand, virtio-vsock is designed for exactly the kind of use case this software targets (guest-host or guest-guest communications) and is more or less a drop-in replacement for POSIX sockets. It would obviously need support in both the receiver and guest driver, but it eliminates the need for a network connection between the host and guest and likely lacks the problems of the IVSHMEM implementation, which is of particular interest to me. Is that something that you would accept a pull request for? (Before I go and try to code it myself)

martinellimarco commented 3 years ago

Hi there, I'm the author of the ivshmem patch. Virtio-vsock would have been my first choice too if only there would have been a window driver for it.

I've just checked the latest virtio-win iso and it doesn't seem there is a virtio vsock driver yet. Am I missing something?

How do you plan to work around that?

Anyway I strongly agree to replace the ivshmem support with something else. I know many hate it for its polling nature but that's the least of the problems (with ivshmem-doorbell it's interrupt based).

I have high hope in virtio-snd but at the moment it's far from ready and it's outside the scope of scream.

aaronmaslen commented 3 years ago

There's definitely support for viosock in the https://github.com/virtio-win/kvm-guest-drivers-windows repository. This commit suggests that it's installed as part of the guest tools installation. https://github.com/virtio-win/kvm-guest-drivers-windows/pull/491/files

It appears that it's not yet included in the iso, but is largely complete as of April 2020?

martinellimarco commented 3 years ago

Yes, I've seen the source there but unless they distribute it as a signed driver in the iso I don't see how the average user can use this successfully.