Windows Remote Desktop / GPU acceleration
Remote Desktop
GPU Rendering / 60 FPS / AVC 4:4:4
This is not the basic Windows Remote Desktop ON/OFF setup. This guide configures the modern RDP graphics pipeline
so that a remote session can use hardware GPU acceleration for application rendering, DirectX/OpenGL workloads,
H.264/AVC 4:4:4 graphics mode, hardware encoding and a higher frame-rate limit up to 60 FPS.
Windows 11 / Enterprise
RDP 10
WDDM display driver
GPU render
AVC/H.264 4:4:4
60 FPS cap
Core idea
What this setup actually enables
Hardware graphics renderer
The RDP session should use the physical GPU as the default graphics renderer instead of the Microsoft Basic Render Driver.
This is essential for DirectX, Direct3D, WPF, accelerated UI rendering and part of the OpenGL workload.
H.264/AVC 4:4:4 + hardware encode
The image is not handled only through classic bitmap compression. RDP can use the AVC/H.264 4:4:4 profile
and the GPU hardware encoder, if supported by the GPU, driver and client.
30 FPS → 60 FPS limit
By default, an RDP session is often limited to around 30 FPS. The registry value DWMFRAMEINTERVAL raises this limit.
The documented value 15 sets the maximum frame-rate limit to 60 FPS.
and later removed for security reasons. Modern Windows 10/11 systems use RDP 10, WDDM, the hardware GPU renderer
and AVC/H.264 / HEVC encoding — not the old RemoteFX vGPU stack.
Supported systems
Which Windows editions make sense
Windows 10 Enterprise LTSC 2021
Version 21H2. A better option than LTSC 2019 for the modern RDP graphics pipeline.
Windows 10 Enterprise LTSC 2019
Version 1809. Usable, but the older build can have weaker compatibility with newer RDP policies.
Windows 11 Pro / Enterprise
Modern WDDM stack, newer RDP components and a strong choice for a workstation scenario.
Windows 11 Enterprise
Suitable for GPO, Intune, domain management and more consistent enterprise configuration.
Practical note
Windows Home editions are not suitable as an RDP host. For this configuration, use at least Pro,
preferably Enterprise or LTSC Enterprise. The host must use a full GPU driver from the hardware vendor,
not only Microsoft Basic Display Adapter.
Host configuration
Group Policy settings on the remote PC
Local Group Policy Editor path
gpedit.msc
Computer Configuration
└─ Administrative Templates
└─ Windows Components
└─ Remote Desktop Services
└─ Remote Desktop Session Host
└─ Remote Session Environment
1. Enable GPU renderer
This is the main switch. The RDP session should use the hardware graphics renderer instead of the software/basic renderer.
Use hardware graphics adapters for all Remote Desktop Services sessions
= Enabled
2. Enable AVC/H.264 hardware encode
Enables the preference for GPU-based H.264/AVC encoding. If the hardware encoder fails or is unavailable,
Windows can fall back to software encoding.
Configure H.264/AVC hardware encoding for Remote Desktop Connections
= Enabled
3. Enable AVC 4:4:4 graphics mode
The 4:4:4 mode is important for sharper text, UI rendering, graphics applications and better color precision
compared to a regular video-oriented mode.
Prioritize H.264/AVC 444 graphics mode for Remote Desktop Connections
= Enabled
4. Keep WDDM enabled
The WDDM display driver is the modern path. Disabling it only makes sense as troubleshooting for black screen issues
or rendering artifacts.
Use WDDM graphics display driver for Remote Desktop Connections
= Enabled / Not Configured
Configure H.264/AVC hardware encoding can result in CPU-based software encoding.
For a true GPU-level path, both policies should be active.
60 FPS cap
Raising the RDP frame-rate limit from 30 FPS to 60 FPS
Registry value
Microsoft documents the DWMFRAMEINTERVAL value as a workaround for increasing the maximum frame-rate limit.
The decimal value 15 sets the maximum limit to 60 FPS.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
DWORD 32-bit:
DWMFRAMEINTERVAL = 15 decimal
What this does not mean
This value does not guarantee a constant 60 FPS. It only raises the maximum frame-rate that RDP can deliver
to the client. Real performance depends on GPU, CPU, network quality, resolution, monitor count, encoder,
client-side decoding and the type of application.
- For 45+ FPS, use the documented value 15.
- A host PC restart is required after the change.
- Wi-Fi can produce worse results than wired LAN.
- Multiple monitors and 4K resolution significantly increase encoder load.
Implementation
Fast implementation through Command Prompt
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v bEnumerateHWBeforeSW /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v AVCHardwareEncodePreferred /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v AVC444ModePreferred /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fEnableWddmDriver /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations" /v DWMFRAMEINTERVAL /t REG_DWORD /d 15 /f
gpupdate /force
shutdown /r /t 0
Client side
Client-side configuration
Do not disable hardware decode
Hardware decoding must not be forcibly disabled on the client. Otherwise, the host may encode through the GPU,
while the client still decodes the image through the CPU.
Computer Configuration
└─ Administrative Templates
└─ Windows Components
└─ Remote Desktop Services
└─ Remote Desktop Connection Client
Do not allow hardware accelerated decoding
= Disabled / Not Configured
Prefer LAN / low-latency path
For 45–60 FPS, avoid overloaded Wi-Fi, high-latency VPN connections or networks with packet loss.
The best result usually comes from wired LAN or a clean local VPN path.
- 1 Gbit LAN is a strong baseline.
- 5 GHz / 6 GHz Wi-Fi can work, but it is not deterministic.
- VPN adds latency and can interfere with UDP transport.
- For RDP over the internet, always use VPN or RD Gateway, never an exposed port 3389.
Verification
How to verify that the GPU path is really active
Task Manager
Start an application inside the remote session that can use GPU acceleration. On the host, open Task Manager →
Performance → GPU and watch the 3D or Video Encode graphs.
Event Viewer
For a direct RDP connection, check this log:
Applications and Services Logs → Microsoft → Windows → RemoteDesktopServices-RdpCoreTs → Operational.
Event ID 170 / 162
Event ID 170 can confirm AVC hardware encoder enabled: 1.
Event ID 162 can show Avc444FullScreenProfile.
Correct result
The target state is: the application inside the remote session uses the GPU renderer, the RDP image is encoded
through AVC/H.264 4:4:4, the encoder runs on the GPU and the frame-rate limit is no longer the original 30 FPS,
but up to 60 FPS depending on load and network conditions.
DirectX / OpenGL reality check
What to expect from DirectX and OpenGL over RDP
DirectX / Direct3D
DirectX workloads usually benefit from the RDP GPU renderer most clearly. CAD software, 3D viewports, WPF UI,
video compositing and more demanding desktop applications can run significantly better than without GPU policies.
OpenGL
OpenGL over RDP depends more heavily on the specific GPU driver and application. The purpose of this setup is
to force the RDP session to use the hardware graphics renderer. Even then, it is not guaranteed that every OpenGL
application will see the same capabilities as it would on the local console.
GDI Generic, Microsoft Basic Render Driveror fails during OpenGL initialization, the problem is usually in the GPU driver, the specific application,
or the fact that the driver does not expose the required acceleration path inside an RDP session.
Troubleshooting
When it still does not run through the GPU
GPU usage is still 0 %
- Check that Microsoft Basic Display Adapter is not active.
- Install the current Intel / AMD / NVIDIA GPU driver.
- Verify that policies are actually applied with
gpresult /H c:\gpresult.html. - Restart the host PC. A simple reconnect is often not enough.
AVC hardware encoder is not active
- Check Event Viewer → RdpCoreTs → Operational.
- Look for Event ID 170 and the text
AVC hardware encoder enabled: 1. - Check that the GPU has an available H.264 hardware encoder.
- Reduce monitor count or resolution and test again.
Black screen / rendering artifacts
- Update the GPU driver.
- Test another RDP client.
- Temporarily disable AVC 4:4:4 and verify stability.
- Disable WDDM only as emergency troubleshooting, not as the target configuration.
FPS is still low
- Verify
DWMFRAMEINTERVAL=15in decimal mode. - Restart the host PC.
- Test over wired LAN.
- Lower resolution / monitor count and compare the result.
Recommended final state
Recommended final profile
Host PC
- Windows 10 Enterprise LTSC 2021 / Windows 11 Pro / Windows 11 Enterprise.
- Current full GPU driver from the hardware vendor.
Use hardware graphics adapters...= Enabled.Configure H.264/AVC hardware encoding...= Enabled.Prioritize H.264/AVC 444 graphics mode...= Enabled.Use WDDM graphics display driver...= Enabled / Not Configured.DWMFRAMEINTERVAL=15for a 60 FPS maximum limit.
can be a better choice. RDP is excellent for administration, desktop work, development, office use, CAD/light 3D
and technical workflows, but it is not primarily a gaming streaming engine.
DAW / audio workstation profile
Remote workstation audio and local USB devices
Remote GUI access only
When the remote PC is used as a DAW, audio workstation, MIDI workstation, mixer control station or
hardware-control computer, the goal is often different from a typical office RDP session.
In this scenario, Remote Desktop is used only as a remote GUI access layer.
The audio interface, MIDI devices, USB mixer, hardware controller and other studio devices should remain
physically attached to the remote workstation and should continue to be visible to applications
running on that remote PC.
This is especially important for DAW software, audio drivers, ASIO devices, USB MIDI devices and mixer control tools.
Target behavior
RDP client PC
→ keyboard / mouse / screen only
Remote workstation
→ keeps audio playback
→ keeps USB audio interface
→ keeps USB MIDI devices
→ keeps hardware mixer connection
→ DAW continues using remote hardware
The remote session should not steal or redirect audio and USB devices from the remote workstation.
Why this matters for DAW and MIDI workflows
A DAW such as Renoise, Cubase, REAPER, Ableton Live or another audio application usually expects
the audio and MIDI hardware to be available directly on the machine where the DAW is running.
If Remote Desktop redirects audio or local devices incorrectly, the DAW can lose access to the hardware,
switch audio driver, stop seeing MIDI ports, or move playback to the client computer.
Control the remote desktop visually,
but keep the audio and hardware on the remote PC.
Remote Desktop Connection settings
Open the classic Windows Remote Desktop Connection client:
mstsc.exe
Then configure:
Show Options
→ Local Resources
→ Remote audio
→ Settings
Recommended audio setting:
Remote audio playback:
Play on remote computer
Remote audio recording:
Do not record
This keeps playback on the remote workstation instead of redirecting it to the local client.
Local devices and resources
In the same Remote Desktop Connection window:
Local Resources
→ Local devices and resources
Recommended DAW/studio profile:
Printers: disabled
Clipboard: optional
More...
Drives: disabled
Other supported Plug and Play devices: disabled
Devices that I plug in later: disabled
The goal is to avoid redirecting client-side devices into the remote PC.
The DAW should use the hardware already connected to the remote workstation.
Recommended .rdp values to add or adjust
These are the important RDP profile values for a DAW / remote workstation scenario.
They keep audio on the remote computer and prevent unnecessary client-side device redirection.
audiomode:i:1Play audio on the remote computer.
audiocapturemode:i:0Do not redirect local microphone or local audio input into the remote session.
redirectprinters:i:0Do not redirect local printers.
redirectcomports:i:0Do not redirect local COM ports.
redirectsmartcards:i:0Do not redirect local smart cards.
redirectwebauthn:i:0Do not redirect local WebAuthn / security-key authentication devices.
drivestoredirect:s:Do not redirect local client drives into the remote workstation.
devicestoredirect:s:Do not redirect local MTP/PTP portable devices.
usbdevicestoredirect:s:Do not redirect supported USB devices from the client into the remote session.
Complete .rdp file example
This is a complete example profile for a 1920 × 1080 remote DAW workstation.
Change the IP address to match the remote computer.
screen mode id:i:2Start the RDP session in full-screen mode.
use multimon:i:0Do not span the session across multiple monitors.
desktopwidth:i:1920Set the remote desktop width to 1920 pixels.
desktopheight:i:1080Set the remote desktop height to 1080 pixels.
session bpp:i:32Use 32-bit color depth.
full address:s:192.168.1.175IP address or hostname of the remote computer.
prompt for credentials:i:1Ask for credentials when connecting.
authentication level:i:2Require server authentication when possible.
enablecredsspsupport:i:1Enable CredSSP / Network Level Authentication support.
administrative session:i:0Use a normal user session, not an administrative console session.
audiomode:i:1Play audio on the remote computer.
audiocapturemode:i:0Do not redirect local microphone or local audio input.
redirectclipboard:i:1Allow clipboard redirection for copy/paste.
redirectprinters:i:0Do not redirect local printers.
redirectcomports:i:0Do not redirect local COM ports.
redirectsmartcards:i:0Do not redirect local smart cards.
redirectposdevices:i:0Do not redirect local point-of-service devices.
drivestoredirect:s:Do not redirect local client drives.
devicestoredirect:s:Do not redirect local MTP/PTP portable devices.
usbdevicestoredirect:s:Do not redirect supported client USB devices.
bitmapcachepersistenable:i:1Enable persistent bitmap cache for better RDP efficiency.
compression:i:1Enable RDP compression.
networkautodetect:i:1Allow RDP to detect network quality automatically.
bandwidthautodetect:i:1Allow RDP to tune bandwidth behavior automatically.
connection type:i:7Use the LAN / high-speed connection profile.
disable wallpaper:i:1Disable wallpaper to reduce unnecessary graphics transfer.
disable full window drag:i:1Disable full-window drag rendering during movement.
disable menu anims:i:1Disable menu animations for a cleaner remote session.
disable themes:i:0Keep Windows visual themes enabled.
allow font smoothing:i:1Enable font smoothing for better text readability.
audiomode:i:1
Play audio on the remote computer.
audiocapturemode:i:0
Do not redirect local microphone or local audio input into the remote session.
drivestoredirect:s:
Do not redirect local client drives into the remote workstation.
usbdevicestoredirect:s:
Do not redirect supported USB devices from the client into the remote session.
remote workstation and devices redirected from the local RDP client. For DAW work, the usual goal is to keep
remote PC hardware active and disable unnecessary client PC redirection.
Example use case
Remote PC:
- Windows 10 LTSC.
- Renoise DAW.
- USB audio interface.
- USB MIDI controller.
- Behringer FLOW 8 / mixer hardware.
- VST3 plug-ins.
Client PC:
- RDP viewer only.
- Keyboard.
- Mouse.
- Display.
Correct result:
Renoise runs on the remote PC.
Sound stays on the remote PC.
USB MIDI and mixer hardware stay visible on the remote PC.
RDP is used only for remote visual control.
Recommended final DAW profile
- Audio playback: Play on remote computer.
- Audio recording: Do not record.
- Local drive redirection: disabled.
- Local USB redirection: disabled.
- Local printer redirection: disabled.
- Remote physical USB devices remain connected to the remote PC.
- RDP role: GUI access only.
References