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