Horizon 6–– vGPU with RHEL 7.1

With this post, I will be going over vGPU setup on Linux.  First of all, the most up to date information can be found at product documentation.  As of writing this post, the latest Horizon version is 6.2.1, and with this release, the supported guest OS versions for 3D Graphics are as follows:

  • vSGA: RHEL 7.1 Workstation x64 with NVIDIA GRID K1 or K2 graphics cards.
  • vDGA: RHEL 6.6 Workstation x64 with NVIDIA GRID K1 or K2 graphics cards.
  • vGPU: RHEL 6.6 Workstation x64 with NVIDIA Maxwell M60 graphics cards.
  • vGPU: RHEL 7.1 Workstation x64 with NVIDIA Maxwell M60 graphics cards.

Just to prevent any confusion, Linux guest OS versions supported with Horizon 6.2.1 are;

Linux guest OS versions supported with Horizon 6.2.1

As I will be configuring vGPU, I am going to use RHEL 7.1 with Maxwell M60 graphics card.

Quick Overview

PREP

  • First, RHEL includes open VMware tools so no need to install VMware tools.
  • Make sure a proper DNS resolution.
  • The run level must be 5 for the Linux desktop to work.
  • Make sure that an HD audio device is not present in the virtual hardware settings for the VM.
  • AD integration and SSO is out of scope for this post, please refer to the documentation.
  • Make sure View agent is not installed before NVIDIA drivers.
  • Information about Bulk deployment can be found here.

Install NVIDIA Drivers

Once you install OS, attach NVIDIA as shared PCI device with vGPU Profile and make sure that VM’s memory is all reserved.

shared PCI device with vGPU Profile

Check Controller with: lspci | grep VGA

lspci | grep VGA

Check nouveue. The driver should be running;
lsmod | grep nouveau

grep nouveau

We need to disable nouveau; edit /etc/default/grub and add rdblacklist=nouveau to the Linux options;

rdblacklist

Then we need to run grub2-mkconfig –o /boot/grub2/grub.cfg

grub.cfg

Lastly, we need to blacklist nouveau: edit /etc/modprobe.d/blacklist.conf and add “blacklist nouveau”. If the file does not exist, create it.

modprobe.d/blacklist.conf

lsmod |grep nouveau

Now its time to reboot and verify nouveau is not running with lsmod |grep nouveau.

Install prerequisites for NVIDIA driver ;

  • yum install gcc-c++ kernel-devel-$(uname -r) kernel-headers-$(uname -r) –y
  • Copy the driver with WinSCP, and run chmod +x 
  • Switch to “init 3”
  • install the driver
  • Select yes for X config, and once done switch to run level 5 and then reboot.

chmod

Once installed, we will not be able to use console.

Install View Agent:

Create an “View administrator” account in AD and enable reverse encryption. This account should have “View administrator” privileges on Horizon View.

reverse encryption

Extract the files; tar -xzvf VMware-viewagent-linux-build##.tar.gz

tar -xzvf VMware-viewagent-linux-build##.tar.gz

an install using ./install_viewagent.sh with the options below:

-b BROKER FQDN
-d domainname (eg, demo.local)
-u AD User Account
-p password. (You need to escape special characters with \)

and reboot once done.

Now you should see the VM under Registered machines section in Horizon View

Registered machines section in Horizon View

To check View agent service: service viewagent status

service viewagent status

You can now create a Desktop Pool and access the VM via Horizon Client.

Licensing On Linux

As you might be aware, NVIDIA now requires a licensing server and VMs check-in/out licenses. To specify license server to connect from the VM, edit
sudo vi /etc/nvidia/gridd.conf as seen in the picture

gridd.conf

Then, restart the service; sudo service nvidia-gridd restart

You can verify that the VM gets license by sudo grep gridd /var/log/messages

sudo grep gridd /var/log/messages

Once everything is working, you can login to the VM with Horizon Client and run
glxinfo | grep NVIDIA to verify GPU is running.

glxinfo | grep NVIDIA

An lastly, here is a short demo (FRL is removed);

 

Keywords: Linux, VDI, GPU, vGPU,

Bulent Tolu

Bulent Tolu

Sr. Systems Engineer at VMware
Bulent is an IT professional with Master's in MIS and 10-years of experience in broad range of Information Technologies. He is exposed to engineering/architecting, implementation/integration, and administration of various high-available IT systems and infrastructure. He has a passion to continually research, test and evaluate new technologies and follow industry best practices to secure and optimize IT systems. Currently, he lives in Istanbul and works as a Sr. Systems Engineer at VMware.
Bulent Tolu

Leave a Reply

Your email address will not be published. Required fields are marked *

Post Navigation

Share
Translate »