21
January 30, 2015 XenClient Enterprise 5.5 Notes on Graphics, Monitor, and Video Support

XenClient Enterprise 5 - support.citrix.com · mirrored mode. Other times it is possible to configure the monitors into external Other times it is possible to configure the monitors

Embed Size (px)

Citation preview

January 30, 2015

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Copyright 2015 Citrix

Page 2

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Table of Contents

Introduction Page 3

Terminology Page 4

General Limits and Expectations for Graphics and Monitor Support Page 5

Graphics Processor (GPU) Support Page 6

Specialized Monitor Types Page 7

Multi-Monitor Support Page 8

Haswell Docking Stations Page 9

Dual-Monitor Testing Notes for Selected Docking Stations Page 10

3D Graphics in XenClient VMs with Intel GVT Page 11

3D Graphics in XenClient VMs Page 12

Simplified Intel VGT Architecture Page 13

Graphics Aperture BIOS Settings Page 14

Intel GVT Resources Page 15

Graphics Drivers in XenClient VMs and Synchronizer Graphics Policy Settings Page 16

Graphics Drivers for XenClient VMs Page 17

Graphics Drivers in Windows Device Manager Page 18

Synchronizer Policy Settings for Graphics Page 19

Synchronizer Policy Details Page 20

Which Graphics Driver Will Be Installed in the VM? Page 21

Copyright 2015 Citrix

Page 3

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Introduction

Summary

This document provides some notes on how XenClient Enterprise supports various video and monitor components, use cases, and

modes of operation.

Applicability

This document is applicable to XenClient Enterprise version 5.5.1. Portions of this document may not be applicable to earlier or later

versions of XenClient Enterprise. Each XenClient deployment is unique and the information presented in this document may lack context

or consideration of specific environments or use cases. Any changes or processes that may be suggested by this document should be

thoroughly tested before being applied to production systems.

Disclaimer

Any sample code, scripts, SQL queries, commands, or other such information (hereafter referred to as “code”) presented in this

document is provided to you AS IS with no representations, warranties or conditions of any kind. You may use, modify and distribute it at

your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY,

INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND

NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the sample code may exhibit

errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the

sample code fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any

future versions of the sample code. In no event should the code be used to support of ultra-hazardous activities, including but not limited

to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF

CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SAMPLE

CODE, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES,

EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Although the copyright in the code belongs to Citrix, any distribution of

the code should include only your own standard copyright attribution, and not that of Citrix. You agree to indemnify and defend Citrix

against any and all claims arising from your use, modification or distribution of the code.

Copyright 2015 Citrix

Page 4

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Terminology

Haswell Processor

• Refers to intel 4th Generation Core CPUs.

• Example: Core i5-4200U (a common Haswell processor for laptops).

Haswell Platform

• A computer with a Haswell processor and support for Haswell features enabled in the BIOS.

• Examples: Dell Latitude E7440, Lenovo ThinkPad T440, HP EliteBook 1040-G1.

GVT

• Intel Graphics Virtualization Technology.

• Provides hardware-assisted virtualization of the Intel integrated graphics processor.

• Only available for Haswell processors with integrated Intel graphics (no NVidia or AMD graphics).

GVT VM

• A XenClient VM running on a Haswell platform utilizing GVT graphics.

• A GVT VM will have the native Intel graphics driver installed and have direct access to the GPU.

• Although the hypervisor (Xen) plays a role in mediating access to the GPU.

XPDM

• Legacy graphics driver architecture introduced by Microsoft for Windows XP.

• Non-GVT Windows 7 VMs will use a para-virtualized XPDM driver by default (with no 3D rendering).

WDDM

• Graphics driver architecture introduced by Microsoft for Windows Vista and carried forward to Windows 7 and Windows 8.

• There are three different WDDM drivers available for XenClient VMs:

• GVT VMs will use the native Intel driver, which is a WDDM driver.

• Non-GVT Windows 8 VMs will use a para-virtualized WDDM driver with the built-in Microsoft 3D software rendering library.

