Using Scream over LAN

From Looking Glass
Revision as of 13:26, 6 April 2020 by 2601:40e:8200:15f:5cc4:f564:6a6a:9b4b (talk) (Latest version of scream has changed the directory to be scream/Receivers/linux/pulseaudio)
Jump to navigation Jump to search

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

  1. Start by downloading Scream from the Github repository. git clone https://github.com/duncanthrax/scream.git
  2. Now navigate to the scream/Receivers/linux/pulseaudio directory and run make.
  3. 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.