This section describes how to setup NETINT’s video transcoder device in a Windows Hyper-V VM.
Search for Turn Windows Features On or Off from the Start menu and ensure that Hyper-V is on. This will install Hyper-V on the Windows host. Reboot once the installation is complete.
Installation and configuration of a Hyper-V VM is not within the scope of this document.
Follow the links in “Useful links and References” for online material describing how to install Hyper-V and a Guest VM of your choice. Ensure the VM can be started and shutdown, and also has a working network connection.
Throughout this section an Ubuntu 20.04 Desktop Version VM called vmcli301 is used.
Additional settings on VM
In VM Settings set Automatic Stop Action to Turn off the Virtual Machine
In VM Settings confirm the VM state is Off
NVMe device Location Path
Each device on the host is assigned a Location Path upon host boot up.
To detect the Location Path for the NVMe device launch the Device Manager.
Select View -> Devices by Connection
In this case the Location Path for the Standard NVM Express Controller is
PCIROOT(0)#PCI(0100)#PCI(0000).
Disable the NVMe device
Check the Quadra NVMe device is installed on the Host by running the following command:
wmic diskdrive get Name,Model,SerialNumber,FirmwareRevision
In the Windows Device Manager click View Devices by connection and disable the Standard NVM Express Controller. It may be found under PCI Express Root Complex --> PCI Express Root Port --> Standard NVM Express Controller.
Right click on Standard NVM Express Controller to see the menu selection and select Disable
The NVMe device will now not show up in wmic output
Passthrough physical device to VM
Launch Windows Powershell in Administrator mode.
Run the following commands to dismount the NVMe device from the host. Then attach the device to the VM. Ensure to use the Location Path for your NVMe device, as collected in above in Section 9.1.2.
Dismount-VMHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0100)#PCI(0000)"
Confirm the Windows Device Manager shows the NVMe device is dismounted.
Assign MMIO space
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName vmcli301 Set-VM -HighMemoryMappedIoSpace 2Gb -VMName vmcli301
Attach NVMe device to VM
Add-VMAssignableDevice -LocationPath “PCIROOT(0)#PCI(0100)#PCI(0000)” -VMName vmcli301 Get-VMAssignableDevice
Example:
cmdlet Get-VMAssignableDevice at command pipeline position 1 Supply values for the following parameters: VMName[0]: vmcli301 VMName[1]: InstanceID : PCIP\VEN_1D82&DEV_0401&SUBSYS_04011D82&REV_00\4&1F0B2711&0&0008 LocationPath : PCIROOT(0)#PCI(0100)#PCI(0000) ResourcePoolName : Primordial Name : Virtual PCI Express Port Settings Id : Microsoft:132F09C1-A7E3-44CD-B619-A218F8524B6F\46FF7B1F-9A20-48E9-8679-8D202A8FC245 VMId : 132f09c1-a7e3-44cd-b619-a218f8524b6f VMName : vmcli301 VMSnapshotId : 00000000-0000-0000-0000-000000000000 VMSnapshotName : CimSession : CimSession: . ComputerName : WIN-FIOK10VM5LK IsDeleted : False VMCheckpointId : 00000000-0000-0000-0000-000000000000 VMCheckpointName :
Start the VM by clicking on Hyper-V Manager -> Virtual Machines -> vmcli301 -> Start
Run the following command to get status of VM
get-VM
Connect to the VM to launch the VM desktop view.
Follow the QuickStartGuideQuadra_V3 or newer, to install the Linux and FFmpeg environment to VM to help see the Quadra device and perform transcoding operations.
Confirm the NVMe device is mounted and accessible to the VM by running the following commands
sudo nvme list sudo ni_rsrc_mon sudo lspci -vvv -d 1d82:
The Quadra NVMe device is now ready for use in the Hyper-V VM.
Passthrough virtual device to VM
This section requires firmware support for SR-IOV on the NETINT video transcoder device, this was introduced since release 4.1.1.
Restoring the NVMe device back to the host
Launch Windows Powershell in administrator mode. Run the following commands to remove the NVMe device from the Hyper-V VM and mounting it back to the host. Replace Location Path and VM name values in the commands to values specific to your host and VM.
Remove-VMAssignableDevice -LocationPath "PCIROOT(0)#PCI(0100)#PCI(0000)" -VMName vmcli301 Mount-VMHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0100)#PCI(0000)"
In Windows ‘Device Manager’ -> view -> Devices by connection, enable the ‘Standard NVM Express Controller’. It may be found under ‘PCI Express Root Complex à PCI Express Root Port’ -> ‘Standard NVM Express Controller’. Right click on ‘Standard NVM Express Controller’ to see the menu selection and select ‘Enable’.
Check the Quadra NVMe device is available on the Host by running the following command.
wmic diskdrive get Name,Model,SerialNumber,FirmwareRevision















