DosBox Turbo

DosBox Turbo


DosBox Turbo is a highly optimized custom Android Wrapper around the latest SVN version of DosBox.  Starting with version 2.x.x, DosBox Turbo has been completely re-written to incorporate numerous new features and optimizations.  The goal of DosBox Turbo is to be the most highly optimized and feature enhanced version of DosBox for Android.

Certain desktop features of DosBox were removed due to limitations of Android.  Screen capture, serial and some other minor features were removed from this version.

Android 4.2+ (KitKat) SD-card issues:

Android KitKat introduced a new restriction never before seen on Android: KitKat will not allow write access to the External Storage (ie. SDCard) anymore.  This new "feature" breaks many apps.  If you find your games are no longer working or you are unable to save your progress when using your External Storage on your device you have two options:

                              1. Move your games to your Internal Storage (which does not have the same restriction).
                              2. Move your games to the public directory that is allowed on External Storage (which differs by phone), but is usually: /<path to sdcard>/Downloads/ where "<path to sdcard>" is usually: /storage/extSdCard/ or /storage/sdcard/ (if the directory does not exist, you can create it).

DosBox Turbo 2.1.14+ automatically defaults to the allowed directory (if you have external storage) and will create it if it doesn't already exist.  You may need to use the "Reset to defaults" settings option if you have an non-writable directory saved to your DosBox Turbo autoexec settings.  If after following the above instructions, you are still defaulting to internal storage for the Download location, you may have to manually set your Download location to the external SD card.  NOTE:  Android 6.0 (Marshmallow) finally fixes the SD-Card debacle.  In Android 6.0, you can choose to use your SD-Card as "internal" memory, which allows full read/write access to the SD card.


Upon startup, you will be greeted with a DOS Prompt. DosBox Turbo will attempt to mount the root of your SDCARD as the C: drive. If you need other mounting options, type intro mount at the prompt for further instructions.

DosBox configuration can be done either in the Menu's, or via the dosbox.conf file located in the /sdcard directory. It is suggested that the in application menus are used for configuration settings, and that only advanced users should modify the dosbox.conf file. Any changes to the dosbox.conf file will override the settings in the application menu.  Normally, you would copy your dos game from your PC to your device's SDCard, and then launch DosBox Turbo and configure/start the game.

If you are not familiar with DOS emulators or have never used DosBox, I would recommend you start by reading the DosBox Turbo for Newbies guide and then move on to the DosBox Wiki as much of the information there applies here as well.

You can also play many games purchased through GOG on DosBox Turbo.  Please refer to this helpful blog post for setup instructions.


There are 4 input modes offered in DosBox Turbo:
  1. Touchscreen Mouse - This is the default input mode and uses the touchscreen to emulate a mouse. In this mode, you can select either Absolute or Relative Mouse Tracking, as well as define what type of gesture you want for the left & right mouse buttons.  If you want to use an External USB/Bluetooth Gamepad (w/o Analog) to emulate arrow keys and other keyboard buttons, you can also use this setting (ie. Sony Xperia Play, DPAD, Generic USB controllers, etc).
  2. Physical Mouse/Stylus - Use this option if you have a physical mouse/touchpad (ie. ASUS Transformer, USB or Bluetooth Mouse) and you want to use the physical mouse instead of the touchscreen mouse. This mode also supports the Samsung SPen stylus.
  3. Physical Joystick (depreciated) - If you have a compatible physical ANALOG joystick/gamepad attached to your device, you can use this option to enable it. Current supported are: Sony PS3 Controller, Some Thrustmaster Sticks, Xbox 360 Controller, and Many Generic USB Controllers.  Physical Gamepads/joysticks automatically work now in the Touchscreen Mouse mode, and there is no need to switch to Physical Joystick mode unless you are on an Android version 2.2 or lower.
  4. Scroll Screen - This option disables mouse/joystick input. Moving your finger on the screen will scroll the screen.  This option is mainly for text/keyboard input w/o mouse control.  Great for the smaller screen/lower resolution devices.
Virtual Analog Joystick:
DosBox Turbo supports the use of an Analog Multi-Touch virtual Joystick in any of the above 4 input modes.  The Virtual Joystick can also emulate a mouse if so desired.  If you want to have a DPAD to emulate the Arrow/Cursor Keys, please read below.  Most games have a joystick calibration setting you will have to use first.  Here is an Joystick test program that runs in DOS: JOYTEST.ZIP

