You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Req'd Publish Date: 6/3
Discussed some updates with Drew that I've reflected here. Primarily, I have tried to disambiguate full-screen video encoding (which can be done in hardware/GPU or Software only modes) from GPU-accelerated remote frame encoding. I've changed the references in this doc so that it focuses only on the latter, with added notes calling out which settings would enable full-screen software encoding.
An earlier commit also removed W365 references.
Please let me know if you have any questions or changes. Thanks!
Copy file name to clipboardExpand all lines: articles/virtual-desktop/graphics-enable-gpu-acceleration.md
+31-29Lines changed: 31 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,14 +15,12 @@ There are three components to GPU acceleration in Azure Virtual Desktop that wor
15
15
16
16
-**GPU-accelerated application rendering**: Use the GPU to render graphics in a remote session.
17
17
18
-
-**GPU-accelerated frame encoding**: The Remote Desktop Protocol encodes all graphics rendered for transmission to the local device. When part of the screen is frequently updated, it's encoded with the Advanced Video Coding (AVC) video codec, also known as H.264.
19
-
20
-
-**Full-screen video encoding**: A full-screen video profile provides a higher frame rate and better user experience, but uses more network bandwidth and both session host and client resources. It benefits applications such as 3D modeling, CAD/CAM, or video playback and editing. You can choose to encode it with:
21
-
- AVC/H.264.
22
-
- High Efficiency Video Coding (HEVC), also known as H.265. This allows for 25-50% data compression compared to AVC/H.264, at the same video quality or improved quality at the same bitrate.
18
+
-**GPU-accelerated remote frame encoding**: The Remote Desktop Protocol encodes all graphics rendered for transmission to the local device. GPU-accelerated remote frame encoding uses the GPU to encode the the rendered graphics frames to provide higher frame rates and better user experiences, although this feature may consume more network bandiwdth and both session host and client resources. This beenfits applications such as 3D modeling, CAD/CAM, or video playback and editing. You can choose to encode with:
19
+
- AVC/H.264
20
+
- Hight Efficiency Video Coding (HEVC), also known as H.265. This allows for 25-50% better data compression compared to AVC/H.264, at the same video quality or improved quality at the same bitrate.
23
21
24
22
> [!NOTE]
25
-
> - If you enable both HEVC/H.265 and AVC/H.264 hardware acceleration, but HEVC/H.265 isn't available on the local device, AVC/H.264 is used instead.
23
+
> - If you enable both HEVC/H.265 and AVC/H.264 hardware acceleration, but the HEVC/H.265 codec isn't available on the local device or your environment does not meet the prequisites for HEVC/H.265, AVC/H.264 is used instead.
26
24
>
27
25
> - You can enable full-screen video encoding with AVC/H.264 even without GPU acceleration, but HEVC/H.265 requires a compatible GPU-enabled remote virtual machine.
28
26
>
@@ -34,12 +32,12 @@ This article shows you which Azure VM sizes you can use as a session host with G
34
32
35
33
The following tables list which Azure VM sizes are optimized for GPU acceleration and supported as session hosts in Azure Virtual Desktop:
36
34
37
-
| Azure VM size | GPU-accelerated application rendering | GPU-accelerated frame encoding | Full-screen video encoding |
The right choice of VM size depends on many factors, including your particular application workloads, desired quality of user experience, and cost. In general, larger and more capable GPUs offer a better user experience at a given user density. Smaller and fractional GPU sizes allow more fine-grained control over cost and quality.
45
43
@@ -52,7 +50,7 @@ VM sizes with an NVIDIA GPU come with a GRID license that supports 25 concurrent
52
50
53
51
Before you can enable GPU acceleration, you need:
54
52
55
-
- An existing host pool with session hosts using a [supported GPU-optimized Azure VM size or Windows 365 Enterprise GPU](#supported-gpu-optimized-azure-vm-sizes) for the graphics features you want to enable. Supported graphics drivers are listed in [Install supported graphics drivers in your session hosts](#install-supported-graphics-drivers-in-your-session-hosts).
53
+
- An existing host pool with session hosts using a [supported GPU-optimized Azure VM size](#supported-gpu-optimized-azure-vm-sizes) for the graphics features you want to enable. Supported graphics drivers are listed in [Install supported graphics drivers in your session hosts](#install-supported-graphics-drivers-in-your-session-hosts).
56
54
57
55
- To configure Microsoft Intune, you need:
58
56
@@ -86,11 +84,11 @@ In addition, for HEVC/H.265 hardware acceleration you also need:
86
84
- Microsoft HEVC codec installed. This can be obtained 1 of 3 ways:
87
85
- The Microsoft HEVC codec is included in new installations of Windows 11 22H2 or later.
88
86
- You can [purchase the Microsoft HEVC codec from the Microsoft Store](https://www.microsoft.com/store/productid/9NMZLZ57R3T7?ocid=pdpshare).
89
-
- Windows App, version 2.0.500.0 or later, can install a version of the HEVC codec compatible with remote connections initiated through Windows App only, if a suitable codec isn't detected. This method requires access to the Microsoft Store.
87
+
-If you are using Windows App version 2.0.500.0 or later, it can check for the presence of option 1 or 2. If it does not detect either, then it will install a specialized version of the HEVC codec compatible only with remote sessions initiated through Windows App. Note that this method requires access to the Microsoft Store.
90
88
91
89
- One of the following apps to connect to a remote session. Other platforms and versions aren't supported.
92
-
- Windows App on Windows, version 1.3.278.0 or later.
93
-
- Remote Desktop app on Windows, version 1.2.4671.0 or later.
90
+
- Windows App on Windows, version 2.0.379 or later.
91
+
- Remote Desktop app on Windows, version 1.2.6081 or later.
94
92
95
93
## Install supported graphics drivers in your session hosts
96
94
@@ -107,9 +105,9 @@ When installing drivers, here are some important guidelines:
107
105
108
106
- For VMs sizes with an AMD GPU, install the AMD drivers that Azure provides. To download and learn how to install the driver, see [Install AMD GPU drivers on N-series VMs running Windows](/azure/virtual-machines/windows/n-series-amd-driver-setup).
109
107
110
-
## Enable GPU-accelerated application rendering, frame encoding, and full-screen video encoding
By default, Azure Virtual Desktop remote sessions are rendered with the CPU and don't use available GPUs. You can enable GPU-accelerated application rendering, frame encoding, and full-screen video encoding using Microsoft Intune or Group Policy.
110
+
By default, Azure Virtual Desktop remote sessions are rendered with the CPU and don't use available GPUs. You can enable GPU-accelerated application rendering, and remote frame encoding using Microsoft Intune or Group Policy.
113
111
114
112
> [!IMPORTANT]
115
113
> If settings for GPU-acceleration using both H.264/AVC and H.265/HEVC are enabled, H.265/HEVC is prioritized for compatible remote sessions.
@@ -132,23 +130,25 @@ To enable GPU-accelerated application rendering using Intune:
132
130
133
131
1. For GPU-accelerated application rendering, check the box for **Use hardware graphics adapters for all Remote Desktop Services sessions**.
134
132
135
-
1. For GPU-accelerated frame encoding using H.264/AVC, check the box for **Configure H.264/AVC hardware encoding for Remote Desktop connections**.
136
-
137
-
1. For full-screen video encoding, check the box for **Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections**.
133
+
1. For GPU-accelerated remote frame encoding using H.264/AVC:
134
+
1. Check the box for **Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections**.
135
+
1. Check the box for **Configure H.264/AVC hardware encoding for Remote Desktop connections**.
136
+
> [!NOTE]
137
+
> - Checking the box to Prioritize H.264 Graphics mode without checking the box to Configure hardware encoding can result in software/CPU-based H.264/AVC full-screen video encoding.
1.For GPU-accelerated remote frame encoding using H.265/HEVC, browse to **Administrative templates** > **Windows Components** > **Remote Desktop Services** > **Remote Desktop Session Host** > **Azure Virtual Desktop** in the settings picker.
140
140
141
-
1.For GPU-accelerated frame encoding using H.265/HEVC Check the box for **Configure H.265/HEVC hardware encoding for Remote Desktop Connections**, then close the settings picker.
141
+
1.To enable GPU-accelerated remote frame encoding using H.265/HEVC Check the box for **Configure H.265/HEVC hardware encoding for Remote Desktop Connections**, then close the settings picker.
142
142
143
143
1. Expand the **Administrative templates** category, then set toggle the switch for each setting as follows:
144
144
145
145
1. For GPU-accelerated application rendering, set **Use hardware graphics adapters for all Remote Desktop Services sessions** to **Enabled**.
146
146
147
-
1. For GPU-accelerated frame encoding using H.264/AVC, set **Configure H.264/AVC hardware encoding for Remote Desktop connections** to **Enabled**.
147
+
1. For GPU-accelerated remote frame encoding using H.264/AVC, set **Configure H.264/AVC hardware encoding for Remote Desktop connections** to **Enabled**.
148
148
149
149
1. For full-screen video encoding, set **Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections** to **Enabled**.
150
150
151
-
1. For GPU-accelerated frame encoding using H.265/HEVC set **Configure H.265/HEVC hardware encoding for Remote Desktop Connections** to **Enabled**.
151
+
1. For GPU-accelerated remote frame encoding using H.265/HEVC set **Configure H.265/HEVC hardware encoding for Remote Desktop Connections** to **Enabled**.
152
152
153
153
1. Select **Next**.
154
154
@@ -176,9 +176,12 @@ To enable GPU-accelerated application rendering using Group Policy:
176
176
177
177
1. For GPU-accelerated application rendering, double-click the policy setting **Use hardware graphics adapters for all Remote Desktop Services sessions** to open it. Select **Enabled**, then select **OK**.
178
178
179
-
1. For GPU accelerated frame encoding, double-click the policy setting **Configure H.264/AVC hardware encoding for Remote Desktop Connections** to open it. Select **Enabled**, then select **OK**. If you're using Windows Server 2016, you see an extra drop-down menu in the setting; set **Prefer AVC Hardware Encoding** to **Always attempt**.
179
+
1. For GPU accelerated remote frame encoding using H.264/AVC:
180
+
1. Double-click the policy setting **Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections** to open it. Select **Enabled**, then select **OK**.
181
+
1. Double-click the policy setting **Configure H.264/AVC hardware encoding for Remote Desktop Connections** to open it. Select **Enabled**, then select **OK**. If you're using Windows Server 2016, you see an extra drop-down menu in the setting; set **Prefer AVC Hardware Encoding** to **Always attempt**.
180
182
181
-
1. For full-screen video encoding using AVC/H.264 only, double-click the policy setting **Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections** to open it. Select **Enabled**, then select **OK**.
183
+
> [!NOTE]
184
+
> - Enabling the policy setting to Prioritize H.264 Graphics mode without checking the box to Configure hardware encoding can result in software/CPU-based H.264/AVC full-screen video encoding.
182
185
183
186
1. For full-screen video encoding using HEVC/H.265 only, navigate to **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **Remote Desktop Services** > **Remote Desktop Session Host** > **Azure Virtual Desktop**.
184
187
@@ -223,15 +226,14 @@ To verify that a remote session is using GPU acceleration, GPU-accelerated appli
223
226
> [!TIP]
224
227
> For NVIDIA GPUs, you can also use the `nvidia-smi` utility to check for GPU utilization when running your application. For more information, see [Verify driver installation](/azure/virtual-machines/windows/n-series-driver-setup#verify-driver-installation).
225
228
226
-
1. To verify GPU-accelerated full-screen encoding using HEVC/H.265 or AVC/H.264, you can open the **Connection Information** window from your session.
229
+
1. To verify GPU-accelerated full-screen encoding using HEVC/H.265 you can open the **Connection Information** window from your session.
227
230
228
231
1. If your session is in full-screen mode, select the signal strength icon in the RDP connection bar at the top of your session window. If your session is in windowed mode, right-click on the top of the window and select **Connection Information** from the context menu.
229
232
230
233
1. Select **"See details"** to expand the window with additional information.
231
-
- If you see **Codecs Used: AVC** under **Graphics details**, then GPU-accelerated frame encoding with AVC/H.264 and full-screen video encoding is in use.
232
234
- If you see **Codecs Used: HEVC** under **Graphics details**, then GPU-accelerated frame encoding with HEVC/H.265 and full-screen video encoding is in use.
233
235
234
-
1. Alternatively, you can use Event Viewer to verify GPU acceleration. To do so, open **Event Viewer** from the Start menu, or run `eventvwr.msc` from the command line.
236
+
1. You can use Event Viewer to verify GPU acceleration with either AVC/H.264 or HEVC/H.265. To do so, open **Event Viewer** from the Start menu, or run `eventvwr.msc` from the command line.
0 commit comments