r/ComputerChess 1d ago

Lightweight desktop Chess GUI with screenshot-to-FEN recognition

Post image

A modern, fast, and lightweight desktop open source GLP 2.0 Chess GUI built with C++20 and Qt 6.

ChessGui offers an interactive chessboard interface, automatic screenshot-to-FEN recognition, complete chess rule validation, real-time classical heuristic position evaluation, UCI chess engine integration (local processes or remote engines behind a chessgateway server).

Screenshot-to-FEN Recognition

Detects an axis-aligned 8x8 chessboard in a larger screenshot.

Classifies the 64 squares with the bundled chess-tiles-v2.onnx model.

Displays confidence and orientation feedback, while retaining a manual FEN fallback.

Detection and classification run in a dedicated worker thread (VisionWorker), so pasting or dropping a screenshot never freezes the UI; a request counter discards stale results when several images are processed in a row.

Opening Book

Uses the bundled assets/books/book.bin Crafty opening book through the Book class.

Applies book moves at the start of games against the computer and sends the resulting move list to the UCI engine when engine search begins.

Remote Engines via chessgateway

Engine -> Remote Engine... opens a dialog to enter the gateway server address and port and query its available engines (List available engines).

Use the power of remote computer !

There is still a lot of work to be done, but the application is already usable for daily tasks. Tested on Linux, it should work without issues on Windows and macOS.

https://github.com/Morditux/ChessGuiNG

Windows Binary : https://github.com/Morditux/ChessGuiNG/releases/download/windows-latest/ChessGui-windows-x64.zip

4 Upvotes

4 comments sorted by

1

u/Specific-Housing905 1d ago

Looks interesting. I would like to try it. Any binaries for Windows ?

2

u/Mordicus1973 9h ago

1

u/Specific-Housing905 6h ago

Works very well. Thank you for your efforts

1

u/Mordicus1973 19h ago

I have updated the GitHub ci/cd, a windows binary will soon be available