Menu ▾ ▴

#40 Automagical Install of UCI Engines

closed
nobody
None
5
2016-10-05
2014-11-25
bstp
No

H.G. Muller submitted this request:

&&&

I have a feature request for SCID on Linux:

It has always bothered me that after install of an engine package, a
separate user intervention is needed to 'register' the engine in a GUI.
The philosophy of the Linux packaging system is such that after apt-get
install everything should work automatically. So engines should really
appear 'automagically' in the engine list of all GUIs capable of using
them. (Possibly controlled by a user option that can regulate this.)

So I am trying to get a system off the ground similar to that used by
desktop managers: when engines are installed, a file is dropped in the
directory

/usr[/local]/share/games/plugins/<protocol>/</protocol>

where <protocol> is either uci or xboard. For example
/usr/share/games/plugins/uci/fruit.eng . All UCI-capable GUIs could scan
this directory to notice newly installed engines (i.e. since the last
time the settings file for the current user was updated), and use the
information in it to add the engine to their engine list. The needed
engine startup command, and possibly the directory in which the engine
should be launched are obtained from this file, and of course the
communication protocol is already known from where the file was found,
which should be enough for a simple 'no frills' registration of the engine.</protocol>

I was hoping that SCID too would be interested in adopting this system.
Obviously getting this to work smoothly is strongly dependent on the
number of GUIs as well as engines that adopt this method, and if we
cannot achieve a 'critical mass' the endeavor is doomed to failure. The
new XBoard (4.8.0) already implements it, and PyChess has pledged to do
so. On the engine side GNU Chess 5 and Fairy-Max already support it and
GNU Chess 6 is working on it. I hope many more will follow suite.

H.G.Muller

&&&

Discussion

  • Gregor Cramer

    Gregor Cramer - 2014-11-25

    Where can I find the definition of the file format for an .eng file?

     
  • bstp

    bstp - 2014-11-26
     
  • Fulvio

    Fulvio - 2016-10-05
    • status: open --> closed
     
  • Fulvio

    Fulvio - 2016-10-05

    The proposed feature violates a foundamental security concept of modern apps.
    The only files that can be accessed shoud be:

    • cointained into the installed directory
    • explicitly selected by the user

    The right solution is to provide it as a system service:

    • engines register to the service to broadcast their abilities
    • GUIs query the service to discover the available engines.
     

Log in to post a comment.