Mouse Tracking (for Touchscreen Mouse):

  • Absolute Tracking (experimental) - Try and make the DOS mouse pointer follow your finger on the touchscreen.
  • Relative Tracking (default) - Move your finger on the touch screen to move the mouse pointer, the mouse will not track your finger.

Gesture Mapping (for Touchscreen Mouse):

  • Single Tap Action - A single tap on the touchscreen. Can be configured to trigger (nothing, left click or right click). Defaults to LEFT CLICK.
  • Double Tap Action - A quick double tap on the touchscreen. Can be configured to trigger (nothing, left click, right click or left double click).  Defaults to RIGHT CLICK.
  • Two Finger Action - Place first finger on screen, and quickly tap with a 2nd finger. Can be configured to trigger (nothing, left click or right click). Defaults to NONE.
  • Enable Long Press - Enable this option if you want to be able to hold the button after you perform any gesture above.  For example, with this option enabled, if you double tap, and hold on the 2nd click, it will hold the right mouse button down.
Q: Why is there a small delay between when I tap the screen and the response?
A: In order to differentiate between single & double taps, the system needs to wait approximately 300ms to differentiate the two.  If you disable the double tap gesture (ie. set it to NONE), taps will be near instantaneous. You can use the two-finger action for right click, if you still need a right click action. 

Mouse Control
There are numerous methods of controlling mouse input in DosBox Turbo:
Virtual Mouse Control:
  1. Relative Touchscreen Mouse - This is the default mouse input mode.  Your entire screen will act as a "trackpad", and moving your finger on the screen will move the mouse in a relative motion.  The mouse will not track your finger, but rather be moved around by your finger movements.
  2. Absolute Touchscreen Mouse - This experimental mode will attempt to position the mouse exactly underneath the point where you touch the screen.  This works great for games such as Warcraft II, C&C and many others.  Games that reprogram the mouse movements will not work in this mode.
  3. Trackpoint 'Joystick' Mouse - The onscreen virtual joystick can be used to control the mouse similar to a trackpoint stick on the Thinkpad laptops. 
Physical Mouse Control:
  1. USB/Bluetooth Mouse - With Android 3.0+, DosBox Turbo has full USB/Bluetooth mouse support. Unfortunately, the Android OS will always overlay the system mouse cursor onscreen.  A physical mouse can be used in either a "relative" or "absolute" positioning mode (see above).
  2. Samsung SPen - If you have a Samsung device with SPen support, you can use the SPen to control the mouse.  Again, both 'relative' and 'absolute' positioning is supported.  No mouse overlay will appear on screen.
  3. Analog Gamepad - A USB or Bluetooth gamepad (ie. Xbox360, MOGA - see below, Logitech, or other supported gamepad) can be used if your device supports gamepads.  One of the analog sticks can be used to control the mouse similar to the Trackpoint Joystick Mouse mode above.  No mouse overlay will appear on screen.
  4. Trackpad - Some devices (ie. ASUS Transformer) some with a trackpad.  DosBox Turbo fully supports these trackpad devices as a mouse device.  Again, both 'relative' and 'absolute' positioning is supported.  Unfortunately, the Android OS will overlay an Android mouse cursor on screen.

How to Display the Keyboard & Go to the Settings Menu
There are three different ways to bring up the Keyboard in DosBox Turbo:
  1. (Landscape or Portrait Mode) - Swipe from the left to the right side of the screen.  A "Quick Menu" window will appear and you can enable the keyboard and access the settings from there.
  2. (Landscape Mode) - From the Top of the screen, swipe down.  A menu will appear at the top of the screen where you can change the settings or enable/disable the keyboard with the keyboard icon.
  3. (Portrait Mode) - The menu will always be visible at the top of the screen.  Click the Keyboard Icon to enable/disable the keyboard.
