| |
| ============================================================================== |
| Using the Simple DirectMedia Layer with Qtopia/OPIE |
| ============================================================================== |
| |
| ============================================================================== |
| I. Setting up the Qtopia development environment. |
| |
| This document will not explain how to setup the Qtopia development |
| environment. That is outside the scope of the document. You can read |
| more on this subject in this excellent howto: |
| |
| http://www.zauruszone.com/howtos/linux_compiler_setup_howto.html |
| |
| ============================================================================== |
| II. Building the Simple DirectMedia Layer libraries using the arm |
| cross-compiler |
| |
| This is somewhat tricky since the name of the compiler binaries |
| differ from the standard. Also you should disable features not |
| needed. The command below works for me. Note that it's all one |
| line. You can also set the NM, LD etc environment variables |
| separately. |
| |
| NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --enable-video-qtopia --disable-video-dummy --disable-video-fbcon --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --prefix=/opt/Qtopia/sharp/ arm-unknown-linux-gnu |
| |
| One thing to note is that the above configure will include joystick |
| support, even though you can't have joysticks on the Zaurus. The |
| reason for this is to avoid link / compile / runtime errors with |
| applications that have joystick support. |
| |
| ============================================================================== |
| III. Building the Simple DirectMedia Layer test programs: |
| |
| After installing, making sure the correct sdl-config is in your |
| path, run configure like this: |
| |
| NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar ./configure arm-unknown-linux-gnu |
| |
| ============================================================================== |
| IV. Application porting notes |
| |
| One thing I have noticed is that applications sometimes don't exit |
| correctly. Their icon remains in the taskbar and they tend to |
| relaunch themselves automatically. I believe this problem doesn't |
| occur if you exit your application using the exit() method. However, |
| if you end main() with 'return 0;' or so, this seems to happen. |
| |
| Also note that when running in landscape mode - i.e requesting a |
| window that is HEIGHT pixels wide and WIDTH pixels high, where WIDTH |
| and HEIGHT normally is 240 and 320 - the image is blitted so that |
| the hardware buttons are on the left side of the display. This might |
| not always be desirable but such is the code today. |
| |
| |
| ============================================================================== |
| V. Enjoy! :) |
| |
| If you have a project you'd like me to know about, or want to ask questions, |
| go ahead and join the SDL developer's mailing list by sending e-mail to: |
| |
| sdl-request@libsdl.org |
| |
| and put "subscribe" into the subject of the message. Or alternatively you |
| can use the web interface: |
| |
| http://www.libsdl.org/mailman/listinfo/sdl |
| |
| ============================================================================== |
| VI. What is supported: |
| |
| Keyboard (Sharp Zaurus) |
| Hardware buttons |
| Stylus input (mouse) |
| Video. Allows fullscreen both in portrait mode (up to WIDTHxHEIGHT |
| size window) and in landscape mode (up to HEIGHTxWIDTH). |
| |
| All other SDL functionality works like a normal Linux system (threads, |
| audio etc). |
| |
| -- |
| David Hedbor <david@hedbor.org> |
| http://david.hedbor.org/ http://eongames.com/ |
| |