Upgrading the NVIDIA GRID vGPU driver on XenServer

Last week, NVIDIA released an update for the vGPU driver and manager (also described on The Citrix Blog). Besides bug fixes, this release introduces 3 new vGPU profiles, 1 new profile for the GRID K2 card (K280Q) and 2 new profiles for the GRID K1 card (K160Q and K180Q).

Card Profile Frame buffer Virtual display heads Max resolution per head Max vGPUs per GPU Max vGPUs per board
K1 K180Q 4096Mb 4 2560×1600 1 4
K1 K160Q 2048Mb 4 2560×1600 2 8
K2 K280Q 4096Mb 4 2560×1600 1 2

As you can see, the K180Q and K280Q profiles will assign an entire GPU to a VM. This can be compared to GPU pass-through, but leveriging the functionality of vGPU.

Read More

Performance impact of HDX 3D Pro in virtual desktop environments

Implementing GPUs in your virtual desktop environment (for example vGPU or GPU pass-though) allows better use of graphical intensive applications (like Catia, AutoCAD, Photoshop, etc.). These applications have an impact on utilization (CPU, memory, disk I/O) in your infrastructure. Not only the applications will impact your infrastructure, sending the graphical intensive data over the LAN or WAN will at least impact your network and the CPU on the end-point and inside your virtual desktop. In this article I will explain the impact on network level.

Read More

Fullscreen applications with HDX 3D Pro

If you’ve been working with GPU deployment in your virtual desktop environment (XenDesktop or XenApp), you probably also installed HDX 3D Pro. Leveraging the GPU, you can use more graphic-intensive applications. Some of these graphic-intensive applications sometimes launch in fullscreen mode by default (think of benchmarking tools or videogames). The result of starting an application in fullscreen mode could be the following error:

---------------------------
Citrix HDX 3D Pro Warning!
---------------------------
Full Screen Applications are not supported in Citrix HDX 3D Pro.
Press Ok to exit.
---------------------------
OK 
---------------------------

Read More

Planning GPU deployment in virtualized environments

Implementing a graphics card in your server allows better performance for GPU-intensive applications in VDI and SBC environments. With Citrix and NVIDIA’s vGPU innovations, this is becoming more popular. However, if you don’t plan your GPU deployment correctly, user acceptance of these new innovations will be difficult. This article will contain some things to keep in mind while planning your GPU deployment in virtualized environment. While I created this article with XenDesktop in mind, it does apply to any other VDI or SBC technology like Vmware View, RemoteFX and XenApp.

Read More

Monitoring XenApp with WMI – Part 2: Citrix Servers

In part 1 of this series I talked about the basics of the Citrix WMI providers. In this part, I will talk about getting all information about a XenApp server, like which farm it belongs to, what applications are published, etc.

Again, I will be using PowerShell to get the WMI classes. I will assume that you are logged in to the XenApp server to do the WMI calls. But all of these calls can be done from another server (as long as you have the correct permissions and WMI isn’t blocked by a firewall). See part 1 to get more information about remote WMI calls.

Read More

Monitoring XenApp with WMI – Part 1: Basics

It has been a long time ago since I last created a new post. Time for a new one! I’ve created a series of posts about starting ICA connections programmatically (by using PowerShell). These posts were about the client-side of ICA connections; in this series, I will talk about using the Windows Management Instrumation (WMI) which allows you to monitor your XenApp environment.

While Citrix did document something on eDocs, it’s not a highly-documented feature. This feature is actually quite useful when, for example, monitoring your environment.

This post is not about WMI basics, so I expect that you already know what WMI is and how it’s used. I’ll be using PowerShell as an example, but any scripting/programming language can be used to access the WMI classes. To get more information about WMI in general, visit the Microsoft MSDN site.

Read More

ICA connections using PowerShell – Part 4

It has been a while since I last posted something here. And in my previous post in the ICA-PowerShell series, I mentioned doing another post about simulating keyboard and mouse. To sum up, part 1 was about the ICO Object basics, part 2 was about controlling the ICA session appearance and in part 3 I talked about using the ICO Object’s events.

Enabling Simulation API

The ability to control the mouse and keyboard in an ICA session is not enabled by default. For this to work, you will need to enable the Simulation API. This is done by adding a registry key to the machine you will be using:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\CCM]
"AllowSimulationAPI"=dword:00000001

The “CCM” subkey doesn’t exist by default, so you should create it. If you’re using a 32bit platform for testing, the registry key should look like this:

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\CCM]
"AllowSimulationAPI"=dword:00000001

Read More

ICA connections using Powershell – Part 1

Since version 10.x of the ICA Client, Citrix has shipped the ICA Client Object (ICO) SDK with the installation. This allows developers to control the ICA Client. Writing managed code using ICO is a breeze (my ICAConnect tool is using it), but you can easily write Powershell scripts which leverage the SDK.

The ICOSDK is accessible by using a DLL called “WfIcaLib.dll”, which is located in your ICA Client (or Citrix Receiver) installation directory (default is “%ProgramFiles%\Citrix\ICA Client” on 32bit platforms and “%ProgramFiles(x86)%\Citrix\ICA Client” on 64bit platforms). Now let’s have some fun with the ICO SDK using Powershell.

Read More

RDP not working after XenApp 6 uninstall

A while ago I was doing a large VSI project in a XenApp environment. While the results were not what we expected, I wanted to rule out that the bottleneck was XenApp itself. So using RDP as a connection protocol instead of ICA.

After doing some changes on the servers I tried to logon using MSTSC. It gave me a nice error message and didn’t allow me to connect.

Read More

Connecting to XenApp server through command-line

Citrix Admins out there probably know the issue; a user reports a problem and you need to troubleshoot the problem on the specific server that this user was logged on to. Logging on with user credentials to a certain server is not that easy, unless you create/modify a published desktop (or published application for that matter).

I created a little tool which allows you to easily connect to a published resource on a specific server. You can download it from the Tools section of my site and it’s called ICA Connect.

Read More