Add touchscreen coordinate translation
[sdl_omap.git] / README.OMAP
CommitLineData
50339c93 1(some) OMAP hardware support for SDL
2by notaz (notasas@gmail.com)
3
4
5About
6-----
7
8This is a quick SDL driver to make use of some OMAP features, namely double
9buffering and hardware scaler.
10
11The backstory of this is that SDL on Pandora console was suffering from tearing
12and stuttering problems because SDL default x11 driver doesn't work that well
13there. Almost 6 months have passed after pandora's release, no improved
14SDL versions appeared (not blaming anyone here, pandora's availability was low
15and there where were several SDL improvement in the works though). This
16encouraged me to create this quick version until something better appears
17(if ever).
18
19Although this was created for pandora, there is nothing preventing this to work
20on other OMAP platforms as well (well, nothing intentional at least).
21
22
23Usage / environment
24-------------------
25
26To enable this driver, SDL_VIDEODRIVER environment variable must be set to
27"omapdss". It can be set by calling setenv() in the code, but it's better to
28just set it in launcher script so that it can be changed easily without
29recompiling as needed:
30---
31#!/bin/sh
32export SDL_VIDEODRIVER=omapdss
33./your_program_here
34---
35
36Other environment variables:
5d957fa5 37
50339c93 38SDL_OMAP_LAYER_SIZE:
39 Output layer size. Regardless what you set with SDL_SetVideoMode(), output
40 will be scaled to this size using hardware. Valid values:
41 "WxH", for example "640x480"
0bb19c41 42 "fullscreen" to cover whole screen.
5d957fa5 43
50339c93 44SDL_OMAP_VSYNC:
5d957fa5 45 Enables waiting for vertical sync on SDL_Flip() calls.
50339c93 46 Set to "1" to enable, "0" to disable.
47
5d957fa5 48SDL_OMAP_DEFAULT_MODE:
49 If the app doesn't specify resolution in SDL_SetVideoMode(), then use this.
50 Should be specified in "WxH" format, for example "640x480".
51
0bb19c41 52SDL_OMAP_FORCE_DOUBLEBUF:
53 This can force double buffering to on, which can help to eliminate tearing.
54 Note that if app isn't updating whole buffer each frame, it will glitch.
55 This is the same as specifying SDL_DOUBLEBUF to SDL_SetVideoMode.
56
5f4b1fd3 57SDL_OMAP_NO_TS_TRANSLATE:
58 Disable automatic touchscreen screen -> layer coordinate translation,
59 return real screen coordinates.
60
50339c93 61
62Config file
63-----------
64
65Optionally a file named "omapsdl.cfg" can be created in the game's working
66directory. It has lower priority than environment variables, and has these
67options (only when omapdss driver is active):
68
69# same as SDL_OMAP_VSYNC
70force_vsync = 1/0
71
0bb19c41 72# same as SDL_OMAP_FORCE_DOUBLEBUF
73force_doublebuf = 1/0
74
5f4b1fd3 75# same as SDL_OMAP_NO_TS_TRANSLATE
76no_ts_translate = 1/0
77
50339c93 78# can be used to bind a key to SDL keysym, good for quick ports.
79# Example:
80# bind ev_home = sdlk_space
81bind ev_<evdev_key> = <sdl_key>
82
7b66578c 83
84Source
85------
86
87Available at git://notaz.gp2x.de/~notaz/sdl_omap.git
88