GMChess is a Chinese chess (Xiangqi) desktop game for Linux. The current branch has been refreshed around GTK4, Meson, Debian packaging, and updated application artwork.
- Version:
0.40.1 - UI toolkit: GTK4 + libadwaita
- Build system: Meson + Ninja
- Packaging: Debian/Ubuntu
.debsupport is included - Gameplay: human-versus-engine play, free play, and game-record handling
- Engine: bundled EleEye/xqwizard-derived Chinese chess engine
- Resources: bundled board themes, sound effects, application icons, and player avatars
The old gtkmm UI has been removed from the active application code. The GTK interface now uses GTK4 APIs, including GTK4 list models/views and non-deprecated dialog and file-selection APIs where applicable.
Install the build dependencies on Ubuntu/Debian:
sudo apt install build-essential meson ninja-build pkg-config gettext libgtk-4-dev libadwaita-1-devBuild the project:
meson setup builddir-gtk4
meson compile -C builddir-gtk4Run the local build:
./builddir-gtk4/src/gmchessThe local build resolves bundled resources and the engine from the source/build tree, so it can be run before installation.
Build a binary Debian package:
./build-deb.shGenerated packages are placed in the sibling builds/ directory, for example:
../builds/gmchess_0.40.1_amd64.deb
There is also a source package helper:
./build-source.shThe project installs a desktop file, hicolor application icons, and AppStream MetaInfo metadata for software centers such as GNOME Software.
Validate the installed desktop metadata locally:
meson setup builddir-gtk4
meson compile -C builddir-gtk4
DESTDIR="$PWD/builddir-gtk4/stage" meson install -C builddir-gtk4
appstreamcli validate data/io.github.lerosua.gmchess.metainfo.xmlA Flatpak manifest draft is provided as io.github.lerosua.gmchess.yml. Before a
Flathub submission, create and push a stable release tag, then replace the
manifest source branch with that tag and its commit. Flathub submissions should
be tested with:
flatpak run --command=flathub-build org.flatpak.Builder --install io.github.lerosua.gmchess.yml
flatpak run io.github.lerosua.gmchess
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest io.github.lerosua.gmchess.yml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder repo repoApplication icons are installed both as the main gmchess.png resource and as
hicolor icons in common desktop sizes. Player avatars and the current-turn marker
are bundled in data/.
The GitHub preview image lives at:
doc/images/preview.png
GMChess is released under GPLv2. See COPYING.
The chess engine is based on xqwizard:
https://sourceforge.net/projects/xqwizard/
xqwizard is also released under GPLv2. GMChess also includes some data derived
from that project, such as book.dat.
The original GMChess project was migrated from Google Code to GitHub by lerosua. This branch continues the codebase with GTK4 and packaging updates.