Arrow/Cursor Keys
DosBox Turbo supports numerous methods of input, many of which provide cursor/arrow key support.  Three common methods are:
  1. Use a Physical Keyboard with Arrow/Cursor Keys: DosBox Turbo supports all manner of physical keyboards, from the slide-out phone keyboards (many of which have arrow keys), bluetooth keyboards, usb keyboards (Android 3.1+) and special keyboards (ie. the Keyboard on the ASUS Transformer line of tablets).  Any physical keyboard that supports arrow/cursor keys will work in DosBox Turbo.
  2. Use the DPAD on your Device: Many Android phones come with a DPAD.  By default, the dpad up/down/left/right movements are mapped to the Arrow keys in DOS (this can be configured).  
  3. Use a Virtual Keyboard w/Arrow Keys: DosBox Turbo implements the standard Android Input method.  Most virtual keyboards adhere to this standard, and can be downloaded from the Google Play Store.  There are several keyboard replacements which will work just fine in DosBox Turbo.  Many good keyboards exist, some examples are below:
  • Gamepad Beta (Free): Supports cursor keys, mappable buttons, function keys, and transparency. [Recommended]
  • Hacker's Keyboard (Free):  Supports cursor keys, Functions Keys, and transparency. [Recommended]
  • Perfect Keyboard Free (Free): Supports cursor keys, themes
  • Arrows Keyboard ($0.99): Supports cursor keys
  • Keyboard with Control Key (Free): Supports cursor keys
  • Programmers Keyboard (Free): Supports cursor keys, and numpad
  • Go Keyboard (Free): Supports cursor keys and numpad.
  • GameKeyboard ($2.49): Supports cursor keys, mappable buttons, macros and transparency.  (WARNING: GameKeyboard 1.6.0 and above actively block DosBox Turbo from working.  Recommend staying with GameKeyboard 1.4.0, or ask the author to remove the blocking)
  • Flit Keyboard + Extra Layout (Free): Supports cursor keys and transparency.

Using GamePad Beta: Gamepad Beta is a free virtual keyboard/gamepad addon that lets you use the cursor keys as a virtual GamePad or DPad.  Also, as of v0.95, it has the ability to emulate an Xbox 360 controller.  The easiest way to use GamePad is to set it up to emulate an XBox 360 controller, and then perform all the keymapping within DosBox Turbo (or DosBox Manager) itself by selecting Xbox 360 as the game controller type.  Note: Gamepad currently only emulates the Directional Pad (DPAD) and 4 buttons (A,B,X,Y) of the XBox 360 controller.

Using a MOGA Pocket controller: DosBox Turbo supports the MOGA Pocket controllers through the free MOGA Universal Driver. The newer Pro version of the MOGA controllers have a Bluetooth USB mode which requires no external driver app and just works with DosBox Turbo. Please watch the following video for setup instructions for the MOGA Pocket:

Windows 9x Emulation (Windows PC Gaming) [Updated 10/29/2013]

Note [10/29/13]: If your Windows image is crashing while trying to reconcile daylight savings time, you can get around it by opening the keyboard and press enter repeatedly as its booting or just download the fixed images.

On a fast device (Tegra 3+), DosBox Turbo supports experimental Windows 9x emulation and can play many PC (Win9x) games and even some games requiring DirectX/Direct3D. User RolandDeschain79 created a very helpful how-to video with the necessary DosBox Turbo images (including Direct3D support):

Windows Gaming support is still experimental, you results may vary.  The following Windows games have been tested to run on modern devices:

  • Windows 98 + Glide + Direct3D
  • Fallout 2
  • Fallout 2: Restoration Project
  • Fallout Tactics (needs a next gen device.. ie Tegra 4)
  • Age of Empires 1 & 2
  • Half-Life 1
  • Star Wars Jedi Knight: Dark Forces 2 (requires additional setup - ie. daemon tools)
  • Diablo 1
  • Diablo 2 (needs a next gen device.. see video)
  • Sim City 3000
  • The Sims
  • StarCraft 1
  • C&C Red Alert 95
  • Civilization II
  • Homeworld 1 (requires additional setup - ie. daemon tools)
  • Commandos: Behind Enemy Lines
  • KKnD 2
  • Warhammer 40k Chaos Gate
  • Lords of the Realms 2
  • Age of Empires
  • Age of Empires II - The Age of Kings + The Conquerors
  • Stronghold Crusader
  • Tiberian sun
  • Nox
  • Dune 2000
  • Z
  • JoeQuake / ProQuake
  • Total Annihilation
  • Neighbours from Hell
There are likely many thousands more games that will likely work, if you get other games working, drop me an e-mail and I'll update the list. There is a support thread for Win9x emulation over at xda.


