Using Scream over LAN
Introduction
In the event your Windows Guest does not require network isolation by traversing NAT (for security purposes) using Scream over a VirtIO Bridge will yield a overall better experience to using the IVSHMEM drivers. Setup is also simpler.
Prerequisites & Dependencies
Before setup can begin there are a few requirements.
Prerequisites
- The Guest needs to have a VirtIO Network Adapter installed. This includes:
- Creating a Bridged Network Adapter on the Host
- Passing the Bridged Network Adapter to the Guest
- Installing the VirtIO drivers on the Guest.
Dependencies
- We also require a few packages:
git
libpulse-dev
(May already be installed.)make
(Will already be installed if you've setup Looking Glass)
Setup
For the most basic configuration Scream over LAN does not have much setup to it.
Installing Scream on the Windows Guest
How to Install Scream on the Windows Guest has already been covered. Do make sure after a restart that the default audio device has been set to Scream.
Installing Scream on the GNU/Linux Host
- Start by downloading Scream from the Github repository.
git clone https://github.com/duncanthrax/scream.git
- Now navigate to the
scream/Receivers/pulseaudio
directory and runmake
. - Scream over LAN is now ready to use.
Running Scream
Scream only uses a small number of arguments to operate which can be viewed by running ./scream-pulse -h
:
Usage: ./scream-pulse [-u] [-p <port>] [-i <iface>] [-g <group>]
All command line options are optional. Default is to use
multicast with group address 239.255.77.77, port 4010.
-u : Use unicast instead of multicast.
-p <port> : Use <port> instead of default port 4010
Applies to both multicast and unicast
-i <iface> : Use local interface <iface>. Either the IP
or the interface name can be specified. In
multicast mode, uses this interface for IGMP.
In unicast, binds to this interface only.
-g <group> : Multicast group address. Multicast mode only.
However confirming that Scream is running on the Windows Guest it can be ran by simply pointing it to the Bridge accociated with the VM. Ex:./scream-pulse -i bridge0
If Scream successfully picks up the Guests broadcast the Terminal used to execute scream-pulse
should have a similar output to the following:
Switched format to sample rate 48000, sample size 32 and 2 channels.
NOTE: At times it may be necessary to play a clip of audio on the Guest before the terminal will output the above line.