• Non-GVT Windows 7 VMs may also use a para-virtualized WDDM driver with an external 3D software rendering library.

General Limits and Expectations for Graphics and

Monitor Support

Copyright 2015 Citrix

Page 6

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Graphics Processor (GPU) Support

Intel Integrated Graphics

• Generally supported and recommended for XenClient computers.

• Haswell (4th Generation Core):

• Supported and required for GVT VMs.

• IvyBridge (3rd Generation Core):

• Also supported, but not for GVT VMs.

• SandyBridge (2nd Generation Core):

• Generally supported, but not for GVT VMs, and some Core i3 CPUs may have issues.

• Earlier Generations:

• Not actively tested or supported but many will still work.

Non-Intel Graphics (AMD / NVidia)

• Generally untested and unsupported.

• Some AMD/NVidia GPUs may work with limitations.

• Particularly problematic:

• AMD Quadro GPUs.

• NVidia Optimus technology (even if disabled in the BIOS).

• Encrypted computers with non-Intel graphics may boot into a black screen.

• If the encryption unlock password is entered at the black screen, the computer may boot normally.

• This appears to be improved in XenClient version 5.5, compared to previous versions.

Copyright 2015 Citrix

Page 7

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Specialized Monitor Types

Pivoting Monitors

• Not supported.

• Will generally work in landscape mode.

• But when pivoted to portrait mode, the graphics will not adjust.

USB Video Display Devices

• Not supported.

• It may be possible to pass the device through to a Windows VM.

• If a suitable driver is available, it may get installed as a Windows device.

• But the device may or may not work as expected within the VM.

KVM (Keyboard/Video/Mouse) Devices

• In theory, KVM devices should “just work” with XenClient (and some do).

• In practice, some KVM devices may introduce issues such as:

• Video not displaying properly (black screen).

• Video instability or flickering.

• Incorrect resolution.

• These issues are often caused by the KVM not passing along configuration information for the monitor in the way expected by XenClient.

• There can also be issues with XenClient running in headless mode (no monitor attached).

• In particular, VNC access to the Engine may not work properly.

Copyright 2015 Citrix

Page 8

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Multi-Monitor Support

General expectations for multi-monitor support, based on platform type. Results may vary between specific laptop and docking station models.

Desktop Computers

• One or two monitors connected to different ports on a single GPU.

• No support for multiple GPUs.

All-In-One Computers

• Integrated screen, plus one external monitor.

Laptop Computer (Undocked)

• Integrated screen, plus one external monitor.

• Or two external monitors, in which case the integrated screen is not active.

Laptop Computer (Docked)

• One external monitor connected to the docking station generally works.

• If the laptop lid is open, the built-in screen can be used as a second monitor in mirrored or extended mode.

• Two external monitors connected to the docking station may work.

• It depends on the specific laptop and docking station.

• If two external monitors can be used, the laptop screen will be black, even if the lid is open.

• But many Haswell Docking Stations only work with a single external monitor.

Copyright 2015 Citrix

Page 9

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Haswell Docking Stations

DisplayPort Multi-Stream Transport (MST)

• Allows multiple independent video streams on a single port.

• Used to daisy-chain multiple monitors on a single connection.

• This technology is not supported in the version of Linux used with XenClient.

• For details see: http://www.displayport.org/cables/driving-multiple-displays-from-a-single-displayport-output

MST and Haswell Laptops

• Many Haswell laptops use MST to integrate with the docking station.

• This appears to be an emerging design trend among the main laptop vendors.

• The docking station, or in some cases the laptop itself, is effectively acting as a DisplayPort hub.

Implications for XenClient

• XenClient cannot support multiple monitors connected to a docking station if MST is used.

• Typical behavior:

• Both monitors light up but the Engine will act as if only a single monitor is attached.

• The monitors will be stuck in mirrored mode with no option for extended mode.

• One or both monitors may experience display issues such as flickering, distortion, or letterboxing.

Copyright 2015 Citrix

Page 10

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Dual-Monitor Testing Notes for Selected Docking Stations

LaptopDockingStation

Platform Type

