50339c93 |
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: |
5d957fa5 |
37 | |
50339c93 |
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" for to cover whole screen. |
5d957fa5 |
43 | |
50339c93 |
44 | SDL_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 |
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 | |
50339c93 |
52 | |
53 | Config file |
54 | ----------- |
55 | |
56 | Optionally a file named "omapsdl.cfg" can be created in the game's working |
57 | directory. It has lower priority than environment variables, and has these |
58 | options (only when omapdss driver is active): |
59 | |
60 | # same as SDL_OMAP_VSYNC |
61 | force_vsync = 1/0 |
62 | |
63 | # can be used to bind a key to SDL keysym, good for quick ports. |
64 | # Example: |
65 | # bind ev_home = sdlk_space |
66 | bind ev_<evdev_key> = <sdl_key> |
67 | |
7b66578c |
68 | |
69 | Source |
70 | ------ |
71 | |
72 | Available at git://notaz.gp2x.de/~notaz/sdl_omap.git |
73 | |