+ that can be used to compile Stockfish on Unix-like systems.
+
+
+## UCI parameters
+
+Currently, Stockfish has the following UCI options:
+
+ * #### Debug Log File
+ Write all communication to and from the engine into a text file.
+
+ * #### Contempt
+ A positive value for contempt favors middle game positions and avoids draws.
+
+ * #### Analysis Contempt
+ By default, contempt is set to prefer the side to move. Set this option to "White"
+ or "Black" to analyse with contempt for that side, or "Off" to disable contempt.
+
+ * #### Threads
+ The number of CPU threads used for searching a position. For best performance, set
+ this equal to the number of CPU cores available.
+
+ * #### Hash
+ The size of the hash table in MB. It is recommended to set Hash after setting Threads.
+
+ * #### Clear Hash
+ Clear the hash table.
+
+ * #### Ponder
+ Let Stockfish ponder its next move while the opponent is thinking.
+
+ * #### MultiPV
+ Output the N best lines (principal variations, PVs) when searching.
+ Leave at 1 for best performance.
+
+ * #### Skill Level
+ Lower the Skill Level in order to make Stockfish play weaker (see also UCI_LimitStrength).
+ Internally, MultiPV is enabled, and with a certain probability depending on the Skill Level a
+ weaker move will be played.
+
+ * #### UCI_LimitStrength
+ Enable weaker play aiming for an Elo rating as set by UCI_Elo. This option overrides Skill Level.
+
+ * #### UCI_Elo
+ If enabled by UCI_LimitStrength, aim for an engine strength of the given Elo.
+ This Elo rating has been calibrated at a time control of 60s+0.6s and anchored to CCRL 40/4.
+
+ * #### Move Overhead
+ Assume a time delay of x ms due to network and GUI overheads. This is useful to
+ avoid losses on time in those cases.
+
+ * #### Minimum Thinking Time
+ Search for at least x ms per move.
+
+ * #### Slow Mover
+ Lower values will make Stockfish take less time in games, higher values will
+ make it think longer.
+
+ * #### nodestime
+ Tells the engine to use nodes searched instead of wall time to account for
+ elapsed time. Useful for engine testing.
+
+ * #### UCI_Chess960
+ An option handled by your GUI. If true, Stockfish will play Chess960.
+
+ * #### UCI_AnalyseMode
+ An option handled by your GUI.
+
+ * #### SyzygyPath
+ Path to the folders/directories storing the Syzygy tablebase files. Multiple
+ directories are to be separated by ";" on Windows and by ":" on Unix-based
+ operating systems. Do not use spaces around the ";" or ":".
+
+ Example: `C:\tablebases\wdl345;C:\tablebases\wdl6;D:\tablebases\dtz345;D:\tablebases\dtz6`
+
+ It is recommended to store .rtbw files on an SSD. There is no loss in storing
+ the .rtbz files on a regular HD. It is recommended to verify all md5 checksums
+ of the downloaded tablebase files (`md5sum -c checksum.md5`) as corruption will
+ lead to engine crashes.
+
+ * #### SyzygyProbeDepth
+ Minimum remaining search depth for which a position is probed. Set this option
+ to a higher value to probe less agressively if you experience too much slowdown
+ (in terms of nps) due to TB probing.
+
+ * #### Syzygy50MoveRule
+ Disable to let fifty-move rule draws detected by Syzygy tablebase probes count
+ as wins or losses. This is useful for ICCF correspondence games.
+
+ * #### SyzygyProbeLimit
+ Limit Syzygy tablebase probing to positions with at most this many pieces left
+ (including kings and pawns).
+
+
+## What to expect from Syzygybases?
+
+If the engine is searching a position that is not in the tablebases (e.g.
+a position with 8 pieces), it will access the tablebases during the search.
+If the engine reports a very large score (typically 153.xx), this means
+that it has found a winning line into a tablebase position.
+
+If the engine is given a position to search that is in the tablebases, it
+will use the tablebases at the beginning of the search to preselect all
+good moves, i.e. all moves that preserve the win or preserve the draw while
+taking into account the 50-move rule.
+It will then perform a search only on those moves. **The engine will not move
+immediately**, unless there is only a single good move. **The engine likely
+will not report a mate score even if the position is known to be won.**
+
+It is therefore clear that this behaviour is not identical to what one might
+be used to with Nalimov tablebases. There are technical reasons for this
+difference, the main technical reason being that Nalimov tablebases use the
+DTM metric (distance-to-mate), while Syzygybases use a variation of the
+DTZ metric (distance-to-zero, zero meaning any move that resets the 50-move
+counter). This special metric is one of the reasons that Syzygybases are
+more compact than Nalimov tablebases, while still storing all information
+needed for optimal play and in addition being able to take into account
+the 50-move rule.
+
+## Large Pages
+
+Stockfish supports large pages on Linux and Windows. Large pages make
+the hash access more efficient, improving the engine speed, especially
+on large hash sizes. Typical increases are 5..10% in terms of nps, but
+speed increases up to 30% have been measured. The support is
+automatic. Stockfish attempts to use large pages when available and
+will fall back to regular memory allocation when this is not the case.
+
+### Support on Linux
+
+Large page support on Linux is obtained by the Linux kernel
+transparent huge pages functionality. Typically, transparent huge pages
+are already enabled and no configuration is needed.
+
+### Support on Windows
+
+The use of large pages requires "Lock Pages in Memory" privilege. See
+[Enable the Lock Pages in Memory Option (Windows)](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-the-lock-pages-in-memory-option-windows)
+on how to enable this privilege. Logout/login may be needed
+afterwards. Due to memory fragmentation, it may not always be
+possible to allocate large pages even when enabled. A reboot
+might alleviate this problem. To determine whether large pages
+are in use, see the engine log.
+
+## Compiling Stockfish yourself from the sources
+
+Stockfish has support for 32 or 64-bit CPUs, certain hardware
+instructions, big-endian machines such as Power PC, and other platforms.
+
+On Unix-like systems, it should be easy to compile Stockfish
+directly from the source code with the included Makefile in the folder
+`src`. In general it is recommended to run `make help` to see a list of make
+targets with corresponding descriptions.
+
+```
+ cd src
+ make help
+ make build ARCH=x86-64-modern
+```
+
+When not using the Makefile to compile (for instance with Microsoft MSVC) you
+need to manually set/unset some switches in the compiler command line; see
+file *types.h* for a quick reference.
+
+When reporting an issue or a bug, please tell us which version and
+compiler you used to create your executable. These informations can
+be found by typing the following commands in a console:
+
+```
+ ./stockfish
+ compiler
+```