Results With Two External Monitors

LenovoX230, T430, T530

MiniDock 3 IvyBridge Works in either mirrored or extended mode.

LenovoX240, T440, T540

UltraDock HaswellThe Engine behaves as if only a single monitor is attached. Video output is mirrored between the two external monitors with no option for extended mode.

DellE6330, E7230

E-Port Plus IvyBridge Works in either mirrored or extended mode.

DellE6440

E-Port Plus Haswell

The same docking station is used for Dell Haswell and IvyBridge laptops.

For this particular Dell Haswell laptop, the docking station works with dual external monitors in either mirrored or extended mode.

DellE7240, E7440

E-Port Plus Haswell

Same docking station as used with the Haswell E6440, but with different results.

The Engine behaves as if only a single monitor is attached. Video output is mirrored between the two external monitors with no option for extended mode.

Speculative conclusion: These laptops use DisplayPort MST to integrate with the docking station video ports, but the MST technology is internal to the laptops, not in the docking station.

HP850-G1, 1040-G1

UltraSlimDock

HaswellInconsistent and unstable results. Sometimes the external monitors get stuck in mirrored mode. Other times it is possible to configure the monitors into external mode but after a while the monitors will spontaneously return to mirrored mode.

3D Graphics in XenClient VMs with Intel GVT

Copyright 2015 Citrix

Page 12

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

3D Graphics in XenClient VMs

3D Graphics and Intel GVT

• XenClient 5.5 now supports 3D acceleration in VMs deployed to Intel Haswell platforms.

• This is done by leveraging Intel GVT (Graphics Virtualization Technology, formerly known as XenGT).

• No special drivers or configuration is required to enable GVT in XenClient VMs.

• Any Win7 or Win8 VM deployed to a GVT-capable platform should automatically get GVT graphics.

• Although GVT can be disabled in Synchronizer policies if desired.

3D Performance in XenClient VMs

• For a single VM running on a Haswell endpoint, 3D graphics performance should be close to native.

• Performance scales down with multiple VMs because the GPU is being shared.

• 3D performance should be more than adequate for most business applications.

• Including Google Earth and the Windows Aero interface.

• By far the two most requested 3D applications in pre-5.5 XenClient versions.

Copyright 2015 Citrix

Page 13

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Xen

Simplified Intel VGT Architecture

Processor LayerIntel Haswell processor includes multiple CPU cores and an integrated GPU.

GVT LayerIntel GVT technology partitions the physical GPU into multiple virtual GPUs.

Hypervisor LayerXen hypervisor manages GPU partitioning and mediates pass-through of virtual GPUs.

VM LayerThe native Intel graphics driver is installed in each VM. As far as the driver is concerned, it has direct access to a physical GPU.

Virtual

GPU

Virtual

GPU

Virtual

GPU

Dom0 VM1 VM2

Copyright 2015 Citrix

Page 14

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Graphics Aperture BIOS Settings

• Graphics Aperture is a memory resource required for GVT VMs.

• These screen shots provide an example of how the graphics aperture may be adjusted in the BIOS.

• Default value was 256 MB, which is only sufficient for a single GVT-enabled VM (plus dom0).

• Maximum value is 512 MB, which should support up to three GVT-enabled VMs (plus dom0).

• This example is for a Lenovo x240.

• The original factory BIOS did not permit graphics aperture adjustment.

• Increasing the graphics aperture was only possible after a BIOS upgrade.

Copyright 2015 Citrix

Page 15

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Intel GVT Resources

• The following resources are provided on a “for information only” basis for XenClient users who may be interested in learning more about GVT technology.

• Certain sections of these resources may not be applicable to the specific implementation of GVT interoperability in XenClient enterprise.

• Note that “XenGT” is an older and now deprecated name for the family of Intel processor features now known as GVT.

Resource Description

https://01.org/blogs/skjain/2014/intel%C2%AE-graphics-virtualization-update

Provides a high-level overview of GVT features in Intel Haswell processors.

http://events.linuxfoundation.org/sites/events/files/slides/XenGT-LinuxCollaborationSummit-final_1.pdf

