diep wrote:Believe there is a market for this, lots of people here use Linux. I myself use xboard or icsdrone with at least 14-20+ engines running in linux at any given time for my ICS.hgm wrote:
So that leaves you as only linux users who runs more than 1 engine under linux, or did i forget someone on this planet who does?
Linux is nice, in that if I really need to (and currently do) I can run windows engines vi wine with icsdrone or xboard.
One of my engines now is run via wineconsole -> polyglot -> icsdrone -> OICS and it's one of my more stable engines.
Just my $0.02
-Josh
Proposal for Linux engine standard
Moderator: Ras
-
- Posts: 1360
- Joined: Wed Mar 08, 2006 9:41 pm
- Location: Morgantown, WV, USA
Re: Proposal for Linux engine standard
-
- Posts: 1360
- Joined: Sun Jul 17, 2011 11:14 am
- Full name: Hannah Ravensloft
Re: Proposal for Linux engine standard
jshriver wrote:I agree with Joshua here, my Raspberry Pi has around 8 engines all with handy launch shell scripts.diep wrote:Believe there is a market for this, lots of people here use Linux. I myself use xboard or icsdrone with at least 14-20+ engines running in linux at any given time for my ICS.hgm wrote:
So that leaves you as only linux users who runs more than 1 engine under linux, or did i forget someone on this planet who does?
Linux is nice, in that if I really need to (and currently do) I can run windows engines vi wine with icsdrone or xboard.
One of my engines now is run via wineconsole -> polyglot -> icsdrone -> OICS and it's one of my more stable engines.
Just my $0.02
-Josh
The only issue I have is "What does a non-root user do?" Sudo it. And if you can't sudo it, because of being at work, then what?
We'd have to add ~/games/engines to the list. And for a 200 user system...
This is impractical, to say the least.
Matthew:out
tu ne cede malis, sed contra audentior ito
-
- Posts: 2292
- Joined: Mon Sep 29, 2008 1:50 am
Re: Proposal for Linux engine standard
I would recommend to replace "Chess" by "normal", and in general to require that for known variants the names in the xboard protocol would be usedsomething like:
Name = Fruit
Game = Chess
Protocol = UCI
Command = fruit
After all the aim is to standardize things....
-
- Posts: 613
- Joined: Sun Jan 18, 2009 7:03 am
Re: Proposal for Linux engine standard
But if late (hopefully) othello, go or tictactoe GUIs start to use same directory, then "normal" will sound very funny, don't you think?Michel wrote:I would recommend to replace "Chess" by "normal", and in general to require that for known variants the names in the xboard protocol would be usedsomething like:
Name = Fruit
Game = Chess
Protocol = UCI
Command = fruit
After all the aim is to standardize things....
Joona Kiiski
-
- Posts: 2292
- Joined: Mon Sep 29, 2008 1:50 am
Re: Proposal for Linux engine standard
Well there is some confusion about the meaning of "Game". HGM wrote
Game = xiangqi
so I assume he was referring to a variant....
Probably one should have
Family = chess
Variant = xiangqi
or
Family = tictactoe
Variant = normal (which would be the default)
Game = xiangqi
so I assume he was referring to a variant....
Probably one should have
Family = chess
Variant = xiangqi
or
Family = tictactoe
Variant = normal (which would be the default)
-
- Posts: 613
- Joined: Sun Jan 18, 2009 7:03 am
Re: Proposal for Linux engine standard
That's a good point. Could it be:hgm wrote: To allow for multi-protocol engines, which could require different commands to start in either protocol (e.g. gnuchess --uci vs gnuchess) I would prefer to combine Protocol and Command into one option, and allow to have more than one.
Name = fruit
Game = Chess
Protocol = UCI
UCI.command = fruit
or
Name = foo-engine
Game = Chess
Protocol = UCI, WB
UCI.command = foo-engine -foo
WB.command = foo-engine -bar
The first listed protocol would the engine's primary protocol.
Joona Kiiski
-
- Posts: 2292
- Joined: Mon Sep 29, 2008 1:50 am
Re: Proposal for Linux engine standard
A more standard way of handling this would be through the standard inifile syntaxXBoard.cmdargs = -foo
SCID.cmdargs = -bar
[engine]
...
[xboard]
cmdargs=...
[scid]
cmdargs=...
[icsdrone

cmdargs=...
-
- Posts: 2292
- Joined: Mon Sep 29, 2008 1:50 am
Re: Proposal for Linux engine standard
I rather prefer multiple engine files for the same engine. You mayThat's a good point. Could it be:
Name = fruit
Game = Chess
Protocol = UCI
UCI.command = fruit
or
Name = foo-engine
Game = Chess
Protocol = UCI, WB
UCI.command = foo-engine -foo
WB.command = foo-engine -bar
The first listed protocol would the engine's primary protocol.
do other things in an engine file than just specifying the protocol: e.g.
setting defaults for some options....
An engine package could create for example engine files for three different personalities...
Or an alien winboard engine could be set up with the right options to play
tictactoe...
EDIT: JSON (used by cutechess-cli) would be another possible standard format for the engine files...
-
- Posts: 28390
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Proposal for Linux engine standard
Indeed, I think the case for multiple engine files is strong. It would also make life easier for multi-variant engines. Although people should be urged not to overdo it. We don't want GUIs to install 20 different version of each and every engine (providing different personalities and strengths) in their engine list by default. So perhaps each package should have only one file recognizable as default, or protocol default. E.g. by a .uci or .wb extension to the file, so that the GUIs default install function would pick that one (choosing its own favored protocol if it has a choice), and ignore all files that do not have that extension. Of course a more advance GUI could have an interactive feature to let the user add these other 'engine profiles' to their list of GUI-installed engines by browsing the folder, but there should be some mechanism by which the default install can be restricted.
The (Family, Variant) idea is very good. Indeed I avoided 'normal' to allow other games than chess.
If we used inifile syntax, I think it would make more sense to invert it, like
Because I can't imagine anything else that would be dependent on the GUI than the cmdargs, and it seems silly to have all these sections with only a single member.
The (Family, Variant) idea is very good. Indeed I avoided 'normal' to allow other games than chess.
If we used inifile syntax, I think it would make more sense to invert it, like
Code: Select all
[cmdargs]
xboard=...
scid=...
icsdrone=...
-
- Posts: 411
- Joined: Thu Dec 30, 2010 4:48 am
Re: Proposal for Linux engine standard
why ini instead of xml of which parsers are plentiful, and it'd be simple to include sections for multiple protocols/variants/etc in a single file.