In Linux, as in other systems, you can use programs for every chess enthusiast, from the beginner to the very advanced, for the correspondence chess player and the fan of competitive chess engines.
This post is dedicated to adults chess players who would like to use the most interesting, useful and proven tools - programs ( not web-based tools and servers ) for various chess activities in their chess workshop - Linux operating system.
My goal is not to discuss as many programs in as much detail as possible, but to demonstrate the key capabilities of the tools I have selected in relation to specific chess activities, e.g. training, analysis, database and engine use, etc.
This entry will be updated on a regular basis when I feel that there is software worth presenting to you dear readers.
To learn about the capabilities and practical use of the best chess software, I invite you to visit the course area at chessengeria.com.
Training / Practice
Play Chess Offline & Online
Chess Game Annotations / Database / Analyzes
Scid vs. PC
How to play chess
Fortunately for us fans of this Royal Game, you don't need to read several books to play your first chess game :-)
Learning to play chess is relatively easy and quick. Mastering the basics of the game will allow you to play one or more games, which is important in memorizing the chess rules.
It is a good idea to simply ask someone who can play to show us the basics of chess. If we don't have such an opportunity, I suggest reading just one page of Wikipedia, where the rules of chess are described in a very simple and understandable way.
Training / Practice
Lucas Chess (author: Lucas Monge) is a free program that also runs on Windows systems.
It should be noted that Lucas Chess is available in more than twenty different languages (!), which means with a high probability that its interface will communicate with you in your native language.
Lucas Chess has many training options. Below are its main training features:
From the basics (find all moves), opening (training with a book), tactics (find best move), middle game, endings to long-term trainings.
As you can see in the picture above, with the Lucas Chess program, a chess enthusiast can practice all the most essential stages of chess.
For an example, let's check out one of the workout options offered: Check your memory on a chessboard.
We start at level 1.
At the beginning of the training, we are to memorize the setting of 3 chess pieces within 18 seconds.
After clicking the Start button, a chessboard with three chess pieces will be shown and the time will be counted.
When 18 seconds have elapsed, the student will be asked to position the pieces according to the previously shown position.
In the image below, I intentionally placed the white King on the wrong square.
If the student makes a mistake, the program will display a message:
If the student remembers the position of the chess pieces correctly, the program will display a message:
Isn't that a pretty effective way to train your chess memory ? :-)
And another example: Training positions - Singular moves to win.
Level 1 (easiest)
A simple win by fork.
After placed black Queen to e1 square with check, training program response Kh2.
Taking the white Rook. End of training in this session.
Now something more difficult.
After b4 and Kd7...
...White played b5.
If during practice, student play a move that the program thinks is worth comparing with other possible moves to make, then Lucas Chess will display a window showing alternative continuations.
In this case, instead of playing the white pawn on b5, white could have chosen an even more effective line by putting the King on c4 or beating the black pawn on c5.
The other training lessons in the Lucas Chess program work on a similar principle.
There are tons of material to go through and help improve areas of weakness in student gameplay.
Good software for training chess!
PyChess (author: Thomas Dybdahl Ahle) is a free program that also runs on Windows systems.
Let's play chess! :-))
PyChess is a program with a clear, easy to understand interface. The look of the program is very elegant and inviting to start playing chess.
The PyChess program interface is not overloaded with dozens of options that could be enabled in several different ways.
PyChess is simply a program for playing chess offline (against a computer or human opponent) and online on the popular and established FICS (Free Internet Chess Server) and ICC (Internet Chess Club) servers.
A nice addition is the ability to save and store played chess games in .PGN format files, as well as the use of chess engines e.g. to analyze chess games and give hints.
So let's take a closer look at what PyChess offers.
To play the first game against a computer opponent, we can choose from several chess engines installed by the author. Among other things, we have at our disposal one of the strongest versions of the Stockfish engine (SF9 - about 3300 Elo) far exceeding the playing power of any human.
One of the more interesting engines is the authors PyChess.py, one of the few chess engines written in Python. I encourage you to play against this engine - good fun guaranteed!
PyChess allows you to play different chess variants. The following variants are available:
Fischer Random/Chess 960
Random and Asymmetric Random
Pawns Pushed/Passed, Pawn/Knight/Rook/Queen Odds
as well as: ASEAN, Makruk, Ouk Chatrang, Sittuyin, King of the hill, 3 check, Horde, Placement.
Other chess engines can be attached to PyChess. PyChess can use engines that communicate via the UCI protocol or Winboard / Xboard.
This means that in PyChess program we can use virtually any chess engine prepared to work in a Linux environment.
Here are some images from chessengeria.com's struggle with the Stockfish engine.
After the game, we can choose to rematch or let the engine analyze.
The result of the chess game analysis is a notation in the Annotation window along with hints and potential threats.
To compete against a live opponent, it only takes a few clicks to start playing on a chess server.
An interesting choice is the free FICS server, which can be tried by selecting Log on as Guest. Of course, if you want to record your progress, compete for rankings, then it is worth creating an account and logging in.
When you enter FICS, the first thing you see is a window called Seeks / Challenges with a list of proposals to join the game.
And this is what the window looks like while the game is in progress.
Of course, we have the possibility of defining our own parameters before the start of the game, e.g. setting the time of the chess game, range of opponent's strength which the FICS server will find for us, choice of game mode (Play normal chess rules or other e.g. Fisher random, etc.).
PyChess is a well-thought-out program with consistent options and an elegant easy to use interface.
PyChess can be useful both for those who are new to chess and want to play a quick online game or against a computer opponent, and for those who want to use the computer to hone their chess skills - avoiding distracting the user with unnecessary options.
Chess Game Annotations / Databases / Analyzes
Scid vs. PC is a free program, a fork of Shane Hudson's Chess Information Database (SCID), started in 2009 by Steven Atkinson.
It was also released for other operating systems: macOS, Solaris, Windows and other Unix family systems like FreeBSD, OpenBSD.
In the case of Scid vs. PC, the more accessible it is - the better for us - chess players.
In terms of handling chess games and databases, and engine-based analysis, Scid vs. PC is not inferior to professional and paid software.
A feature of the Scid vs. PC program that is worth emphasizing is that a novice player as well as a chess expert will be able to very easily use this program adequately to their needs.
Example no. 1
A beginning chess enthusiast simply needs to collect his chess games in one database, in some games he would like to add text annotations and from time to time use the chess engine hints.
Example no. 2
An advanced and experienced player needs many databases of chess games in order to quickly and efficiently manage a collection of millions of records. He very often uses advanced chess notation in his games, prints games with diagrams and regularly looks for chess novelties while preparing for different and strong opponents. When analyzing many positions and games he uses different chess engines and endgame tablebases simultaneously.
I invite you to watch a few pictures showing the capabilities of Scid vs. PC.
Annotated chess game...
...With Comment Editor.
Diagram with current position.
Position analysis by single chess engine: one line of analysis.
Position analysis by single chess engine: main chessboard, three lines of analysis, threat suggestion, variation board.
Simultaneous position analysis by two chess engines, variation boards.
An analysis of the entire chess game by the chess engine, along with the annotations and variations it adds.
A view of the chessboard with the last move.
Selecting the type of chess database.
List of tournaments from the chess database.
Opening key data from a database containing over 4 million games.
Player's ELO rating over time.
I highly recommend trying out the Scid vs. PC program. It may become your electronic friend on every stage of your chess adventure.
I invite you to visit the course area on chessengeria.com. There you will find a series of courses devoted to the Scid vs. PC program, in which the possibilities of practical use of this program are presented in great detail.
Watching chess engines struggle
Testing in different configurations and positions
Organizing matches and tournaments between computer opponents
Calculating rankings and creating ranking lists
Advanced position analysis
Examining the "strength" of different opening books
Running chess computer emulators
To see if the engine ( Deep Junior ), which in 2003 was able to draw with the then world chess champion ( Garry Kasparov ), today competing with the modern Stockfish engine in 100 matches, wins ... hmm, as in many games Deep Junior is able to win against Stockfish?
All of the above and many more "computer" features can be found in the Arena - program dedicated to using chess engines.
Arena is a free program by Martin Blume; development started in 2001/2002.
Noteworthy is the fact that the Arena interface has been translated into 19 languages and is also available for computers using Linux and ARM architecture (e.g. for Raspberry Pi).
The program is also available in a Windows version.
Arena is by all means a specialized program, so users of this program will certainly enjoy Arena's help - clear and rich in content.
Arena has clear and logically grouped Menus, icons with shortcuts to the most frequently used options, and...
... a chess engine installation wizard, which can be helpful especially to novice users of this program.
Of particular note is the management of the installed chess engines.
Arena offers access to detailed features and configuration tools for all chess engines.
It supports even the oldest communication protocols, which means that you can use chess engines released many years ago.
As you can see in the picture below, next to modern versions of engines like Stockfish or Komodo - we see Phalanx engine from 2012.
There was, of course, no shortage of support for chess tablebases. The program doesn't impose a specific format. We can use tablebases available in different formats - which can be useful.
Here's example what the window looks like where we set up the engine tournament.
And below is a view of the Arena program when playing two engines against each other.
It is worth knowing that after many years of development and gaining an established position in the chess engine software segment, updates to the program have been slowed down considerably.
The latest version of Arena for Linux is the release dated January 19, 2020.
Arena is a mature, excellent program, written by a man who is very well versed in the subject of chess engines.
At the time this post was written (February 2022), the source code for Arena had not been opened and published.
I sincerely hope that Arena will continue to be a developed program, which would certainly be helped by inviting the kind Linux community to further support its development.
And that ends the entry about...
As I was writing, the Deep Junior and Stockfish engines were fighting in the background on my computer.
Dear reader, if you have been reading this post carefully, you are probably thinking what was the result of this match ?
Before we get into the outcome of this exciting match, let's check out what - what chess engine - Garry Kasparov was up against in 2003.
According to Wikipedia, Deep Junior in 2003 was the holder of the 2002 World Computer Chess Champion title!
To determine the version of Deep Junior that Stockfish is up against, let's look at the release dates:
All is clear, Stockfish should play against Junior 7.
( explanation: Deep -> means a version Junior chess engine capable of playing using the power of multiple processors ).
for the entire game: 1 minute, 0 seconds of extra time
cpu's: 4 for each engine
hash table: 128MB for each engine
open book: Perfect_2021
number of games: 100
Out of 100 chess games played, Deep Junior 7
has not won a single game
draw 1 game
lost 99 games
According to Elostat, assuming Deep Junior 7 played at the 2800 ELO level, Stockfish 14.1 played at the 3400 ELO level.
Below is a link to download games from that match.
This is the end the entry: Tools in a chess player's workshop - Linux