Good overview of GVT architecture and how it compares to other options for graphicsvirtualization.

https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt Written from a Xen perspective. Describes how the hypervisor integrates with Intel GVT.

Graphics Drivers in XenClient VMs and

Synchronizer Graphics Policy Settings

Copyright 2015 Citrix

Page 17

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Graphics Drivers for XenClient VMs

This table outlines the options for graphics drivers in XenClient VMs.

Windows Versions

Platform Requirements

SupportStatus

3D GraphicsRendering

3D GraphicsPerformance

Intel HD Graphics

Driver

Win7 or Win8

Intel Haswell CPU with integrated Intel graphics.

Supported. Default for Win7 or Win8 VMs deployed to Haswellendpoints.

Hardware 3D acceleration.

Close to native performance for a single VM.

Win8 WDDM Driver

Win8 Only

No specific requirements.

Supported. Default for Win8 VMs deployed to non-Haswellendpoints.

Software 3D rendering using the Windows 8 built-in kernel-mode rendering library.

Generally adequate for lightweight 3D apps (like Google Earth). 3D rendering will cause high CPU utilization.

Win7 WDDM Driver

Win7Only

No specific requirements.

Unsupported and Highly Experimental. Only available through Synchronizer policy configuration.

Software 3D rendering using an external user-mode rendering library.

Similar to Win8 WDDM, but some applications may experience performance or stability issues.

Win7 XPDMDriver

Win7Only

No specific requirements.

Supported. Default for Win7 VMs deployed to non-Haswellendpoints.

None.

Applications may implement their own 3D rendering but performance will generally be poor.

Copyright 2015 Citrix

Page 18

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Graphics Drivers in Windows Device Manager

The graphics architecture in place for a particular VM can be inferred from the display adapter entry in Windows device manager.

Native Intel HD Graphics Driver• Requires Intel Haswell CPU with integrated Intel Graphics.• Default for Win7 or Win8 VMs deployed to Haswell endpoints.• VM has direct access to GPU for hardware 3D acceleration.

Windows 8 WDDM Driver• Default for Win8 VMs deployed to pre-Haswell endpoints.• Software 3D rendering with the built-in Windows 8 library.

Windows 7 WDDM Driver• Optional for Win7 VMs deployed to pre-Haswell endpoints.• Software 3D rendering with an external library.• This driver is unsupported and highly experimental!

Windows 7 XPDM Driver• Default for Win7 VMs deployed to pre-Haswell endpoints.• No 3D rendering capabilities.

Copyright 2015 Citrix

Page 19

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Synchronizer Policy Settings for Graphics

Copyright 2015 Citrix

Page 20

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Synchronizer Policy Details

• Enables GVT graphics for Windows 7 or Windows 8 VMs deployed to GVT-capable endpoints.

• Enabled by default, but can be disabled on a per-VM basis.

Enable Graphics Virtualization

• Only applies to Windows 7 VMs.

• Enables 3D software rendering with a WDDM driver on non-GVT endpoints.

• Disabled by default. May be enabled on a per-VM basis.

• This feature is currently considered to be unsupported and highly experimental.

• It may cause performance or stability issues with some Windows applications.

Enable 3D Graphics

Copyright 2015 Citrix

Page 21

XenClient Enterprise 5.5

Notes on Graphics, Monitor, and Video Support

Which Graphics Driver Will Be Installed in the VM?

Win8

Yes

Win7

Is the VM deployed to a GVT-capable endpoint?

Is the “Enable Graphics Virtualization” policy

setting enabled?

Is the“Enable 3D Graphics”

policy setting enabled?

What is the VM OS Type?

NoYes

No

NativeVirtualized graphics with

hardware 3D acceleration.

Win8 PV (WDDM)Emulated graphics with the standard Windows 8

3D rendering library.

Win7 PV (XPDM)Emulated graphics with

no 3D rendering.

Win7 PV (WDDM)Emulated graphics with an

external 3D rendering library.Unsupported and experimental.

Yes

Yes

No