StingRay FAQ

Last Updated 29th May 2023

StingRay Chess GUI is a basic Linux Chess GUI that plugs into a chess engine. It is fairly lightweight and intentionally offers limited options ( that is, enough for basic chess gameplay and engine control ). The latest version support dual engines, so two engines can play against one another.
StingRay is for Linux users who want a simple-to-use Chess GUI to play against their favourite engine. It is not intended for complex analysis of Chess games or game databases etc. It is aimed at beginners to Linux, for ease-of-use and to look reasonably pleasant. If StingRay is not for you because it doesn’t fit your needs, you just don’t like it, or for any other reason, then try something like PyChess, Arena or one of the others out there.
Yes. I originally wanted to write a Chess program because I had bought a Raspberry Pi. It runs okay, but a Pi 3 is preferable. It can run on a Pi Zero but performance might be an issue depending on the engine you pick. There are now 32-bit and 64-bit Pi versions ( from StingRay versions 0.99c onwards ).

There is also now a Rock4C version, see question 25. for info on it.
Stingray Chess Gui is free. You can supply the software, as is, for free, to anyone, including copying, but I would prefer it to be downloaded from the website if possible. You are free to share, store or send screenshots. You may not charge for supplying this software and it remains copyright of myself (Sean Burberry, England, UK).
No. I have tried to provide as much functionality as I can whilst keeping things simple as possible.
  • supports UCI / XBoard protocols
  • supports PGN format
  • easy to use GUI, basic functionality
  • limited CPU / memory requirements
  • supports FEN setup, ponder, time controls, ply (depth) controls, Blitz, infinite time etc.
  • demo mode (engine vs itself) and rolling demo of classic games
  • it's free !

No, you need a chess engine - see the installation guide for details. As a base you can point it to an existing engine from the 'Players / Engine' menu option, ( e.g. gnuchess in the /usr/games folder ). Or, you can install one as follows:

  • sudo apt-get install stockfish
  • sudo apt-get install crafty
  • sudo apt-get install fruit

etc. , depending on your requirements.

These are instructions for Ubuntu, for Fedora you would replace 'apt-get' with 'yum' in the above commands.

Some of these engines are not available for all platforms, so you might have to delve into the instructions for them to install the one you want. I find that stockfish and gnuchess installs on most distros; crafty and fruit are available for Ubuntu; Komodo runs on 64-bit Linux distros, by downloading and copying the executable file to the/usr/games folder (and ensuring it is executable).

If you have stockfish installed ( non-Raspberry versions ) or fruit ( Raspberry version), then StingRay should work 'straight out the box', as they are defaults when first run.

Pick the DEB package for your processor / distribution type, download and open using an archive manager. Find the file called StingRay (the executable) and follow the steps in the installation guide.

Where supported by the engine ( Komodo, Crafty, Fruit etc ). Standard Stockfish does not use opening books.

On the Download page there are some opening books in polyglot ( UCI ) and Crafty ( Xboard ) formats.

Downloads

There are collections of 100,000 and 250,000 games.

Click to the Settings menu and Engine Options to set the opening book settings.

If you want to create your own book from a PGN collection, email me and I can try and help.

I have tried it on Fedora, Debian, Ubuntu (14/16/17), and Raspbian ( Jessie , Pixel ).

For the Pi there are 32-bit and 64-bit (ARM) version; for other Linux versions there are x86 (32 bit) and x64 (64 bit) versions.

Note that for best results, I use Ubuntu 14.04 / 16.04. I think StingRay looks nicer using it, the text size looks more appropriate etc.

For other distributions, the text may look too small / big, or the brightness be slightly out. You can adjust these in the 'Display' menu options. Picking a different colour may also look nicer depending on the background used by your display.

Ensure you have the correct version ( e.g. 32-bit or 64 bit ). A typical Linux user would most likely need the x64 version. If running an old system, you might need the x86 version. If you are using a Raspberry Pi you will need that (ARM Rpi 32-bit or 64-bit) version. If running Ubuntu , Debian or the Raspberry you want the Debian (DEB) packages. If you use Fedora, then download the RPM packages.

Either download the installer, and run, or failing that try from the command line:

eg:

    sudo rpm -i my_downloaded_file.rpm

or

    sudo dpkg -i my_downloaded_file.deb

Alternatively, open the DEB file using an archive manager and find the StingRay executable. Copy the executable to your chosen folder, ensure it is executable – either from adding the permissions in the file manager desktop you are using, or running something like this:

  • cd ~/usr/games
  • sudo chmod +x ./StingRay

