How to use algo/coin switching capability
If you already set up everything for normal mining, there is only a few more things left to do.
There are 2 types of algo switching supported :


Proxy or pool controlled
This means the mining pool or proxy (software between your miner and the pool) decides what algo should be mined.
For example Monero Ocean pools support auto algo switching based on profitability. You can read everything about it on their FAQ page.

You can also use software which allows you to change the mining algorithm with a simple mouse click. One example is Hesido's Cryptonote Proxy tool.


Manually controlled
In this mode the user sets the algorithm (cryptonight_type) for every pool he has in pools.txt.
When manually changing pools (by pressing 'o' or 'p'), miner will automatically re-init with the algo he set in pools.txt for that particular pool.
This also means you can set failover pools using any of the supported algorithms.


Steps that are common for both switching types:

1. You can edit the file 'algos.txt', which contains entries for every algo you want the pool to send you jobs for (if using pool controlled switching). If you are using the manually controlled algo switching, setting up this file is important because of the various configurations that every algo has. The 'hashrate' parameter in this case isn't used.

algos.txt looks like this when you download the miner :

              {
"algos" :
[
{
"algo" : "normalv8",
"config" : "Config\\config-normalv8.txt",
"hashrate" : 1,
"startup_script": ""
},
{
"algo" : "normalv7",
"config" : "Config\\config-normalv7.txt",
"hashrate" : 1,
"startup_script": ""
},
{
"algo" : "heavy",
"config" : "Config\\config-heavy.txt",
"hashrate" : 1,
"startup_script": ""
},
{
"algo" : "haven",
"config" : "Config\\config-haven.txt",
"hashrate" : 1,
"startup_script": ""
},
.
.
.
.
. and so on
]
}

You need to edit the 'hashrate' value if using pool controlled switching, and 'startup_script' if you are going to use it. (you can read what it is for under this text)
Also if you want, you can fully customize configs for every algo. You can find them in the 'Config' folder.

Short explanation of parameters in algos.txt:

+ "config" expects a filename to a config file where you set up everything for a specific algo (config-normalv8.txt is for CNV8 as you can guess). So on every new algo switch SRBMiner will initialize settings specific for that algo.

+ "hashrate" is a parameter where you should write the total hashrate of your rig (in H/S) for that specific algo (you can easily find it out by running a benchmark for example). This field is used by the pool in calculating what is the most profitable algo for you to mine.

+ "startup_script" can be used to run a script (batch file) before miner starts. You can for example set clocks, voltages, etc. specific to that algo


You can easily benchmark the hashrates by running benchmark-algos.bat or by typing this into a command prompt:
              SRBMiner-CN.exe --benchmarkalgos
            

This process will take a few minutes, and when finished it will create a file benchmark_results.txt with the hashrate for every algo you benchmarked.
Now you need to take and copy-paste those values into algos.txt under the right algorithm section.
The benchmarking procedure should be used only if using pool controlled algo switching.


2. There is a 'pools-algoswitch.txt' file where i predefined a few pools on Monero Ocean (algo switching pool), where i put my donation address as an example wallet, so you should change this wallett address to your own.

If you are using the manually controlled pool switching, then you would define your own pools here.
You just need to add one new parameter (cryptonight_type) to each pool entry.

Here is an example how it could look like:
              {
"pools" :
[
{"pool" : "pool_1_address", "wallet" : "pool_1_wallet", "password" : "x", "cryptonight_type" : "haven"},
{"pool" : "pool_2_address", "wallet" : "pool_2_wallet", "password" : "x", "cryptonight_type" : "normalv8"},
{"pool" : "pool_3_address", "wallet" : "pool_3_wallet", "password" : "x", "cryptonight_type" : "heavy"},
{"pool" : "pool_4_address", "wallet" : "pool_4_wallet", "password" : "x", "cryptonight_type" : "fast"}
]
}
Now that you have algos.txt and pools-algoswitch.txt set up, start the miner by running start-algo-switching.bat


It is VERY IMPORTANT to use config files here, and not set GPU's and pool in command line.
If you do so, miner will not start.

Also if you are using the pool controlled algo switching, DON'T set cryptonight_type for that pool, because you could get into an endless loop of algo switching :)


TIPS:
There are two algo switching modes available : with or without miner restart.

The 'miner restart' mode is recommended for Vega video cards, because they tend to drop mining speed on algo switching sometimes.
Using the 'miner restart mode' with the --resetvega parameter you are ensuring always maximum mining speeds.

Example:

              SRBMiner-CN.exe --config Config\config-normalv8.txt --pools pools-algoswitch.txt --usealgoswitching --resetmineronalgoswitch --resetvega