This document aims to give an overview for ARM vendors and driver developers of the required components to get a fully accelerated X11 graphics stack. We also give information and pointers on which APIs to implement for each of those components and try to give examples of best practices from other drivers (coming from the intel world).

Getting a fully accelerated X experience, there are three areas where driver/hardware vendors need to ensure they support modern frameworks:

kernel / DRI2

  • Requirement: kernel module that hooks into the DRM api

  • Yield: support for DRI2 and KMS

  • Examples:

  • Details:

DRI2 support requires the GEM buffer management API. Some introductory documentation on the GEM API is here.

mesa 3D / gallium

  • Requirement: gallium or old style mesa driver

  • Yield: support for pluggable opengl (es) in mesa enabled stacks

  • Examples: gallium state tracker

  • Details:

X11 / DDX

  • Requirement: framebuffer support; EXA; DRI2; Xv

  • Yield:

    • framebuffer support: general unaccelerated rendering

    • EXA: accellerated 2D rendering (XRender: aka cairo, skia etc.)

    • DRI2: seemingless windowed 3D working nicely with mesa

    • Xv: video acceleration in X11

  • Examples:

  • Details:

WorkingGroups/Middleware/Graphics/X11-Stack-on-ARM/DriverChecklist (last modified 2010-06-25 04:50:57)