Difference between revisions of "Using Scream over LAN"

From Looking Glass
Jump to navigation Jump to search
 
(22 intermediate revisions by 3 users not shown)
Line 21: Line 21:
  
 
=== Installing Scream on the Windows Guest ===
 
=== Installing Scream on the Windows Guest ===
How to [https://looking-glass.hostfission.com/wiki/Using_Scream#Configuring_the_windows_VM Install Scream on the Windows Guest] has already been covered.
+
How to [https://looking-glass.io/wiki/Using_Scream_over_IVSHMEM#Configuring_the_windows_VM 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 ===
 
=== Installing Scream on the GNU/Linux Host ===
 
#Start by downloading Scream from the Github repository. <code>git clone https://github.com/duncanthrax/scream.git</code>
 
#Start by downloading Scream from the Github repository. <code>git clone https://github.com/duncanthrax/scream.git</code>
#Now navigate to the <code>scream/Receivers/pulseaudio</code> directory and run <code>make</code>.
+
#Now navigate to the <code>scream/Receivers/unix</code>, create a build directory <code>mkdir build && cd build</code>, run <code>cmake ../</code>, and build using <code>make</code>.
 
#Scream over LAN is now ready to use.
 
#Scream over LAN is now ready to use.
  
 
=== Running Scream ===
 
=== Running Scream ===
 
Scream only uses a small number of arguments to operate which can be viewed by running <code>./scream-pulse -h</code>:
 
Scream only uses a small number of arguments to operate which can be viewed by running <code>./scream-pulse -h</code>:
<syntaxhighlight lang=bash>
+
<syntaxhighlight lang=text>
 
Usage: ./scream-pulse [-u] [-p <port>] [-i <iface>] [-g <group>]
 
Usage: ./scream-pulse [-u] [-p <port>] [-i <iface>] [-g <group>]
  
         All commands
+
         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.
 
</syntaxhighlight>
 
</syntaxhighlight>
 
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:<code>./scream-pulse -i bridge0</code>
 
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:<code>./scream-pulse -i bridge0</code>
 +
 +
If Scream successfully picks up the Guests broadcast the Terminal used to execute <code>scream-pulse</code> should have a similar output to the following:
 +
<syntaxhighlight lang=text>
 +
Switched format to sample rate 48000, sample size 32 and 2 channels.
 +
</syntaxhighlight>
 +
 +
<span style="color: red;">'''NOTE: At times it may be necessary to play a clip of audio on the Guest before the terminal will output the above line.'''</span>

Latest revision as of 06:03, 13 November 2021

Introduction[edit]

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[edit]

Before setup can begin there are a few requirements.

Prerequisites[edit]

  • 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[edit]

  • 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[edit]

For the most basic configuration Scream over LAN does not have much setup to it.

Installing Scream on the Windows Guest[edit]

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[edit]

  1. Start by downloading Scream from the Github repository. git clone https://github.com/duncanthrax/scream.git
  2. Now navigate to the scream/Receivers/unix, create a build directory mkdir build && cd build, run cmake ../, and build using make.
  3. Scream over LAN is now ready to use.

Running Scream[edit]

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.