Design a RemoteFX Display Driver (Compact 7)

3/12/2014

RemoteFX-enabled display drivers, which OEMs create and load on their devices, connect the Compact 7 operating system to the display hardware. After you load the drivers, they are directly called by the Graphics, Windowing and Events (GWES), which is the interface between the end user, your applications, and the OS.

You can develop a RemoteFX display driver in either of two modes:

  • Window-frame display mode. A window-frame display driver shares the display surface with the RDP client session windows and other local applications.
  • Full-screen-only display mode. A full-screen-only display driver makes board development and prototyping faster and also reduces CPU load at run time.

For more information about the two display modes, see Design a Display Driver.

When you develop a RemoteFX-enabled display driver, the RDC client, which is a component on your device that receives RemoteFX packets from the server, needs to communicate directly with your display driver in order to access the capabilities of the decoding and display hardware. The RDC client processes these packets and then sends the data to the RemoteFX-enabled display driver that you created and loaded.

RemoteFX uses a set of escape sequences, together with the DrvEscape function, to enable the RDC client to communicate directly with the display driver and to offload display data to specialized coprocessor hardware, such as an ASIC or a digital signal processor (DSP). For more information about coprocessor hardware, see Use a Coprocessor for Hardware Acceleration.

The RDC client interacts with the RemoteFX display driver using well-defined interfaces that use the set of GDI escape sequences previously mentioned. You need to use the GDI escape sequence interface to implement your thin client device RemoteFX display driver. In addition to supporting the typical graphics-rendering operations, the display driver must also support the applicable escape sequences. For more information about the escape sequences, including which escape sequences are used for each of the two display-driver modes, see Implement a RemoteFX Display Driver.

The ExtEscape function is used to pass the GDI escape sequences from the RDC client to the display driver.

  1. The RDC client calls the ExtEscape function that is defined in Compact 7 and passes in an escape sequence and the RemoteFX-encoded display data.
  2. The ExtEscape function then passes the escape sequence and display data to the DrvEscape function in the display driver. The capabilities of the DrvEscape function must be implemented by the OEM.
  3. The DrvEscape function processes the escape sequence and display data and returns a value to the ExtEscape function, which then passes the value to the RDC client.

In This Section

See Also

Concepts

Design and Implement RemoteFX Display Drivers