Q. What should I choose for the "Cycles" setting for DosBox?
A. Generally, you should choose the "auto" option, that is equivalent to setting the Cycles=max in the dosbox.conf.  To get the optimum performance, you can set the cycle rate manually for each game.

Q. What else can I do to increase speed?
A. Read more about performance.

Read all about what kind performance to expect on your phone/tablet.

MIDI Sound [Updated 8/18/2014]

As of DosBox Turbo v2.1.0, MIDI Sound (both Roland MT-32 and General MIDI) is now supported through Roland MT-32 Emulation.  In order to use the MIDI sound system, you will require two (2) Roland MT-32 ROM files.  Place the "MT32_CONTROL.ROM" and "MT32_PCM.ROM" files on your SD Card as follows:

The two ROM files need to be placed in the same directory as your dosbox.conf on your external SD card.  Many devices have multiple storage locations, to locate the specified directory on your SD card:  Start DosBox Turbo  and go to the Settings->DosBox Settings menu and scroll to the bottom.  Make sure the "Manual Mode" preference is unchecked.  You will see the "Config Location" preference as greyed out.  This is the root of your SD card (as detected by Android) and the location where you will need to copy the above two files. Most devices using Android 4.1 or below will show "/mnt/sdcard/", those using Android 4.2+ will probably have something like "/storage/emulated/0/Android/data/com.fishstix.dosbox/files/".  Once you've copied the two ROM files to your SD Card, you will need to re-start DosBox Turbo and the MIDI Emulation Preference will now be available in the DosBox Settings menu. Please be aware that MIDI sound emulation, on top of the regular DOS emulation is very CPU intensive.  Best results can be obtained on newer dual & quad-core devices.

You will need to select either "General Midi" or "Roland MT-32" as the music device in your DOS Game.  After DosBox Turbo has been restarted and MIDI emulation enabled, you are free to delete the ROM files from your sdcard.

IPX Networking (Multiplayer Gaming) [Updated 4/2/2013]
DosBox Turbo v2.1.2+ now has fully functional IPX networking emulation to allow you to play multi-player games with your friends.  Many DOS games support multiplayer gaming through IPX networking. Port numbers above 1024 are supported in Android. 

