On this page you can find instructions on how to compile Freeciv (SDL client) for the Pocket PC platform. I've successfully compiled it for my 200MHz StrongARM Pocket PC (Windows Mobile 2003) and it looks quite nice, though it still needs a lot of polishing to be really playable ;-)


  • a Windows machine
  • 7-Zip (to unzip the development environment)


  1. download my freeciv-ppc development environment: freeciv-ppc-2.1.0-beta4-src.7z
    (it contains MSYS, an arm-wince-pe cross-compiler (GCC-3.3.3) which was created by Mamaich, Python, all libraries that Freeciv depends on and also a snapshot of Freeciv itself)
  2. unzip the development environment (for this HOWTO it was unzipped to C:\)
  3. have a look at the Tweaking section for special configuration hints
  4. run "C:\freeciv-ppc\msys\1.0\msys.bat"
  5. $ cd /usr/src
  6. $ ./
  7. If all went well, you'll find the binaries in "C:\freeciv-ppc\msys\1.0\games"

Precompiled Binaries[]

If something goes wrong during the build process or if you don't want to build the game from source, you can also download precompiled binaries:


  1. transfer all files and directories from "C:\freeciv-ppc\msys\1.0\games" to some folder on your Pocket PC


  1. start the file manager
  2. change to the folder where you installed Freeciv
  3. click on "civserver" -> this will start the Freeciv server in the background
  4. click on "civclient"
  5. select "Join Game" from the main menu and click "Connect" to connect to the server
  6. enjoy :-)


  • If you want to change some game settings (number of AI players, difficulty etc.), you need to edit the "servercmds.serv" file. See Server_options for a list of supported settings.
  • There seems to be a bug in the SDL library that leads to screen distortions in fullscreen mode. If the main screen looks distorted after starting the client, moving the "Messages" window around the screen might clear it up a bit.


  • if your device has a resolution of 640x480 or higher, open /usr/src/ in an editor and delete or outcomment the line which says:
    patch -N -p1 < ../freeciv-smallscreen-2.1.0-beta4.diff
  • if your device is not low on RAM, open /usr/src/ in an editor and delete or outcomment the line which says:
    patch -N -p1 < ../freeciv-nocompression-2.1.0-beta4.diff


If it doesn't run on your device, there's perhaps not enough free memory available (server and client together need about 50 MB with trident tileset at this time, even more with isometric tilesets :-|). Then you could try to deinstall some of your other software or delete some unused tilesets from the data directory (if you have stored it in RAM). Please check the logfiles (serverlog.txt and clientlog.txt), too. You could also delete civserver.exe and start a server on your Windows machine which would save some megabytes of RAM, too. Since there's no possibility to enter text in fullscreen mode yet, you'd then have to edit the "clientargs.txt" file and add a "-s HOST" argument, where HOST would have to be the hostname (or IP) of your windows machine.