If you run it and it cannot find the default engine ( see point 7 ) then it will play in a rolling demo mode. At the bottom of the screen it will tell you to install and then pick an engine.

Both, but not every feature. The basics are supported ( e.g. to play a game, set levels, ponder etc ) but there should be enough for most ( basic ) users.

I developed it using stockfish ( UCI ), crafty ( Xboard ), and komodo ( UCI ). The main engine I tested against on the Raspberry Pi was fruit.

I built a version of crafty ( no tablebases ) on the Pi to test with too.

I also have tried to make it work with phalanx, critter, sjeng, gnuchess and others.

If using Pi it works best with fruit or stockfish. For other platforms, try stockfish or crafty.

It was written in C ( with a little STL and pthreads ) under GTK+, with Cairo for drawing. Drawing is rendered using Cairo primitives (except the text on the controls). I

recommend using Cairo, it is a nice and easy-to-use library to create graphics elements.

I tried to make the code as performant as possible, but the smoothness might vary, especially on VMs / Raspberry Pi.

The code is very simple:- no lamda expressions were hurt in the making of this program. It is compiled with gcc.

No, sorry...

I am more than willing to share bits and bobs on how things were implemented but am not able yet to share the code on a general basis.

Things to check:

  1. Check the StingRay file is executable. If this permission is not set, you will not be able to run it.
  2. Is it the correct type for your OS? If you are running 64 bit Linux you probably might not be able to run the 32-bit version (and vice versa).

    Check the OS type: > uname –i

    If it is 64 bit it will say: x86_64

  3. Check the architecture of the executable.

    It should match the OS you are using: > file ~/usr/games/StingRay

    If you see '64-bit' in the response, you have the x64 (64-bit) binary, otherwise you have the 32 bit (x86) one.

  4. Check you have Gtk+ installed.

    It normally comes with Linux: > pkg-config --modversion gtk+-3.0

    The program should work with version 3.14 and above, but you could try earlier ones .

If you run it and it cannot find the default engine ( see point 7 ) then it will play a rolling demo mode. In the analysis window it will tell you to install and then pick an engine.

It is possible the options file is corrupted, or the executable itself is corrupted. You can try and delete the settings file, the StingRayConfig.txt file and the moves.dat ( which stores the last played game ) like this:

  • rm ~/.config/StingRay/*.*
  • rm ~/usr/games/StingRayConfig.txt

As a last resort, delete and reinstall the executable and try again. If this is still not successful, report it as a bug and I will try and resolve it.

You can email them to me at this website and I will try and find the cause / fix them. Crashes / hangs or errors in chess logic will take priority over other issues.

It would be helpful to have a) the StingRay version, b) steps to reproduce the problem, c) the log files, and d) the moves.dat & settings.dat from the ~/.config/StingRay folder.

To get the logs, set the logging level in the program to Fine, quit StingRay, then re-run from a console like this:

    cd /usr/games ./StingRay > logs.txt

At a minimum, please let me know your chess engine (and version), the GTK version reported by StingRay and your Linux version.

Then email them (or a portion of them) to me so I can have a look.

You can copy and freely use any unmodified version up to version 1.00 as well as any Beta version. You cannot sell it, but you can distribute it freely. I provide no guarantees as to usability / safety, so please do not use it if running safety critical systems.
On some versions of Linux the text can appear too small. You can adjust this from the display menu.. Similarly the brightness can be adjusted (also using Ctr+1 and Ctrl+2). These settings are stored for the next run of StingRay.
Yes. To toggle between fullscreen and normal mode, you can use CTR+F. To access settings in fullscreen mode you can use Ctrl+S.
No sorry FICS is not currently supported. It might be added in the future depending on demand, time constraints, etc.
The newer versions ( 0.99c onwards ) do now support dual engines.
I am normally a Windows C/C++ programmer and wanted to develop something on Linux for my Raspberry Pi. I thought a simple Chess GUI would be nice as there are few Linux ones out there, and I hope others use and like it.
This version has digital clocks, a board theme editor with a custom colour dialog.

It has also been made touchscreen compatible with the Waveshare 7-inch ( 1024 x 600 ).

StingRay is also available for the Rock-4 ( 64-bit ) as a Debian install.

You can install it from the command prompt ( after downloading it ) like so :

sudo dpkg -i StingRayChess_0.99d_Rock4.deb
New versions will be coming with new features as and when I can do them.
    -- Thank you , Sean Burberry, England, May 2023, UK