DOOM Deathmatch on Android


  1. HELP! My game is not working!
  2. Check the Compatability List for DosBox to see if your game is supported or needs special tweaks.
  3. Can I use a bluetooth mouse or my physical touchpad (Asus Transformer, etc)?
  4. Yes. As long as you are running Android 3.1 (Honeycomb) or higher, you can use external mice and joystick. Select Input->Physical Mouse in the configuration settings.
  5. Absolute Tracking is not following my finger perfectly.
  6. Some DOS programs change how the mouse behaves, either by taking relative movements and speeding up, or slowing down. There is no way to tell if a DOS program is going to change mouse behavior. If the DOS game changes the way the mouse works, absolute mode will no longer work, you will be forced to use relative mode. Absolute mode works for the majority of games, but not all.
  7. How do I use the right mouse button (right-click) on my Asus Transformer or bluetooth mouse?
  8. You will need to be running Android 4.0 (Ice Cream Sandwich) or higher to use the right click function.
  9. Why is my physical ALT key behaving strange on my keyboard?
  10. In order to support both physical and virtual keyboards, the LEFT ALT keymapping needed to be changed. For physical keyboard users, either use the right ALT key, or turn on the option "Use physical ALT" in the Settings.
  11. I am having trouble typing < or > on my virtual keyboard.
  12. Please make sure that the setting "Use physical ALT" is disabled.
  13. How can I use my phone's optical trackpad or directional pad as mouse or joystick input?
  14. Click the option Enable DPad/Trackpad in the settings menu.
  15. My sound quality is poor (with skipping and/or static), what can I do? 
  16. That is a symptom of the CPU not having enough power to drive both the video & audio threads in sync.  There are a few things you can try:  (1) Turn off the "Turbo Cycles" option in the Settings Menu.  (2) Increase the Audio Pre-Buffer setting (default 15) to 20.  (3) Increase the Mixer Block Size (default 1024) to something higher.  Also, if you are not using "Auto" cycles: Try lowering the cycle rate so that your CPU can keep up with the audio processing.
  17. Mouse clicks are being mis-interpreted or not registering.
  18. That is sometimes a symptom of having too high of a cycle rate. Try lowering the cycle rate, or if lowering the cycle rate makes the game unplayable, you can use the recommended "Auto" Cycle speed.
  19. Help, the arrow keys on my keyboard are not working properly.
  20. Try disabling the Enable DPad/Trackpad setting.
  21. Can I change the screen size?
  22. Enable the Scale option by "menu->Scale->on". You can also rotate your device to landscape mode for a better screen fit, and adjust the scale factor in the Options menu.
  23. How can I improve performance??
  24. Read the performance page.
  25. Why is my dosbox.conf file always being overwritten?
  26. If you want manually edit the dosbox.conf file, you need to select "Manual Mode" in the DosBox preferences before making changes.
  27. Can I perform a mouse drag?
  28. Yes, in Touchscreen mouse mode, hold your finger for a long press, and then drag your finger.
  29. How do I press the buttons on the joystick?
  30. The Volume Up/Down keys emulate joystick buttons in Joystick mode, make sure it's enabled from Menu->Input->Vol Keys as buttons.
  31. How do I display the virtual joystick overlay on screen?
  32. Enabling overlays can adversely affect performance. First, enable joystick input mode, then enable the joystick overlay via Menu->Overlay->Show Overlay.
  33. How can I use arrow keys on the keyboard?
  34. You can use any Android keyboard with the emulator. There are several gaming keyboards with arrow keys available in the Android Market.
  35. Is the virtual joystick multi-touch capable?
  36. Yes. On Android 2.1+, the joystick supports full multi-touch. For users of Android 1.6 devices, unfortunately, your device does not support multi-touch.
  37. Help! My DOS game/application won't run!
  38. Check the compatability table on the DosBox website. DosBox Turbo is based upon DosBox 0.74. If the game shows as compatible, and it still does not run, please email me the settings you used.
  39. How much memory should I allocate in the Config? More is better, right?
  40. Wrong. Use the lowest memory setting that allows your game to run. In Doom/Heretic and Warcraft II this would be 8MB.
  41. How can I use the physical ALT key on my keyboard?
  42. In the Config menu, enable the setting called "Use Physical ALT". =)
  43. Does the app "GameKeyboard" work with DosBox Turbo?
  44. No. The author of this app is blocking its usage on DosBox Turbo for some reason.  There is nothing I can do about this.  I suggest you use an older version (1.4.0 is reported to work), or ask the author to remove the blocking.
  45. I keep seeing the same 1 and 2 star commentors saying that DosBox Turbo sucks, you suck, or Fallout runs many times faster on some other "XXX DosBox".
  46. Lets just say that somebody must not be very happy that there is a new, popular DosBox emulator available. To learn the truth, read about Performance.
  47. Sometimes my Transformer Prime (or Transformer TF300T, TF700T or Infinity) will quit back to the Homescreen while playing XXX game.
  48. This is currently a known problem with the ICS ROM in the Transformer Prime/300T/Infinity, which exhibits similar behavior on several other games and emulators. You can follow the discussion thread for this problem at XDA-Developers Forum. One possible solution that has been proposed is to reboot the tablet before playing a game.  UPDATE [6/13/12]: Asus released a new ROM update (v0.28) for the Prime, which appears to still have the cache-coherency issue. Please try this work-around and let me know if it solves the problem for you. UPDATE [9/12/2012]: Reports indicate the latest Firmware for the Prime fix the instability issue; however, the 300T , 700T and Infinity may still be affected. Please e-mail me if you are affected, I have developed a custom work-around. UPDATE [9/27/2012]: DosBox Turbo 1.5.0 has my custom work-around for the ASUS firmware bug.  Please check the option "Disable Optimizations" in the settings if you have an ASUS device that is affected by the firmware bug.
  49. My Sony Xperia Tablet S will run games for about 5-10 minutes before crashing/exiting.
  50. Its been determined that the same cache-coherency bug that was affecting the ASUS ICS Rom (see Question 24) is also currently affecting the Sony ROM. ASUS Fixed this bug in their ROMS. A Bug report is being prepared and will be submitted to Sony. In the meantime, the same workaround works for the Sony Xperia Tablet: Settings->Optimizations and select "Disable All Optimizations".
  51. When I right-click with a external USB mouse, the right click does not work as expected.
  52. Right-click mouse support requires Android 4.0+ (Ice Cream Sandwich).  Furthermore, if you are running ICS and have an Acer Iconia A500 tablet, there is a bug in the A500 ROM that maps the right click press to the BACK button instead of the right-click.  The bug report has been submitted to ACER and hopefully they fix it in the next ROM update.  A workaround for the A500 tablet is to map the right mouse click to either the volume keys or to the search key.
  53. My Samsung virtual keyboard is not working, I can't type anything!
  54. For some reason, some versions of the stock Samsung virtual keyboard do not work properly in some games/apps. A workaround is to install a 3rd party keyboard, such as Hacker's Keyboard or Gamepad Keyboard.
  55. How do I mount a new CD drive?
  56. Using the normal dosbox mount commands; however, since Android is Linux based, you will need to use linux pathnames as such:
    mount d /sdcard/dos/mycd -t cdrom
  57. I have a foreign keyboard (ie. QWERTZ) on my device, how can I make it recognize my keyboard layout?
  58. You can try using the DosBox KEYB command or modify the config file.
  59. I'm running Android 4.0+ (ICS) or Android 4.1+ (JB), DosBox Turbo keeps freezing/crashing when I try to enter the configuration/settings screen.
  60. It seems that some users of of Android 4.0+ (Ice Cream Sandwich) and Android 4.1+ (Jelly Bean) devices experience freezing when they have the option "Don't keep activities" enabled in the Developer Menu. This option is normally disabled by default, and enabling it is not recommended for end-users, as it can cause problems with many applications and slow down your device.  Please try disabling this option and let me know if it resolves the freezing for you.
  61. I get the message "ERROR: Don't keep activities Dev Option enabled!"
  62. See the above question and disable the "Don't Keep Activities" option under developer settings.
  63. I get the message "License Check failed, Cycle Speed is limited."
  64. On very rare occasions, right after a purchase, the Google Play cache can become corrupt and lose information about your last purchase. This is not a big problem and can easily be fixed by following these instructions. DosBox Turbo only checks the license once upon purchase/installation and then never again.
  65. Where is the settings button?? (or How can I access the settings menu)?
  66. You have three easy ways of accessing the DosBox Turbo Settings Menu.
    1. From Landscape Mode: from close to the top margin, swipe down to show the ActionBar. From the action bar, you can access the settings menu as well as many other options.
    2. From Portrait Mode: The actionbar will always be visible, and you can just access the settings menu by clicking the (3 dots) at the top.
    3. From either Portrait or Landscape: Place your finger near the left margin and swipe right, you'll have access to the DosBox QuickMenu.
  67. How do I swap CD's like in Desktop DosBox with CTRL-F4?
  68. In DosBox Turbo, you can switch CD's by going to the "Special Keys" menu and selecting Switch Disc. This should do the same thing as a CTRL-F4 in Desktop DosBox.

DosBox Manager FAQ (Profile Manager)

  1. What version of DosBox Turbo do I need to run the DosBox Manager?
  2. You need version 2.0.0+ of DosBox Turbo to use the Profile Manager.
  3. How do I set up a new Profile?
  5. The default autoexec keeps launching or sometimes the wrong profile launches, help!
  6. Most issues with DosBox manager stem from not completely Exiting & Quitting DosBox Turbo before trying to use the DosBox Manager. Please make sure you've completely Exited DosBox Turbo (use the Quit option in the menu) before trying to use DosBox Manager.


Most games that work on DosBox 0.74 will work just fine on DosBox Turbo.  Please check the DosBox Compatability List for specific titles.  Here is a list of popular DOS games:

Instructions & Setup:

Diablo 2
Very hard on the CPU.  Will need a next gen device to play.

Instructions & Setup:

Half-Life on Windows 98
Yes, it is possible on DosBox Turbo! You will need a very fast device; however, this is a very experimental, unsupported configuration.  No support can be given for this type of configuration.
Another Half-Life 1 instructional video, this time with sound:

Here's another updated video of Half-Life running on a Samsung Galaxy Note:

Age of Empires on Windows 98
Again, it is unsupported, yet very possible to run Age of Empires on DosBox Turbo!

If you have any hints/tips/instructions for setting up a specific game, feel free to e-mail me and I'll put a link here.
DosBox Turbo is licensed under the GPL.