1.5 Prerequisites/Preconditions
The following capabilities are mandatory when used with RemoteFX:
The client MUST support fast-path graphics output ([MS-RDPBCGR] section 2.2.9.1.2) and acknowledge this support by specifying the FASTPATH_OUTPUT_SUPPORTED (0x0001) flag in the General Capability Set ([MS-RDPBCGR] section 2.2.7.1.1).
The client MUST send the Multifragment Update Capability Set ([MS-RDPBCGR] section 2.2.7.2.6). The MaxRequestSize field in the client-to-server Multifragment Update Capability Set MUST be set to a value greater than or equal to the value in the MaxRequestSize field of the server-to-client Multifragment Update Capability Set. The client-to-server Multifragment Update Capability Set is transported in the Confirm Active PDU as specified in [MS-RDPBCGR] section 2.2.1.13.2, and the server-to-client Multifragment Update Capability Set is transported in the Demand Active PDU as specified in [MS-RDPBCGR] section 2.2.1.13.1.
The client MUST send the Large Pointer Capability Set ([MS-RDPBCGR] section 2.2.7.2.7) and the LARGE_POINTER_FLAG_96x96 (0x00000001) MUST be present in the largePointerSupportFlags field.
If the Revision 2 Bitmap Cache Capability Set ([MS-RDPBCGR] section 2.2.7.1.4.2) is sent by the client, then the ALLOW_CACHE_WAITING_LIST_FLAG (0x0002) MUST be present in the CacheFlags field.
The client MUST support the Stream Surface Bits Surface Command ([MS-RDPBCGR] section 2.2.9.2.2). Support for this surface command MUST be advertised in the Surface Commands Capability Set ([MS-RDPBCGR] section 2.2.7.2.9).
The client MUST support a color depth of 32 bits per pixel. This means that the RNS_UD_32BPP_SUPPORT (0x0008) flag must be set in the supportedColorDepths field of the Client Core Data structure ([MS-RDPBCGR] section 2.2.1.3.2).
The client MUST support either the NSCodec Bitmap Codec ([MS-RDPNSC] sections 2 and 3) or the Planar Codec ([MS-RDPEGDI] sections 2.2.2.5.1 and 3.1.9) to handle server fallback scenarios.
The TS_FRAME_ACKNOWLEDGE_CAPABILITYSET (section 2.2.1.3) SHOULD<1> be sent by the client. Furthermore, if the connectionType field of the Client Core Data ([MS-RDPBCGR] section 2.2.1.3.2) is set to any value other than CONNECTION_TYPE_LAN (0x06), then the RemoteFX server SHOULD NOT<2> indicate that the RemoteFX codec is supported, that is, none of the TS_BITMAPCODEC ([MS-RDPBCGR] section 2.2.7.2.10.1.1) structures included in the bitmapCodecArray field of the TS_BITMAPCODECS ([MS-RDPBCGR] section 2.2.7.2.10) structure have the codecGUID field set to CODEC_GUID_REMOTEFX.