# IP Virtual Card Windows installation guide

- [Delivery](#delivery)
  - [Installation](#installation)
- [Target platform](#target-platform)
- [Performance considerations](#performance-considerations)
  - [BIOS](#bios)
  - [Conductor configuration](#conductor-configuration)
- [Licensing](#licensing)

## Delivery

The package contains all the resources needed to run the IP virtual card.

Once this package is installed, you will be able to run any application linked to the IP Virtual Card solution.

### Installation

The installation is automated by the script `install.ps1`.

This script must be launched with administrator privilege :

    .\install.ps1

The script will :

- install and register DELTA PTP as a service
- install and register the VirtualCardService as a service
- install VideoMasterIP libraries
- install licensing module
- create a rule in the firewall to allow VirtualCardService network communication.

The script can also be launched with the following argument :

- `clean` :  this will remove everything that has been done during installation
- `update` : this will update the existing libraries and VirtualCardService executable.

#### VCS configuration

Package installation copies two vcs config files:

- vcsconfig.xml that contains recommended parameters for socket mode

Note that vcs reads its configuration from vcsconfig.xml file.

## Target platform

Hardware :

- CPU speed : minimum 2.1GHz
- CPU architecture : 64 bits
- NIC bandwidth : minimum 10Gb/s

OS :

- Windows Server 2019 and Windows 10
- NIC driver must be properly installed and up to date

## Performance considerations

### BIOS

According to our observations, C-states, P-states or any energy-saving parameters must be disabled in the BIOS parameter.

This ensures that the computer is running at its peak performances.

Not following the recommendations can lead to unstable or non-compliant streams.

### Conductor configuration

The CPU core associated to a conductor must not be used by any process.  

If the hyper-threading is activated, the same guideline must be applied to the associated logical core.

## Licensing

The IP Virtual Card solution is secured by a license manager called **dlmcli.exe**.

To identify the platform, dlmcli take several parameters into account. One of those parameters is one of the NIC MAC.
To avoid license issue in case of network configuration changes, we recommend to force dlmcli to use a specific NIC MAC that should never be removed or used by IP Virtual Card (mainboard NIC by example). For that, use the following argument while you add the first license:  
`--select-custom-mac ############`

If a custom mac is not provided with the first license entry, dlmcli will warn you and list all the available NIC mac.

**To add a license in online mode**, use the following command:  
`.\dlmcli.exe activate ####-####-####-####-####-####-####-#### [--select-custom-mac ############]`  

**To add a license in offline mode**, use the following command:  
`.\dlmcli.exe activate --offline requestfile.bin ####-####-####-####-####-####-####-#### [--select-custom-mac ############]`  
Provide the processed requestfile.bin to Deltacast. In return, Deltacast will provide you a response file. Then use the following command:  
`.\dlmcli.exe process responsefile.bin`