Microsoft Flight Simulator virtually? Flightsim training with IGEL OS, Citrix and NVIDIA – It is a reality! In 4K! :-)

By Fredrik Brattstig @virtualbrat

22 June 2022
Ever wanted to sit in the pilot seat of a Boeing 747 and do a take-off from LAX?!
Fly an F18 under Golden Gate bridge!? Or why not do a supersonic flyby of the SFO control tower?! It is all possible with IGEL OS with Citrix Virtual Desktops and NVidia virtual GPU. Let me tell you how!

High-performance graphics delivery is crucial for keeping your users happy. When you are consuming virtual desktops, the goal is to have a local workstation experience, without having that local workstation under your desk, bringing noise and heat to the office area. This can be achieved with virtual GPU’s and remoting technologies.

I have tested Microsoft Flight Simulator since release and never got good framerates – assumably by that the game’s target audience wasn’t the vGPU market, but since the latest update it works, and it works really well. First, let’s have a look at my virtual environment, then my IGEL OS endpoint and peripherals, and finally a demo video..

The Virtual Environment
In my lab, I’m currently running VMWare vsphere on a homebuilt pc. It’s an Intel i9 CPU, 256 GB RAM, and 2TB of NvMe storage. Currently, it is also equipped with an NVidia RTX6000 that I have virtualized. I’m running a Windows 10 VM with 8 vCPU’s and 20GB RAM assigned. Plus I have currently added an NVIDIA GRID vGPU grid_rtx6000q-12q profile. It gives me a 12GB frame buffer for the vGPU and gives a nice kick to the graphics performance. I’m running the Citrix Virtual Apps and Desktops 2203 VDA. Citrix profiles are set to enable h264 hardware acceleration and enabled USB redirection to get my flight stick mapped to the session according to the below screenshots:

HDX 3D settings
USB redirection policy

I did some simple data gathering of Frames Per Second (FPS) reported by Citrix Workspace App for Linux on IGEL OS, when running a 4K (3840×2160 pixels) Citrix Session and Microsoft Flight Simulator and applied the results to a graph:

The purple line is the actual FPS – Red line is 25 FPS

We see a few drops below 25 FPS, which will render in a visible degradation of smoothness in the session graphics delivery but generally around 60 FPS is achieved. This measurement was just a sample snapshot from a random flight, but it shows well that a high framerate is maintained in the streamed h264 session.

The IGEL OS endpoint
Currently, I’m using an Intel NUC that has a few years of age, booted on an IGEL UDPocket (but IGEL OS could as easily have been locally installed on disk), the firmware is 11.07.133 and Citrix Workspace App for Linux version 2203 where the hardware acceleration of graphics is set like this:

IGEL OS Citrix Codec settings

I have also enabled mapping of a joystick – Saitek X52 h.o.t.a.s

Saitek X52 h.o.t.a.s

using VID:PID redirection rules according to these IGEL OS settings:

VID:PID redirection rule for the Saitek X52 h.o.t.a.s

Conclusion – what are the benefits of running a Flight Simulator in a virtual environment?

First off, it is awesome to be able to play games like this in virtual environments. Apart from that, allowing this type of applications running on virtual machines, powered by virtual GPU’s removes the relation of 1 User – 1 Machine. The heavy graphics power can now be shared and you can use smaller, cheaper IGEL OS endpoints sharing the same GPU’s in the data center. And you can enable multiple sites without the need of putting expensive workstations to do flight sim training, or film making, or CAD, or anything you can imagine requiring powerful graphics. It does work, and it works really really well!

Read more about IGEL OS at www.igel.com

Let’s have a look at the video!

That’s it for today, I have that plane to fly!

/Fred