Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build status Build status


DreamChess is an open source chess game. It comes with its own engine called Dreamer.

Both DreamChess and Dreamer are compatible with the xboard/Winboard chess engine communication protocol. This means that DreamChess can be used with other xboard-compatible chess engines such as crafty and GNU Chess. Similarly, the Dreamer chess engine can be used with other xboard-compatible user interfaces such as XBoard/WinBoard.

DreamChess currently supports Windows, macOS and Linux. It is licensed under the GPLv3.


The following dependencies are required for building DreamChess: CMake, bison, flex, SDL 2.0, SDL_image 2.0, SDL_mixer 2.0, Expat and GLEW.

On Ubuntu this translates to the following package list: gcc, cmake, bison, flex, libsdl2-dev, libsdl2-image-dev, libsdl2-mixer-dev, libexpat1-dev and libglew-dev.


DreamChess can be controlled with the mouse and/or the keyboard. You can select menu items or chess pieces either by pointing the mouse and left-clicking, or by using the arrow keys and pressing Enter.

The board view can be rotated freely by holding down the middle mouse button and moving the mouse. When using the keyboard, hold down the left Ctrl key and press the arrow keys.

The in-game menu can be opened by right-clicking the mouse, or by pressing the Esc key.

Additionally, there are several keyboard shortcuts you may like to use:

Button Action
'P' Key View previous move in game history
'N' Key View next move in game history
'R' Key Retract move (when possible)
Alt+Enter / F11 Toggle fullscreen mode
Ctrl+F Toggle FPS counter (title screen only)


Special thanks go out to the following people:

  • François Dominic Laramée - for his excellent article on chess programming
  • Bob Hyatt - for his many useful Usenet posts over the years
  • Dan Potter - for making KallistiOS