Skip to content

Commit 4747139

Browse files
authored
Update graphics-enable-gpu-acceleration.md
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!
1 parent 6e25d9e commit 4747139

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

articles/virtual-desktop/graphics-enable-gpu-acceleration.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@ There are three components to GPU acceleration in Azure Virtual Desktop that wor
1515

1616
- **GPU-accelerated application rendering**: Use the GPU to render graphics in a remote session.
1717

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.
2321

2422
> [!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.
2624
>
2725
> - 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.
2826
>
@@ -34,12 +32,12 @@ This article shows you which Azure VM sizes you can use as a session host with G
3432

3533
The following tables list which Azure VM sizes are optimized for GPU acceleration and supported as session hosts in Azure Virtual Desktop:
3634

37-
| Azure VM size | GPU-accelerated application rendering | GPU-accelerated frame encoding | Full-screen video encoding |
38-
|--|--|--|--|
39-
| [NVv3-series](/azure/virtual-machines/nvv3-series) | Supported | HEVC/H.265<br />AVC/H.264 | HEVC/H.265<br />AVC/H.264 |
35+
| Azure VM size | GPU-accelerated application rendering | GPU-accelerated remote frame encoding |
36+
|--|--|--|
37+
| [NVv3-series](/azure/virtual-machines/nvv3-series) | Supported | HEVC/H.265<br />AVC/H.264 |
4038
| [NVv4-series](/azure/virtual-machines/nvv4-series) | Supported | AVC/H.264 | AVC/H.264 |
41-
| [NVadsA10 v5-series](/azure/virtual-machines/nva10v5-series) | Supported | HEVC/H.265<br />AVC/H.264 | HEVC/H.265<br />AVC/H.264 |
42-
| [NCasT4_v3-series](/azure/virtual-machines/nct4-v3-series) | Supported | HEVC/H.265<br />AVC/H.264 | HEVC/H.265<br />AVC/H.264 |
39+
| [NVadsA10 v5-series](/azure/virtual-machines/nva10v5-series) | Supported | HEVC/H.265<br />AVC/H.264 |
40+
| [NCasT4_v3-series](/azure/virtual-machines/nct4-v3-series) | Supported | HEVC/H.265<br />AVC/H.264 |
4341

4442
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.
4543

@@ -52,7 +50,7 @@ VM sizes with an NVIDIA GPU come with a GRID license that supports 25 concurrent
5250

5351
Before you can enable GPU acceleration, you need:
5452

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).
5654

5755
- To configure Microsoft Intune, you need:
5856

@@ -86,11 +84,11 @@ In addition, for HEVC/H.265 hardware acceleration you also need:
8684
- Microsoft HEVC codec installed. This can be obtained 1 of 3 ways:
8785
- The Microsoft HEVC codec is included in new installations of Windows 11 22H2 or later.
8886
- 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.
9088

9189
- 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.
9492

9593
## Install supported graphics drivers in your session hosts
9694

@@ -107,9 +105,9 @@ When installing drivers, here are some important guidelines:
107105

108106
- 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).
109107

110-
## Enable GPU-accelerated application rendering, frame encoding, and full-screen video encoding
108+
## Enable GPU-accelerated application rendering and remote frame encoding
111109

112-
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.
113111

114112
> [!IMPORTANT]
115113
> 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:
132130

133131
1. For GPU-accelerated application rendering, check the box for **Use hardware graphics adapters for all Remote Desktop Services sessions**.
134132

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.
138138
139-
1. In the settings picker, browse to **Administrative templates** > **Windows Components** > **Remote Desktop Services** > **Remote Desktop Session Host** > **Azure Virtual Desktop**.
139+
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.
140140

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.
142142

143143
1. Expand the **Administrative templates** category, then set toggle the switch for each setting as follows:
144144

145145
1. For GPU-accelerated application rendering, set **Use hardware graphics adapters for all Remote Desktop Services sessions** to **Enabled**.
146146

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**.
148148

149149
1. For full-screen video encoding, set **Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections** to **Enabled**.
150150

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**.
152152

153153
1. Select **Next**.
154154

@@ -176,9 +176,12 @@ To enable GPU-accelerated application rendering using Group Policy:
176176

177177
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**.
178178

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**.
180182

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.
182185
183186
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**.
184187

@@ -223,15 +226,14 @@ To verify that a remote session is using GPU acceleration, GPU-accelerated appli
223226
> [!TIP]
224227
> 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).
225228
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.
227230
228231
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.
229232
230233
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.
232234
- 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.
233235
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.
235237
236238
1. Navigate to one of the following locations:
237239

0 commit comments

Comments
 (0)