source: trunk/src/plugins/gfxdrivers/powervr/README

Last change on this file was 561, checked in by Dmitry A. Kuminov, 16 years ago

trunk: Merged in qt 4.6.1 sources.

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1PowerVR QScreen Driver
2======================
3
4This QScreen plugin driver allows the QtOpenGl module to integrate with PowerVR
5hardware from Imagination Technologies. Using this plugin, applications may use
6QGLWidget & QGLPixelBuffer with OpenGL ES. The integration with PowerVR drivers
7is built as two libraries: The actual QScreen plugin used by Qt (in the
8pvreglscreen directory) and a WSEGL plugin for the PowerVR drivers (in the
9QWSWSEGL directory).
10
11Qt/Embedded needs to be configured with the QT_QWS_CLIENTBLIT and
12QT_NO_QWS_CURSOR defines.
13
14The PowerVR drivers provide the WSEGL plugin API to allow window systems such as
15QWS to integrate correctly. In order to use the integration, the WSEGL plugin
16(libpvrQWSWSEGL.so, usually installed into the Qt library directory) must be in
17the LD library path. The PowerVR driver also needs to be told which WSEGL library
18to use. This is done by creating/modifying /etc/powervr.ini:
19
20[default]
21WindowSystem=libpvrQWSWSEGL.so
22
23Note: It is important that the /etc/powervr.ini file not contain ^M (Ctrl-M) DOS
24end of line markers at the end of its lines. If ^M markers are present, then the
25libpvrQWSWSEGL.so driver will not be loaded and the default null Linux driver
26will be loaded silently instead. Make sure that the end of line markers are
27strictly Unix-style markers.
28
29
30***************************************************************************
31* IMPORTANT: To build the QScreen plugin and the WSEGL library it depends *
32* on, the pvr2d.h, wsegl.h headers for your platform are required. You *
33* can find a copy of these headers in src/3rdparty/powervr for SGX based *
34* platforms like the TI OMAP3xxx. They probably will not work on MBX *
35* because of differences in the layout of certain PVR2D structures. *
36* You can tell Qt where to find the actual headers for your system by *
37* setting QMAKE_INCDIR_POWERVR in the mkspec. *
38***************************************************************************
39
40When you start a Qt/Embedded application, you should modify the QWS_DISPLAY
41environment variable to use the "powervr" driver instead of "LinuxFb". For
42example, if your original QWS_DISPLAY variable was:
43
44 LinuxFb:mmWidth40:mmHeight54:0
45
46then it should be changed to:
47
48 powervr:mmWidth40:mmHeight54:0
49
50To test the OpenGL ES integration, you can use the hellogl_es example and run it
51on the device with:
52
53 hellogl_es -qws
54
55The driver also supports screen rotation if Qt is configured with the
56-qt-gfx-transformed option and the QWS_DISPLAY variable is wrapped in a
57"Transformed" declaration:
58
59 Transformed:powervr:mmWidth40:mmHeight54:Rot90:0
60
61Know Issues:
62 * A QGLWidget may not have window decorations if it is a top-level window.
63 * On some platforms, starting a QWS application after the system has been up
64 for a long time may cause the driver to fail. This is due to fragmentation
65 of main memory prevening older PowerVR drivers from allocating a contiguous
66 region of phyical RAM for the GL surface.
Note: See TracBrowser for help on using the repository browser.