Collecting Porting Requirements

This section provides some suggestions on how to best start the porting.

It makes sense to first implement the callbacks for the Third-party Display Class Component and then integrating the Services client-side functionality with the window manager.

First, one should assemble features and restrictions of the display controller hardware and the display driver. Answering the following questions is usually a good start:
  • Does the controller have an MMU or can it only access physically contiguous memory?
  • Are you able to map/unmap buffers at any time? Do you want to keep them mapped?
  • Can the controller access only memory from a special region?
  • Do you support multiple buffers and therefore allow display flips?
  • Does the driver have its own mechanism to allocate memory?
  • Can the display configuration change and does Services need to know about it?
  • Does the controller emit VSync-events?
  • Should the window manager be able to turn off the screen?