Cannot connect to multiple monitors when using NVidia GRID GPU

Rate this Article
Average: 1 (1 vote)

I. Problem Description

  • Cannot connect to multiple monitors when using NVidia GRID GPU

II. Introduction

  • When a virtual machine (e.g., Amazon EC2 Graphics instance) is equipped with NVidia GRID GPU, the GRID license needs to be configured properly in order to achieve the desired performance (e.g., multi-monitors, high resolution and frame rate). 
  • When multiple monitors are not supported but otherwise the display is working fine, typically this suggested that the NVidia GRID License is not properly configured.
  • This tutorial provides some guidance on how to look for symptoms of  incorrect GRID licensing in either Windows OS or Teradici PCoIP logs.

III. Recommended Solution: GRID Virtual Workstation License

Figure 1 provides an overview of GRID licensing structure:


GLOV                                                                                                                                                       Figure 1. NVidia GRID licensing architecture

GRID licenses come in three editions that enable different classes of GRID features. The GRID software automatically selects the right license edition based on the features being used:

  1. GRID Virtual Application
    • Virtual GPUs for virtual application computing
  2. GRID Virtual PC
    • Virtual GPUs for business desktop computing
  3. GRID Virtual Workstation
    • Virtual GPUs for midrange and high-end workstation computing
    • Workstation graphics on GPU passthrough

In order for the multiple monitors to work, the user needs to have #3 GRID Virtual Workstation license.

IV. Verifying Your NVidia GRID Virtual Workstation  License

GRID Virtual Workstation is available on Tesla GPUs running in GPU passthrough mode to Windows and Linux VMs. Virtual Workstation requires a GRID Virtual Workstation edition, and provides these features:

  • Up to four virtual display heads at 4k resolution (unlicensed Tesla GPUs support a single virtual display head with maximum resolution of 2560×1600)
  • Workstation-specific graphics features and accelerations
  • Certified drivers for professional applications

A. First, contact NVidia and confirm that you have purchased the GRID Virtual Workstation License.

B. Licensing GRID Virtual Workstation on Windows:

  1. Open NVIDIA Control Panel:
    • Right-click on the Windows desktop and select NVIDIA Control Panel from the menu.
    • Open Windows Control Panel and double-click the NVIDIA Control Panel icon
  2. In NVIDIA Control Panel, select the Manage License task in the Licensing section of the navigation pane.
    • Note: If the Licensing section and Manage License task are not displayed in NVIDIA Control Panel, the GPU or driver you are using do not support NVIDIA GRID licensed features.
  3. Select GRID Virtual Workstation, and enter the address of your local GRID License Server in the License Server field (Figure 2).
    • The address can be a fully-qualified domain name such as gridlicense.example.com, or an IP address such as 10.31.20.45. rtaImage

                                                        Figure 2. GRID Virtual Workstation

  1. Leave the Port Number field unset. It will default to 7070, which is the default port number used by NVIDIA GRID License Server.
  2. Click Apply to assign the settings. The License Edition section will indicate that your system is running in GRID Virtual Workstation mode.
    • The system will also request the appropriate license for the current GPU from the configured license server.
    • If unsuccessful, the system warns you that it could not obtain a license. If necessary, refer to Troubleshooting for guidance on troubleshooting.
    • Once configured in NVIDIA Control Panel, licensing settings persist across reboots.

 

C. Licensing GRID Virtual Workstation on Linux
 

  1. As root, open the file /etc/nvidia/gridd.conf in a plain-text editor, such as vi.
    • You can create the /etc/nvidia/gridd.conf file by copying the supplied template file /etc/nvidia/gridd.conf.template.
    • [nvidia@localhost ~]$ sudo vi /etc/nvidia/gridd.conf
  2. Set ServerAddress to the address of your local NVIDIA GRID License Server. The address can be a fully-qualified domain name such as gridlicense.example.com, or an IP address such as 10.31.20.45.
  3. Optional: Set ServerPort to the port number of your local NVIDIA GRID License Server. If you do not set ServerPort, it will default to 7070, which is the default port number that is used by the NVIDIA GRID License Server.
  4. Set FeatureType to 2, to license GRID Virtual Workstation.
  5. Save your changes to the /etc/nvidia/gridd.conf file.
  6. Restart the nvidia-gridd service:
    • [nvidia@localhost ~]$ sudo service nvidia-gridd restart
  7. Optional: Confirm that the service has obtained a license by examining the log messages written to /var/log/messages:
    • [nvidia@localhost ~]$ sudo grep gridd /var/log/messages
      …
      Aug 5 17:12:15 localhost nvidia-gridd: Started (10430)
      Aug 5 17:12:34 localhost nvidia-gridd: License acquired successfully.
      Once configured in gridd.conf, licensing settings persist across reboots and need only be modified if the license server address changes, or the VM is switched to running GRID vGPU. gridd.conf file for GRID Virtual Workstation The following example shows a gridd.conf file for GRID Virtual Workstation in which ServerAddress is set to gridlicense.example.com, ServerPort is set to 7070, and FeatureType is set to 2.
    • # /etc/nvidia/gridd.conf - Configuration file for NVIDIA Grid Daemon
      
      # This is a template for the configuration file for NVIDIA Grid Daemon.
      # For details on the file format, please refer to the nvidia-gridd(1)
      # man page.
      # Description: Set License Server Address
      # Data type: string
      # Format: "<address>"
      ServerAddress=gridlicense.example.com
      # Description: Set License Server port number
      # Data type: integer
      # Format: <port>, default is 7070
      ServerPort=7070
      # Description: Set Feature to be enabled
      # Data type: integer
      # Possible values:
      # 1 => for GRID vGPU
      # 2 => for GRID Virtual Workstation
      FeatureType=2
      # Description: Parameter to enable or disable Grid Licensing tab in nvidiasettings
      # Data type: boolean
      # Possible values: TRUE or FALSE, default is TRUE
      #EnableUI=TRUE
      # Description: Set license borrow period in minutes
      # Data type: integer
      # Possible values: 10 to 10080 mins(7 days), default is 10080
      #Licenselnterval=10080


See also: