Fact-checked by Grok 2 weeks ago

RemoteFX

Microsoft RemoteFX is a suite of technologies developed by Microsoft to enhance the remote desktop experience over the Remote Desktop Protocol (RDP), enabling richer graphics, video playback, and device integration in virtualized environments. Introduced in Windows 7 SP1 and Windows Server 2008 R2 Service Pack 1, it allows users to access a full Windows desktop with advanced visual effects, such as Windows Aero, DirectX applications, and 3D graphics, from low-power client devices like thin clients or ultrathin laptops. Key components of RemoteFX include a progressive image for efficient, low-latency of screen content, which uses lossy encoding to balance high quality and bandwidth efficiency; (vGPU), which enables multiple virtual machines to share a single physical for improved performance in virtual desktop infrastructure (VDI); and USB redirection, which allows local USB devices to be seamlessly accessed within remote sessions as if they were connected directly to the host. While the and USB redirection features continue to support modern remote access scenarios, the RemoteFX vGPU component was deprecated due to architectural security vulnerabilities that could allow . It was disabled by default in July 2020 via security updates and fully removed in April 2021, with recommending alternatives like Discrete Device Assignment (DDA) for secure GPU passthrough in environments.

Overview

Definition and Purpose

RemoteFX is a technology comprising enhancements to the (RDP) that enable high-fidelity graphics, video, and audio streaming within virtual desktop infrastructure (VDI). It leverages a lossy image for efficient compression of screen content, optimizing transmission over networks while maintaining visual quality. As a core component of (RDS), RemoteFX supports media-rich interactions in virtualized environments. The primary purpose of RemoteFX is to provide a local-like for remote access to Windows desktops, bridging the performance gap between physical and virtualized computing in settings. It targets scenarios such as virtual desktops and session-based computing, allowing users to run applications seamlessly over wide-area networks without requiring high-end client hardware. By accelerating rendering and delivery, RemoteFX enables fluid interactions on diverse client devices, from thin clients to endpoints. This technology originated from graphics innovations developed by Calista Technologies, which acquired in 2008 to advance capabilities. Following the acquisition, it was integrated into offerings for , enhancing support for 3D and multimedia in hosted virtual environments. Key benefits included improved responsiveness for graphics-intensive applications, such as (CAD) and media editing, where RemoteFX vGPU (deprecated in 2021) delivered full-fidelity 3D graphics alongside video playback comparable to local systems via the . This enables enterprises to deploy power-efficient VDI solutions that support demanding workloads without compromising visual or interactive quality.

Core Technologies

RemoteFX originally comprised several core technologies that enabled advanced remote desktop experiences, including the RemoteFX virtual GPU (vGPU, deprecated in 2021) for graphics virtualization, USB redirection for peripheral device support, and an advanced codec for efficient compression of images and video. The RemoteFX vGPU (deprecated in 2021) allowed multiple virtual machines to share a single physical GPU, providing hardware-accelerated graphics capabilities within each VM. This sharing was achieved through GPU partitioning using Single Root I/O Virtualization (SR-IOV), which assigned dedicated fractions of GPU resources to VMs for isolated, predictable performance. Integrated with the hypervisor, RemoteFX vGPU supported high VM density and full access to GPU features like and . RemoteFX USB redirection enables local USB peripherals to be accessed in remote sessions by forwarding them directly to the or remote desktop host. This supports devices such as drives, printers, and input peripherals, making them appear natively connected to the remote for improved and . It uses RDP protocol extensions to selectively redirect supported USB devices, with options to override defaults via registry configurations for specific device classes. The advanced codec in RemoteFX utilizes the RemoteFX Progressive Codec, which employs (DWT) for natural images, and H.264 (AVC) for video content, balancing compression efficiency with visual fidelity for dynamic elements like animations and . encoding transmits image in successive passes, enabling partial rendering that enhances perceived during screen updates. H.264 provides hardware-accelerated encoding to minimize and for video playback, leveraging GPU support where available. These components integrate with the hypervisor for underlying and RDP protocol extensions (introduced in version 7.1) for secure, low-latency remote transmission of graphics and device data.

History

Introduction in Windows Server 2008 R2 SP1

RemoteFX was introduced as a set of (RDP) enhancements in Service Pack 1 (SP1), released on February 22, 2011, to deliver a richer for virtualized desktops and applications. This feature set aimed to bridge the gap between local and remote computing by enabling hardware-accelerated graphics and media support in virtual environments, particularly for knowledge workers requiring access to graphics-intensive applications over networks. The technology originated from Microsoft's acquisition of Calista Technologies in January 2008, whose innovations in graphics virtualization and compression were integrated and rebranded as RemoteFX to advance scenarios. Key debut features included the RemoteFX virtual GPU (vGPU), which provided DirectX 9-class graphics acceleration by allowing virtual machines to access the physical server's GPU for rendering tasks such as graphics and effects. This vGPU functionality supported multiple concurrent virtual desktops per GPU, depending on hardware, enabling smoother performance for applications like CAD tools or media playback without dedicating a full physical PC. Additionally, RemoteFX introduced USB device redirection, permitting nearly any local USB peripheral—such as cameras or multifunction printers—to be passed through to the virtual session via RDP, enhancing in virtual desktop infrastructure (VDI) setups. The initial , known as the RemoteFX Codec, leveraged hardware-accelerated compression (using GPU or ASIC options) to transmit high-fidelity visuals efficiently, reducing needs while maintaining visual quality for remote users. Initially targeted at () environments, RemoteFX was designed to support graphics-rich applications in virtual machines, particularly in VDI deployments using as the . Activation required enabling the role on the server, along with compatible 9/10-capable GPUs from partners like , , or , to partition the physical graphics hardware across multiple VMs. This approach facilitated broader adoption in enterprise settings, allowing IT administrators to deploy full desktops remotely to thin clients while achieving performance comparable to local execution for everyday productivity tasks.

Enhancements in Windows Server 2012

RemoteFX was integrated into Windows Server 2012, released in October 2012, as part of broader improvements to Remote Desktop Services (RDS) and Hyper-V, enabling more reliable virtual desktop experiences across diverse networks and hardware configurations. This integration built upon the initial virtual GPU (vGPU) capabilities introduced in Windows Server 2008 R2 SP1 by expanding support for modern graphics standards and optimizing resource allocation in virtualized environments. Key enhancements focused on enhancing usability for wide-area network (WAN) scenarios and multimedia interactions, addressing limitations in bandwidth efficiency and input handling from prior versions. Among the new features, RemoteFX introduced Adaptive Graphics, which employs specialized codecs for , images, and text content, combined with advanced caching mechanisms to deliver a responsive over bandwidth-constrained connections. WAN-friendly support was added through transport alongside , with automatic network detection that optimizes media streaming and can reduce usage by up to 90% in certain scenarios. Additionally, redirection enables up to 256 simultaneous touch points for gesture-based interactions, such as pinch-to-zoom, while the Media Redirection improves USB device handling across sessions and physical hosts, facilitating seamless peripheral integration in virtual desktops. vGPU functionality in advanced to support 11, allowing hardware-accelerated rendering in virtual machines via compatible GPUs or software emulation (softGPU) for broader compatibility. This update included progressive rendering in the RemoteFX codec, which streams video content incrementally to ensure smoother playback and reduced initial load times during remote sessions. Servers could now utilize multiple GPUs for vGPU allocation, supporting higher resolutions (up to 2560x1600 with two monitors) and additional displays, enhancing the PC-like fidelity for knowledge workers. These enhancements contributed to significant performance gains, including reduced latency for remote applications through efficient resource throttling based on client activity and fair-share GPU allocation among virtual machines. In virtual desktop infrastructure (VDI) deployments, this scalability allowed for denser session hosting while maintaining graphical responsiveness comparable to local execution. Overall, the updates prioritized conceptual improvements in and protocols over exhaustive specifics, enabling RemoteFX to better serve needs.

Updates in Windows Server 2016 and Windows 10

RemoteFX received significant enhancements in , released in October 2016, and Enterprise, released in July 2015, expanding its capabilities for virtualized graphics and media handling. A key addition was the support for 4.4 and 1.1 APIs within RemoteFX vGPU, enabling better compatibility for compute-intensive workloads and modern graphics applications in . This update allowed RemoteFX to handle advanced rendering tasks, such as those in software, more effectively on shared GPUs. Additionally, the maximum VRAM allocation per increased to 1 GB, providing more dedicated graphics memory for improved performance in resource-demanding scenarios. Media handling saw advancements through the integration of H.264/AVC Media Streaming in RDP 10, which supported low-latency video playback and replaced the older Multi-Media Redirection (MMR) with a more efficient mechanism for streaming multimedia content over remote sessions. This H.264/AVC approach optimized bandwidth usage for video, achieving up to 50% reduction compared to prior methods while maintaining high-quality output. These improvements built on bandwidth optimizations from by further refining compression for mixed content types. On the client side, provided native support for RemoteFX sessions via its updated RDP client, facilitating seamless integration in hybrid work environments where users could access GPU-accelerated virtual desktops from local Windows devices. This native compatibility enhanced usability for enterprise scenarios, allowing direct connection to RemoteFX-enabled servers without additional software.

Deprecation of RemoteFX vGPU

Microsoft announced the deprecation of RemoteFX vGPU in July 2020 through a security update advisory, citing architectural security vulnerabilities that made the feature susceptible to exploitation. This deprecation followed its initial removal in and releases. The disablement of RemoteFX vGPU took effect across all applicable Windows platforms via the July 14, 2020, updates, including KB4570006, which prevented its use in virtual machines. Full removal followed in the April 13, 2021, Windows updates, after which the component was no longer included or supported in any Windows versions, and installation was blocked on systems attempting to enable it. ceased issuing any or non-security updates for RemoteFX vGPU following this timeline. While the vGPU component was fully deprecated and removed, other non-vGPU aspects of RemoteFX, such as its compression codecs for remote desktop sessions, continued to be available in Windows without active or enhancements. This deprecation marked the end of shared support in , prompting to redirect efforts toward alternative technologies like Discrete Device Assignment (DDA) for GPU passthrough in virtual environments.

Technical Architecture

Virtual GPU (vGPU) Functionality

RemoteFX vGPU enables multiple virtual machines (VMs) to share a single physical GPU by virtualizing resources through , allowing hardware-accelerated rendering in remote desktop sessions. This functionality operates via a para-virtualized approach where the synthetic video driver, known as the Microsoft RemoteFX Graphics Device (WDDM), is installed in each VM. The driver intercepts calls from applications running in the VM and redirects them to the host's physical GPU for processing, providing a virtualized that emulates a dedicated GPU per VM. The system supports key graphics APIs, including up to version 11.1, up to 4.4, and 1.1, enabling to execute and compute tasks as if they had direct GPU access. is configurable, supporting multiple per physical GPU, with each VM assignable up to 2 of total VRAM (1 dedicated from the GPU plus up to 1 shared from the host's system RAM, contingent on the VM's assigned RAM). This partitioning ensures efficient distribution of compute units, shaders, and memory bandwidth across without requiring hardware-level isolation. Due to its reliance on software rather than SR-IOV or direct passthrough, RemoteFX vGPU prioritizes with a wide range of consumer and professional GPUs, avoiding the need for specialized . However, this introduces overhead, limiting it to scenarios with moderate demands and precluding support for high-density session hosts like RDSH in certain configurations. Performance is managed through a hybrid model combining time-slicing for temporal resource sharing—where GPU access is rotated among VMs based on demand. This approach minimizes contention by dynamically balancing loads, achieving responsive interactivity for workloads like CAD or light gaming, typically at frame rates up to 30 fps, while the rendered output is transmitted over the RDP protocol for remote display.

Rendering and Compression Mechanisms

RemoteFX employs a rendering that captures output from the virtual GPU and processes it for efficient over the network. The begins with frame capture of the rendered , followed by segmentation into tiles for targeted . This approach allows for selective encoding of changed regions, minimizing volume while preserving visual . For static images and screen updates, RemoteFX utilizes the RemoteFX Progressive Codec (RPC), which extends the base RemoteFX Codec through sub-band diffing and progressive encoding. The RPC applies a (DWT) to tile data, enabling delta compression that transmits only differences between frames rather than full images. This mechanism resembles progressive by delivering an initial low-resolution version of updates in the first frame, followed by incremental refinements in subsequent frames via a persistent progressive state that tracks unresolved tiles on the client side. As a result, is conserved for static or slowly changing content, such as desktop elements or 3D model views. Video content within RemoteFX sessions is handled separately through the RemoteFX Media Streaming feature, which detects and isolates video regions for encoding with the H.264 (AVC) codec. This codec supports on compatible GPUs, providing smooth playback with audio-video synchronization. To adapt to varying network conditions, RemoteFX implements , dynamically adjusting video quality and resolution based on available —lowering the bitrate for congested links while prioritizing higher quality over stable connections. Efficiency is further enhanced by caching mechanisms that store frequently used resources, such as textures and , on the remote device. Once cached, these assets are referenced in subsequent frames without retransmission, reducing for repetitive graphical elements like UI textures or shader programs in applications. This caching integrates with the RPC's persistent state to avoid redundant data across sessions or updates. Overall, these mechanisms yield substantial reductions; for instance, RemoteFX Media Streaming achieves up to 50% less usage for video delivery compared to prior RDP implementations in graphics-intensive workloads.

Integration with RDP Protocol

RemoteFX integrates with the (RDP) by extending its core transport mechanisms to handle advanced graphics data, starting from RDP 8.0 introduced in SP1 and evolving through RDP 10.0 in and Windows 10. This extension adds dedicated channels for transmitting virtual GPU (vGPU) commands and compressed bitmaps, enabling efficient remoting of GPU-accelerated content over standard RDP connections. The integration leverages RDP's static virtual channels to tunnel RemoteFX data, ensuring seamless incorporation without altering the underlying RDP stack. The primary extension mechanism is the RemoteFX Graphics (RFX), a specialized that supports both lossless and lossy image transfer modes using a progressive based on (DWT) and run-length Golomb-Rice (RLGR) encoding. This facilitates the delivery of compressed bitmaps in tile-based formats (typically 64x64 pixels), optimizing for dynamic while accommodating setups and high-resolution sessions up to 4096x2048 pixels across multiple channels. For instance, in scenarios, separate RFX channels are allocated per display, each configured with resolution-specific parameters during session setup. During session initialization, RemoteFX support is negotiated through RDP's capability exchange phase, where the client sends a TS_RFX_CLNT_CAPS_CONTAINER message detailing supported features, such as codec versions (e.g., RLGR1 or RLGR3) and tile modes. The responds with header messages—including synchronization, versions, definitions, and initialization—to confirm and establish the encoding state. If RemoteFX capabilities are unavailable or incompatible, the protocol falls back to basic RDP bitmap remoting, ensuring non-RemoteFX clients can connect with degraded graphics performance but without session failure. This negotiation occurs within the standard RDP connection sequence, maintaining overall protocol integrity.

Features

Graphics Acceleration Capabilities

RemoteFX provides hardware-accelerated graphics capabilities in virtualized environments, enabling virtual machines (VMs) to leverage the host's GPU for 3D rendering and compute-intensive tasks without requiring local graphics hardware on client devices. This acceleration is powered by RemoteFX vGPU functionality, which virtualizes portions of the physical GPU for multiple VMs. Key supported application programming interfaces (APIs) include DirectX versions 9 through 11, allowing compatibility with a wide range of graphics applications that rely on these standards for rendering. Additionally, enhancements in Windows Server 2016 introduced support for OpenGL up to version 4.4 and OpenCL up to version 1.1, facilitating advanced 3D graphics and parallel computing workloads within VMs. These capabilities enable remote execution of GPU-dependent applications, such as Autodesk AutoCAD for , Adobe for , and various video editing software, allowing users to perform complex tasks in a infrastructure (VDI) as if running on dedicated hardware. For instance, designers and engineers can manipulate high-fidelity models or apply effects remotely, improving productivity in scenarios where local devices lack sufficient graphics power. This support ensures broad application compatibility, particularly for professional creative and engineering tools that demand accelerated rendering. In terms of scalability, RemoteFX supports resolutions up to and frame rates of up to 60 , delivering smooth interactive experiences for graphics-intensive remote sessions. This allows for fluid navigation and manipulation in VDI environments, even with demanding visual workloads. RemoteFX supported GPUs meeting 11 and WDDM 1.2 requirements, including consumer, workstation, and server-class cards such as NVIDIA K1 and K2, and series.

Multimedia and Input Redirection

RemoteFX enables seamless multimedia redirection by supporting USB audio and video passthrough, allowing local peripherals such as webcams and audio devices to be accessed within remote sessions as if directly connected to the . This functionality leverages RemoteFX USB redirection, a catch-all mechanism that forwards USB devices over the RDP data channel, ensuring compatibility with a broad range of including and devices for applications like video conferencing. A key component is RemoteFX Media Streaming, introduced in and , which detects content on the server—such as Flash, Silverlight, , and HTML5 videos—and redirects it to the client for playback using hardware-accelerated decoding. This approach employs H.264/AVC encoding for video to deliver high-quality, low-latency streaming, with adaptive transport over for wide-area networks to maintain smooth frame rates even under variable conditions. Audio streams are encoded in format and synchronized with video on the , reducing overall consumption by up to 90% compared to earlier RDP versions while preserving lip-sync accuracy. In terms of input redirection, RemoteFX enhances user interaction in remote sessions by supporting gestures, including pinch-to-zoom and multi-finger manipulations, with up to 256 simultaneous touch points remoted from the client to the server. This feature, available starting with RDP 8.0 in and , enables natural touch-based navigation in virtual desktops. Stylus input is handled through USB redirection, permitting active pens connected locally to function remotely for precise drawing and annotation tasks in compatible applications. RemoteFX also supports bidirectional audio redirection, where sound from the remote session plays on the local and local input is captured for transmission back to the server, integrated with echo cancellation to minimize feedback in voice applications. These redirections are facilitated through dedicated channels in the RDP protocol, optimizing data flow for immersive experiences.

Performance Optimizations

RemoteFX incorporates adaptive mechanisms to dynamically optimize graphics delivery based on varying network conditions. The system employs Network Auto-Detect to evaluate initial and ongoing factors such as and during sessions, enabling adjustments to maintain performance. This includes progressive rendering techniques that encode bitmaps in multiple stages, starting with high compression ratios for rapid initial display and progressively enhancing quality as permits, effectively implementing dynamic . Frame rate adjustments are also automated, targeting 30 frames per second () while encoding rates and quality to prevent delays, particularly in wide-area network () environments where content changes rapidly. Caching strategies in RemoteFX enhance efficiency by reducing redundant data transmission over variable connections. Server-side frame buffering supports the encoding process, allowing temporary storage of rendered frames before and transmission to handle fluctuations in . Client-side prefetching leverages an expanded , increased to 100 MB, which stores frequently used graphical locally for quick retrieval and asynchronous uploads that improve responsiveness in bandwidth-constrained scenarios. In multi-user environments, load balancing via GPU scheduling algorithms ensures equitable resource allocation across virtual machines (VMs). The RemoteFX graphics worker process assigns VMs to the next available GPU adapter, supporting sharing of a single physical GPU among multiple users through vGPU partitioning in Hyper-V, which minimizes stalls by prioritizing active workloads and distributing compute tasks. This approach, combined with support for multiple GPUs in configurations like Windows Server 2019 and later, enables balanced utilization without dedicated hardware per session. These optimizations yield measurable improvements in remote graphics performance. RemoteFX achieves significantly higher TCP throughput compared to legacy Remote Desktop Protocol (RDP) implementations in , particularly for bandwidth-intensive tasks. In (LAN) settings, response times remain sub-50 ms, aligning with the 30 FPS target for fluid interactions, while UDP transport maintains delays under 100 ms even in challenging WAN conditions.

System Requirements

Hardware Prerequisites

To deploy RemoteFX, the host server must feature a processor that supports (SLAT), such as processors with VT-x and Extended Page Tables (EPT) or AMD processors with AMD-V and Rapid Virtualization Indexing (RVI), to enable efficient of memory for environments. Additionally, multi-core CPUs with at least two cores operating at 1.6 GHz or faster are required to support the hosting of multiple virtual machines. The (GPU) on the host server must be compatible with 11.0 or later and equipped with a WDDM 1.2-compatible driver to facilitate hardware-accelerated in virtual machines. Suitable examples include professional-grade cards like Quadro series or AMD FirePro series, which provide the necessary driver support and 3D acceleration capabilities prior to deprecation. These GPU resources enable vGPU partitioning, allowing multiple virtual machines to share the physical hardware for graphics-intensive workloads. Each requires a minimum of 4 of system RAM to run effectively, while the host should have at least 4 total physical memory, scalable based on the number of concurrent sessions. For storage, session host servers benefit from solid-state drives (SSDs) to manage high demands from multiple remote sessions, with a recommended minimum of 250 available disk space per partition. Optimal network performance for RemoteFX deployments relies on connections to handle the bandwidth-intensive RDP traffic, with (QoS) policies recommended to prioritize remote desktop sessions and minimize latency. Note: These hardware requirements apply to legacy deployments of RemoteFX vGPU, which was fully removed in April 2021 and is unsupported in and later versions.

Software and OS Compatibility

RemoteFX requires specific host operating systems equipped with the and (RDS) roles to function as a virtualization platform for virtual GPUs (vGPUs). The initial support began with SP1, where RemoteFX was introduced as part of the SP1 update, enabling enhanced remote desktop experiences through GPU sharing. Subsequent versions, including , 2012 R2, 2016, and up to , maintained compatibility for legacy deployments, though the feature was progressively deprecated starting in 2019. For guest operating systems, RemoteFX vGPU support is limited to certain Windows editions to ensure compatibility with the underlying graphics acceleration. Supported guests include SP1 in Enterprise and Ultimate editions, Enterprise, Enterprise, and Enterprise (in legacy configurations prior to removal). While official support is confined to Windows, limited functionality for guests has been achieved through third-party drivers and configurations, though does not provide native endorsement or integration for non-Windows environments. Licensing for RemoteFX deployments mandates RDS Client Access Licenses (CALs) for multi-user access scenarios, as the feature integrates with to deliver virtualized desktops and applications. Per-user or per-device RDS CALs must be acquired and managed via a to comply with usage in session-based environments. Furthermore, the edition of the Windows OS is required to enable vGPU capabilities, distinguishing it from Standard editions that lack advanced features. To configure RemoteFX, administrators must use on the host to prepare the environment, starting with enabling the physical video adapter via the Enable-VMRemoteFXPhysicalVideoAdapter cmdlet, which designates compatible GPUs for sharing among . For individual virtual machines, the Add-VMRemoteFx3dVideoAdapter cmdlet assigns a RemoteFX 3D video adapter after shutting down the VM, with optional configuration for resolution and monitor support using Set-VgpuConfiguration. These steps require elevated privileges and the RemoteDesktopServices module. Post-deprecation in July 2020 due to concerns, RemoteFX is disabled by default across supported OS versions, prompting migrations to alternatives like Discrete Device Assignment for ongoing needs.

Deprecation and Legacy

Security Vulnerabilities Leading to Deprecation

RemoteFX vGPU, designed to enable GPU sharing across virtual machines in Hyper-V environments, was found to contain critical security vulnerabilities that allowed attackers to achieve remote code execution on the host server from a compromised guest virtual machine. The primary flaw, identified as CVE-2020-1036, stems from improper input validation in the Hyper-V RemoteFX vGPU component, where the host server fails to adequately check inputs provided by an authenticated user on a guest operating system. This vulnerability enables guest-to-host code execution by exploiting the vGPU driver, specifically through malformed graphics-related inputs such as specially crafted pixel shaders processed by the host's graphics driver (e.g., Intel's IGC64.DLL). Related vulnerabilities, including CVE-2020-1032, CVE-2020-1040, CVE-2020-1041, CVE-2020-1042, and CVE-2020-1043, share similar characteristics, involving memory corruption issues like out-of-bounds writes in the pixel ATOMIC_ADD functionality within GPU drivers from vendors such as and . These flaws manifest as a result of insecure handling of compressed data transmitted via the protocol, which lacks robust validation mechanisms during and rendering on the shared vGPU. Attackers with access to a VM could craft malicious RDP packets or files to trigger these issues, leading to in the host's rdvgm.exe process with elevated privileges. The is classified as adjacent network (AV:A), requiring proximity or authenticated access, but the impact is severe due to potential in the hypervisor. Each of these CVEs carries a CVSS v3.1 base score of 9.0 (Critical), highlighting the high risk of host compromise in virtualized setups. At the core of these vulnerabilities lies insufficient in GPU partitioning, where RemoteFX vGPU's architecture for sharing physical GPUs among multiple exposes the to guest-supplied data without adequate sandboxing or bounds checking in layer. This design choice, intended to optimize for graphics-intensive workloads, inadvertently creates pathways for , as the vGPU miniport processes untrusted inputs directly on resources. Broader implications include the potential for full takeover, , or lateral movement in cloud or enterprise deployments, affecting supported Windows versions where RemoteFX vGPU was available, such as , , and earlier. These flaws, deemed unpatchable without architectural redesign, prompted to enforce mandatory disablement of RemoteFX vGPU across all updates starting in July 2020.

Microsoft's Official Actions and Timeline

In response to security vulnerabilities identified in the RemoteFX vGPU component, Microsoft took decisive actions to deprecate, disable, and ultimately remove this feature across its Windows platforms. The timeline began with the initial deprecation of RemoteFX vGPU alongside the release of Windows 10 version 1809 and Windows Server 2019 in October 2018, at which point it was no longer available as an installation option. Disablement followed in the July 2020 security updates released on July 14, 2020, via KB4570006, which automatically disabled the feature in all applicable environments and prevented its enablement in new Hyper-V virtual machine configurations. Full removal was enforced in the April 2021 security updates on April 13, 2021, rendering any remaining vGPU adapters inoperable upon virtual machine restart and requiring manual removal prior to updates. Microsoft's policy explicitly states that no new features or enhancements for RemoteFX vGPU would be developed after 2020, with no further security or non-security updates planned for the component. In contrast, non-vGPU elements of RemoteFX, including protocol-level optimizations in (RDP), remain supported through the standard operating system lifecycle, such as until the extended support end date for on January 9, 2029. To facilitate transitions, issued guidance recommending the migration of workloads to Discrete Device Assignment (DDA) for or cloud-based GPU services, accompanied by deployment documentation for these alternatives. Administrators are advised to audit existing environments using tools like Hyper-V Manager or cmdlets (e.g., Get-VMRemoteFXPhysicalVideoAdapter) to detect and eliminate any lingering vGPU configurations ahead of updates.

Impact on Existing Deployments

Organizations relying on RemoteFX vGPU for virtual desktop infrastructure (VDI) encountered significant migration challenges following its disablement and removal. Virtual machines configured with RemoteFX vGPU adapters became unbootable after the April 13, 2021, security updates unless the adapters were manually removed prior to restarting, necessitating widespread reconfiguration across deployments. This process often resulted in temporary performance drops, as users had to transition to alternatives like Discrete Device Assignment (DDA), which requires compatible hardware and introduces limitations such as the inability to perform live migrations of affected VMs. Non-vGPU components of RemoteFX, including codecs for multimedia redirection in (RDP) sessions, remained usable and supported in environments like until the operating system's extended end-of-support date. However, the vGPU functionality received no further security or nonsecurity updates after , leaving legacy vGPU-dependent setups vulnerable without migration. These non-vGPU features continued to function in production deployments without the architectural risks associated with vGPU. The economic implications included costs for —such as verifying GPU for DDA—or shifting to cloud-based VDI solutions, alongside labor for VM reconfigurations. Small and medium-sized businesses (SMBs) faced particular overhead from these changes, as on-premises VDI setups often required expert intervention to avoid disruptions. General VDI efforts post-deprecation highlighted added expenses for testing and validation to maintain graphics-intensive workloads. In 2021, enterprises transitioning during the removal phase reported downtime risks, particularly when applying updates to hosts with active RemoteFX VMs; for instance, IT teams in VDI environments experienced boot failures that demanded immediate adapter removal to restore operations, underscoring the urgency of pre-update planning. These incidents emphasized the need for phased migrations to minimize business interruptions in graphics-dependent applications like CAD and design software.

Alternatives

Discrete Device Assignment (DDA)

Discrete Device Assignment (DDA) enables the direct passthrough of an entire physical PCIe device, such as a (GPU), from the host to an individual (VM), granting the VM exclusive access and the ability to use native device drivers as if the hardware were physically installed. This method bypasses 's device sharing and mediation layers, ensuring high isolation between the assigned device and the host or other VMs. DDA has been available since and is supported on subsequent versions of , as well as on and later client editions when hosting VMs. Implementation involves identifying the PCIe device's location path on the host, dismounting it from the host using the PowerShell cmdlet Dismount-VMHostAssignableDevice -Force -LocationPath $locationPath, and then assigning it to the target VM with Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName. Prior to assignment, the VM must be configured appropriately, such as setting Set-VM -Name VMName -AutomaticStopAction TurnOff to handle shutdowns without errors. Compared to RemoteFX, which relied on GPU and was deprecated following vulnerabilities in its vGPU implementation, DDA delivers superior performance by providing bare-metal-like native GPU access without emulation overhead. It also enhances through dedicated device , avoiding the multi-tenant risks that affected RemoteFX, and supports vendor-specific drivers for additional . DDA is compatible with enterprise GPUs, including models from the lineup, making it suitable for demanding graphical and compute-intensive workloads in environments. A primary limitation of DDA is its dedication of one full GPU per VM, which can lower hardware density and efficiency in multi-tenant setups where multiple VMs require graphical acceleration.

Paravirtualized GPU Solutions

Paravirtualized GPU (GPU-PV) solutions provide virtual machines with access to resources through software-emulated interfaces that mimic behavior, enabling efficient sharing of a single physical GPU among multiple without requiring direct device passthrough. This technology relies on a virtual render device (VRD) kernel mode driver () in the host environment, which intercepts and marshals calls from operating systems over a virtual machine bus, typically limited to 128 message sizes for optimal . By porting OS drivers to interact with this paravirtualized interface—available since under the (WDDM) 2.4—GPU-PV reduces the need for extensive modifications while supporting resource sharing in virtualized setups. Microsoft's GPU-PV implementation in , introduced and enhanced post-2021, facilitates time-sliced GPU sharing for session hosts, allowing VMs to leverage GPUs such as those in the NVv4 or NCasT4_v3 series for accelerated rendering and encoding. This approach uses integration, where administrators configure virtual GPU adapters via commands like Add-VMGpuPartitionAdapter, enabling seamless deployment in cloud environments without dedicating full GPUs to individual VMs. Complementary third-party solutions, such as Virtual GPU (vGPU) software, operate at the layer to partition and allocate GPU resources to multiple VMs, supporting and for virtual desktop infrastructure (VDI). vGPU, with versions like 19.0 post-2021, incorporates advanced features such as support for RTX PRO Blackwell GPUs, delivering graphics acceleration for demanding applications in shared configurations. These solutions offer significant benefits in scalability and efficiency, achieving higher VM density—for instance, up to 25 concurrent users per GPU in with drivers version 16.2 or later. They excel in cloud-compatible environments like , where dynamic resource allocation simplifies management, and incorporate ongoing security measures, including IOMMU isolation and secure VM restrictions to prevent driver escapes. Post-2021 updates, such as Local Device Allocation (LDA) support in version 22H2 under WDDM 3.1, further enable multi-adapter scenarios for improved flexibility. However, GPU-PV trade-offs include potential performance reductions for compute-intensive workloads due to sharing overhead and message size constraints, though this is offset by simpler compared to dedicated . In practice, solutions like vGPU provide near-bare-metal performance while prioritizing density and security over absolute isolation, making them suitable for VDI deployments focused on cost-effective graphics acceleration.

References

  1. [1]
    RemoteFX is Ready! - Microsoft Windows Server Blog
    Feb 22, 2011 · With RemoteFX, partners and customers can unlock new deployment scenarios for desktop virtualization that formerly required a full PC for the ...
  2. [2]
    [MS-RDPRFX]: Remote Desktop Protocol: RemoteFX Codec Extension
    Jun 24, 2021 · In this article​​ Specifies the Remote Desktop Protocol: RemoteFX Codec Extension, which uses a lossy image codec to encode screen images with ...Published Version · Previous Versions · Preview Versions
  3. [3]
    [MS-RDPRFX]: RemoteFX Codec - Microsoft Learn
    Apr 23, 2024 · The RemoteFX codec has been designed to achieve efficient compression, satisfying the goals of high quality and low latency while using a modest amount of ...
  4. [4]
    Some USB devices aren't available - Windows Client - Microsoft Learn
    Jan 15, 2025 · This article describes why specific USB devices may not be available for RemoteFX USB redirection, and how to make them available.Symptoms · Cause
  5. [5]
    KB4570006: Update to disable and remove the RemoteFX vGPU ...
    Jul 14, 2020 · RemoteFX vGPU makes it possible for multiple virtual machines to share a physical GPU. This feature was introduced in Windows 7 and was removed as an option ...
  6. [6]
    Supported Configurations for Remote Desktop Services
    Jul 7, 2025 · The following guest operating systems have RemoteFX vGPU support: Windows 11; Windows 10; Windows Server, in a single-session deployment only ...Best Practices · Support For Graphics... · Remote Desktop Session Host...
  7. [7]
    Microsoft RemoteFX: Closing the User Experience Gap
    So why is Microsoft RemoteFX important? Because its support for full-fidelity video as well as rich media and 3D graphics helps close the gap between the user ...
  8. [8]
    RemoteFX is Ready! - Microsoft Windows Server Blog
    ### Summary of RemoteFX from Microsoft Blog Post
  9. [9]
    Microsoft Announces Vision and Strategy to Accelerate Virtualization ...
    Jan 21, 2008 · Microsoft has completed the acquisition of Calista Technologies, a leading provider of graphics technologies for next-generation desktop and ...
  10. [10]
    Plan for GPU acceleration in Windows Server | Microsoft Learn
    Nov 1, 2024 · Learn about the different Hyper-V technologies for GPU acceleration, including DDA and GPU partitioning.
  11. [11]
    The RemoteFX industry ships products today - Microsoft
    Feb 22, 2011 · Today is a big day for Microsoft and our RemoteFX partners. Today's release of RemoteFX with Windows Server 2008 R2 Service Pack 1 (SP1) and ...
  12. [12]
    [PDF] Windows Server 2008 R2 SP1 Reviewers Guide Release Candidate ...
    RemoteFX allows users to run a Windows 7 desktop and applications in a virtualized environment and yet have a similar user experience as installing Windows 7 ...
  13. [13]
    Hyper-V R2 SP1 and RemoteFX - Petri IT Knowledgebase
    Mar 17, 2011 · RemoteFX describes a set of RDP technologies – most prominently graphics virtualization and the use of advanced codes – that are being added to ...
  14. [14]
    Windows Server 2012 Remote Desktop Services (RDS) - Microsoft
    May 8, 2012 · DirectX11 Support with vGPU. In Windows Server 2008 R2 SP1, we first introduced the RemoteFX Virtual GPU (vGPU), which provided DirectX 9 ...
  15. [15]
    Enable RemoteFX encoding for RemoteFX clients designed for ...
    This mode is compatible with thin client devices that only support the Windows Server 2008 R2 SP1 RemoteFX Codec.If you disable or do not configure this policy ...
  16. [16]
    RemoteFX and Dynamic Memory Boost Windows Server 2008 R2
    Mar 29, 2011 · Windows Server 2008 R2 SP1 adds RemoteFX and Dynamic Memory to enable high-performance workloads and increase data center VM density.
  17. [17]
    What's New in Remote Desktop Services in Windows Server
    ### Summary of RemoteFX in Windows Server 2012
  18. [18]
    What's new in Windows Server 2016 | Microsoft Learn
    Apr 8, 2025 · This article describes some of the new features in Windows Server 2016 that are the ones most likely to have the greatest impact as you work with this release.
  19. [19]
    Microsoft Remote Desktop Services with Windows Server 2016
    in the Windows Server 2016 release, Microsoft RDS is now the ... RemoteFX vGPU application compatibility is improved with support for OpenGL 4.4 and OpenCL 1.1.
  20. [20]
    [PDF] Technical Feature Comparison Guide - Microsoft Download Center
    Windows Server 2016 Remote. Desktop Services includes the following improvements to RemoteFX vGPU: •. OpenGL 4.4 and OpenCL 1.1 API support. •. Up to 1GB ...
  21. [21]
    Remote Desktop Protocol (RDP) 10 AVC/H.264 improvements in ...
    The benefit of this codec is that it is widely available in hardware so that CPU intensive encoding and decoding can be offloaded to a separate hardware block.
  22. [22]
    [PDF] Parallels Remote Application Server
    As discussed in this document, Windows Server 2016 provides two options to utilize the GPU, directly or indirectly, using DDA or improved RemoteFX vGPU ...
  23. [23]
  24. [24]
    [MS-RDPEGFX]: RemoteFX Progressive Codec Compression
    Aug 23, 2020 · Compared to the encoding stages, the decoding stage operations are the operations of the encoding stage in reverse order. RemoteFX Progressive ...
  25. [25]
    [MS-RDPEGFX]: RemoteFX Progressive Codec Compression ...
    The RemoteFX Progressive Codec extends the RemoteFX Codec ([MS-RDPRFX] sections 2.2.2 and 3.1.8) by adding sub-band diffing and the ability to progressively ...
  26. [26]
    Enabling a Seamless Multimedia Experience with RemoteFX Media ...
    Sep 7, 2018 · The regions that contain video are then encoded by using the H.264 codec (or the RemoteFX Progressive Codec, which is used when the H.264 codec ...
  27. [27]
    Remote Desktop Protocol (RDP) 8.0 update for Windows 7 and ...
    The RDP 8.0 update brings new Remote Desktop Services features from Windows 8/Server 2012 to Windows 7 SP1/Server 2008 R2 SP1, including RemoteFX for WAN.Missing: codec | Show results with:codec
  28. [28]
    [MS-RDPBCGR]: Versioning and Capability Negotiation
    Apr 7, 2025 · Capability negotiation for RDP is essentially the same as for T.128. The server advertises its capabilities in a Demand Active PDU sent to the client.Missing: RemoteFX | Show results with:RemoteFX
  29. [29]
    [PDF] Run workloads for any platform - Microsoft Download Center
    With support for. OpenGL 4.4 and OpenCL 1.1, it can meet the requirements to run modern graphics and 3D apps, such as Adobe Photoshop, Autodesk. AutoCAD, and ...
  30. [30]
    GPU Requirements for RemoteFX on Windows Server 2012 R2
    Nov 5, 2013 · Most of the latest graphics cards will support OpenGL 4.0 and OpenCL ... APIs are currently unsupported by RemoteFX in Windows Server 2012 R2.
  31. [31]
    Configure USB redirection on Windows over the Remote Desktop ...
    Jun 20, 2025 · You can configure the redirection of certain USB peripherals between a local Windows device and a remote session over the Remote Desktop Protocol (RDP).Local Windows Device... · Host Pool Configuration · Test Usb Redirection
  32. [32]
    [PDF] Introducing Windows Server 2012 R2 - Microsoft Download Center
    USB Redirect occurs at the port protocol level and enables redirection of a wide variety of different types of universal serial bus (USB) devices, including ...
  33. [33]
  34. [34]
    Remote Desktop Services Overview
    ### Hardware Requirements for RemoteFX
  35. [35]
    RemoteFX vGPU Updates in Windows Server Next
    Sep 8, 2018 · The RemoteFX vGPU enables hardware acceleration in a Windows virtual machine which contributes to a superior application remoting experience.
  36. [36]
    [PDF] Performance Tuning Guidelines for Windows Server 2012 R2
    RemoteFX compression algorithm will use more network bandwidth, and it is only recommended if you are using a hardware device that is designed to optimize ...
  37. [37]
    Variables Affecting MultiPoint Services System Performance
    Aug 7, 2020 · Video data for all of the devices is sent over the same Ethernet connection, so you may want to consider setting up a separate Gigabit Ethernet ...
  38. [38]
    [DOC] Performance Tuning Guidelines for Windows Server 2012
    This guide describes important tuning parameters and settings that you can adjust to improve the performance and energy efficiency of the Windows Server 2012 ...
  39. [39]
    [PDF] Licensing Windows Server 2012 R2 Remote Desktop Services
    This licensing brief helps to clarify Microsoft licensing policies for Windows Server Remote Desktop Services (RDS), including ... RemoteFX), then an RDS CAL is ...
  40. [40]
    Enable-VMRemoteFXPhysicalVideoAdapter (Hyper-V)
    The Enable-VMRemoteFXPhysicalVideoAdapter cmdlet enables one or more RemoteFX physical video adapters to be used with RemoteFX-enabled virtual machines.Missing: Set- | Show results with:Set-
  41. [41]
  42. [42]
    July 14, 2020—KB4558998 (OS Build 17763.1339) - Microsoft Support
    Jul 14, 2020 · Starting in July 2020, all Windows Updates will disable the RemoteFX vGPU feature because of a security vulnerability.<|control11|><|separator|>
  43. [43]
    CVE-2020-1036 - NVD
    Jul 14, 2020 · A remote code execution vulnerability exists when Hyper-V RemoteFX vGPU on a host server fails to properly validate input from an authenticated user on a guest ...Missing: root | Show results with:root
  44. [44]
    Multiple vulnerabilities in RemoteFX affects, AMD, Intel chips
    Jul 14, 2020 · This vulnerability can be triggered from a HYPER-V guest using the RemoteFX feature, leading to execution of the vulnerable code on the HYPER-V ...
  45. [45]
    July 2020 Patch Tuesday – 123 Vulnerabilities, 18 Critical, Hyper-V ...
    Oct 27, 2022 · Since the vulnerabilities involve directly attacking the host's graphics drivers, this patch simply disables RemoteFX functionality. According ...Missing: vector | Show results with:vector
  46. [46]
    Windows Server 2019 - Microsoft Lifecycle
    Windows Server 2019's mainstream support ends Jan 9, 2024, and extended support ends Jan 9, 2029. It follows the Fixed Lifecycle Policy.
  47. [47]
    Hyper-V GPU Passthrough: A Beginner's Guide - NAKIVO
    Jul 16, 2024 · GPU Passthrough connects a physical video card to a Hyper-V VM without emulation, allowing the VM to use the physical graphics adapter directly.Missing: synthetic | Show results with:synthetic
  48. [48]
    RemoteFX vGPU put out to pasture as Microsoft RDP grows up
    Sep 7, 2018 · Microsoft is deprecating RemoteFX vGPU with RDP now more ready to take over, alongside Discrete Device Assignment option.
  49. [49]
    Hyper-V migration RemoteFx issue - Microsoft Q&A
    Mar 30, 2021 · I'm now facing a new issue: My new server has only 32Go of memory and the previous had 64Go, the VM and all checkpoints are using 32Go minimum.How can i learn how avoid RemoteFX Module Problems?New technology to replace "remote FX" - Microsoft Q&AMore results from learn.microsoft.comMissing: case studies
  50. [50]
    Deploy graphics devices by using Discrete Device Assignment
    Feb 19, 2025 · Learn how to use Discrete Device Assignment (DDA) to pass an entire PCIe device into a virtual machine (VM) with PowerShell.Prerequisites · Configure the VM for DDA
  51. [51]
    Deploy devices by using Discrete Device Assignment | Microsoft Learn
    Feb 19, 2025 · Learn how Discrete Device Assignment allows physical PCIe hardware to be directly accessible from within a virtual machine.
  52. [52]
    GPU paravirtualization - Windows drivers - Microsoft Learn
    Feb 6, 2025 · GPU paravirtualization provides an interface to VMs similar to hardware, where the guest OS is ported before installing a VM. It allows ...About GPU virtualization · GPU paravirtualization in WDDM
  53. [53]
    Enable GPU acceleration for Azure Virtual Desktop - Microsoft Learn
    Jun 19, 2025 · Learn how to enable GPU-accelerated rendering and encoding, including HEVC/H.265 and AVC/H.264 support, in Azure Virtual Desktop.Missing: Streaming | Show results with:Streaming
  54. [54]
    Virtual GPU Solutions for AI and Graphics | NVIDIA Virtual GPUs
    Enable high-performance virtualization for AI, virtual desktops, and graphics with GPU software that improves scalability, efficiency, and security.Scalable Acceleration For... · Learn More About Nvidia Vgpu · Explore How Industry Leaders...