X Windows Acceleration
i.MX51 EVK Linux Reference Manual
16-2
Freescale Semiconductor
Figure 16-1. X Window Acceleration ComponentsX Window Acceleration Block Diagram
The components shown in yellow are those provided as part of the 2D/3D GPU driver support which
includes OpenGL/ES and EGL. The components shown in white are the standard components in the X
Windows system without acceleration. The components shown in blue are those added to support X
Windows acceleration and briefly described here.
The
i.MX X Driver
lbrary module (
imx-drv.so
) is loaded by the X server and contains the high level
implementation of the X Windows acceleration interface for i.MX platforms containing the Z160 2D GPU
core. The entire linearly contiguous frame buffer memory in
/dev/fb0
is used for allocating pixmaps for
X both onscreen and offscreen. The driver provides supports a custom X extension which allows X clients
to query the GPU address of any X pixmap stored in frame buffer memory.
The
libz160
library module (
libz160.so
) contains the register level programming interface to the Z160
GPU module. This includes the storing of register programming commands into packets which can be
streamed to the device. The functions in this library are called by the i.MX driver code.
The
uio_pdrv_genirq
loadable kernel module (
uio_pdrv_genirq.ko
)
is based on the user space I/O driver
which provides generic intterrupt handlinig. The base driver handles interrupts received when the 2D GPU
is idle. The driver is extended to provide user-space memory mapping of the Z160 registers as well as the
memory to use for command stream buffering. The code in this kernel module is indirectly called when
the functions in the libz160 library module access the
/dev/uio
device to program the Z160.
Note that
when this kernel module is loaded, it is not possible to run OpenVG applications.
The
EGL-X
library module (
libEGL.so
) contains the X Windows implementation of the low level EGL
plarform-specific support functions. This allows X window and X pixmap objects to be used as EGL
Summary of Contents for i.MX51 EVK
Page 1: ...Part Number 924 76374 Rev 10 11 01 11 2010 i MX51 EVK Linux Reference Manual...
Page 14: ...i MX51 EVK Linux Reference Manual xiv Freescale Semiconductor...
Page 18: ...i MX51 EVK Linux Reference Manual xviii Freescale Semiconductor...
Page 24: ...i MX51 EVK Linux Reference Manual xxiv Freescale Semiconductor...
Page 38: ...Machine Specific Layer MSL i MX51 EVK Linux Reference Manual 2 8 Freescale Semiconductor...
Page 52: ...MC13892 Digitizer Driver i MX51 EVK Linux Reference Manual 5 4 Freescale Semiconductor...
Page 64: ...TV Encoder TVE Driver i MX51 EVK Linux Reference Manual 10 4 Freescale Semiconductor...
Page 82: ...Video for Linux Two V4L2 Driver i MX51 EVK Linux Reference Manual 12 8 Freescale Semiconductor...
Page 86: ...i MX5 Dual Display i MX51 EVK Linux Reference Manual 13 4 Freescale Semiconductor...
Page 100: ...X Windows Acceleration i MX51 EVK Linux Reference Manual 16 6 Freescale Semiconductor...
Page 118: ...Low Level Keypad Driver i MX51 EVK Linux Reference Manual 20 6 Freescale Semiconductor...
Page 134: ...Security Drivers i MX51 EVK Linux Reference Manual 22 10 Freescale Semiconductor...
Page 148: ...Inter IC I2C Driver i MX51 EVK Linux Reference Manual 24 4 Freescale Semiconductor...
Page 178: ...ARC USB Driver i MX51 EVK Linux Reference Manual 29 10 Freescale Semiconductor...
Page 194: ...OProfile i MX51 EVK Linux Reference Manual 33 6 Freescale Semiconductor...