A chess game for the reMarkable tablet writting using the pleco chess library which is a port of Stockfish.
A chess piece can be moved in two ways:
- Clicking it once and clicking the spot it's supposed to
- Clicking it and moving the finger onto the square to move it there on release
The second method has the advantage that it doesn't highlight the chess piece or shows the possible moves.
When running the Game with the enviroment variable RUST_LOG
set to debug
, the FEN of a board will be output on each move. This is useful for debugging but also for manually saving a game state or resuming it elsewhere since this notation should be compatible with other chess programs/engines.
When starting a game, you'll need to specifiy a slot to play on. On quitting the game, the FEN will get saved to ~/.config/chessmarkable/savestates.yml
which can be used to resume from.
(The -i
option was removed in favor to add your own fen to the above file).
Chessmarkable also includes a PGN Player (huge thanks to @rmadhwal, for contributing this feature)!
You can put downloaded PGN Files into the directory ~/.config/chessmarkable/pgn
on the device with software like scp, FileZilla or WinSCP.
After this, you should be able to browse all the games from the menu point "PGN Viewer" and step through all the games.
- Go the the releases page
- Get the newest released binary file (the one without any extension) and copy it onto your remarkable, using e.g. FileZilla, WinSCP or scp.
- SSH into your remarkable and mark the file as executable with
chmod +x chess
- Stop xochitl (the interface) with
systemctl stop xochitl
- Start the game with
./chessmarkable
(or whatever the binary is called now) - After you're done, restart xochitl with
systemctl start xochitl
- Make sure to have rustup and a current toolchain (nightly might be needed)
- Install the oecore toolchain.
- If you're not using linux, you might want to adjust the path in
.cargo/config
- If you're not using linux, you might want to adjust the path in
- Compile it with
cargo build --release
. It should automatically cross-compile.
- Proper own icon(s)
- Clean the code
This app cant actually drive the rM 2 framebuffer. It needs rm2fb for that.
If you execute chessmarkable from ssh, be sure to have followed rm2fb steps to enable the support. When installed running rm2fb-client ./chessmarkable
should work as well. Launching through a launcher (from toltec) should just work.
- The pleco library is used as the engine, checking valid moves and providing the bots
- The chess pices are from pixabay here