### Install and Launch NiceHash QuickMiner (PowerShell) Source: https://context7.com/nicehash/nicehashquickminer/llms.txt This snippet demonstrates how to download, verify, extract, and launch NiceHash QuickMiner using PowerShell. It includes steps for verifying the ZIP package authenticity with SHA256 checksums and uninstalling previous versions. ```powershell # Download installer from GitHub releases # https://github.com/nicehash/NiceHashQuickMiner/releases # For ZIP installation, verify authenticity first using SHA256 certutil -hashfile NiceHash_QuickMiner_v0.6.13.0.zip SHA256 # Compare with published checksum in checksums/README.md # Extract to desired location Expand-Archive -Path NiceHash_QuickMiner_v0.6.13.0.zip -DestinationPath C:\NiceHashQuickMiner # Launch the miner C:\NiceHashQuickMiner\NiceHashQuickMiner.exe # Uninstall previous version (if needed) NiceHashQuickMiner.exe --uninstall ``` -------------------------------- ### Configure XMRig CPU Load Hint in nhqm.conf Source: https://github.com/nicehash/nicehashquickminer/wiki/Troubleshooting This snippet shows how to modify the `nhqm.conf` file to adjust the CPU load hint for XMRig, allowing for higher CPU utilization during mining. It involves changing the `CPUMinerELP` parameter. ```json { "CPUMinerELP": "--cpu-max-threads-hint 100 --print-time 15" } ``` -------------------------------- ### Set Memory Timings in NiceHash QuickMiner Source: https://github.com/nicehash/nicehashquickminer/wiki/Memory-timings This JSON structure demonstrates how to set specific memory timings for a GPU using the `device.set.memory.timings` method. It includes examples of setting multiple timings and other commands like resetting workers and printing efficiencies. This functionality is available from version 0.4.2.0 onwards and works on Pascal and Volta series GPUs. ```json [ { "time": 0, "commands": [{ "id": 1, "method": "device.set.memory.timings", "params": ["0", "FAW=16", "RRD=4"] }] }, { "time": 20, "commands": [{ "id": 1, "method": "workers.reset.all", "params": [] }] }, { "time": 30, "loop": 30, "commands": [{ "id": 1, "method": "worker.print.efficiencies", "params": [] }] }, { "time": 1, "loop": 4, "commands": [{ "id": 1, "method": "devices.smartfan.exec", "params": [] }] }, { "event": "on_quit", "commands": [] }, { "event": "on_quickminer.start", "commands": [] }, { "event": "on_quickminer.stop", "commands": [] }] ``` -------------------------------- ### Configure OCTune JavaScript for Remote Access (v0.4.1.3) Source: https://github.com/nicehash/nicehashquickminer/wiki/OCTune Modify the `url` variable in the `octune.js` file to point to the mining rig's local IP address and port. This ensures that the OCTune interface connects to the correct Excavator instance. Administrator privileges are required if NiceHash QuickMiner is installed in Program Files. ```javascript var url = "http://192.168.1.22:18000/"; ``` -------------------------------- ### Get GPU Memory Timings Source: https://github.com/nicehash/nicehashquickminer/wiki/Memory-timings Retrieves the current memory timings for each GPU device. This includes whether the timings are editable and the specific values for each timing parameter. ```APIDOC ## GET /devices/get ### Description Retrieves detailed information about all connected GPU devices, including their current memory timings. ### Method GET ### Endpoint `/devices/get` ### Parameters None ### Request Example ```json { "example": "No request body needed for GET request." } ``` ### Response #### Success Response (200) - **gpu_memory_timings** (object) - Contains the memory timing information for a specific GPU. - **bEditable** (boolean) - Indicates if the timings for this GPU are editable. - **timings** (object) - An object containing key-value pairs of the memory timing parameters and their current values. #### Response Example ```json { "gpu_memory_timings": { "bEditable": false, "timings": { "RC": 78, "RFC": 210, "RAS": 52, "RP": 26, "CFG0_R0": 0, "CL": 24, "WL": 5, "RD_RCD": 26, "WR_RCD": 16, "CFG1_R0": 25, "RPRE": 0, "WPRE": 1, "CDLR": 9, "WR": 27, "W2R_BUS": 7, "R2W_BUS": 7, "PDEX": 12, "PDEN2PDEX": 2, "FAW": 16, "AOND": 0, "CCDL": 2, "CCDS": 2, "REFRESH_LO": 5, "REFRESH": 4, "RRD": 4, "DELAY0": 20, "CFG4_R0": 28, "ADR_MIN": 6, "CFG5_R0": 0, "WRCRC": 16, "CFG5_R1": 0, "OFFSET0": 39, "DELAY0_MSB": 0, "OFFSET1": 13, "OFFSET2": 7, "DELAY01": 12 } } } ``` ``` -------------------------------- ### Configure OCTune Launch Command for Remote Access (v0.4.1.3) Source: https://github.com/nicehash/nicehashquickminer/wiki/OCTune Edit the `nhqm.conf` file to include the `-wi` flag with the mining rig's local IP in the `launchCommandLine`. This is necessary for OCTune to accept remote connections. Administrator privileges may be required to modify the file. ```ini "launchCommandLine" : "-qx -qm -wp 18000 -d 2 -f 0 -wi 192.168.1.22" ``` -------------------------------- ### Configure Logging Levels and Command Line Source: https://context7.com/nicehash/nicehashquickminer/llms.txt Sets the verbosity of log output and configures the Excavator launch command line for detailed logging. This is crucial for diagnosing mining problems. ```json { "fileLogLevel": 0, "launchCommandLine": "-qx -qm -wp 18000 -d 2 -f 0" } ``` -------------------------------- ### Modify Excavator Launch Command in nhqm.conf Source: https://github.com/nicehash/nicehashquickminer/wiki/Troubleshooting This snippet demonstrates how to update the `launchCommandLine` in `nhqm.conf` to include the `-g` switch for Excavator. This is used to prevent potential DAG corruption by managing memory clock settings during DAG generation, though it's not generally recommended. ```json { "launchCommandLine": "-qx -qm -d 2 -f 6 -g" } ``` -------------------------------- ### Enable RC Updates Configuration Source: https://context7.com/nicehash/nicehashquickminer/llms.txt This configuration snippet shows how to enable Release Candidate (RC) updates for NiceHash QuickMiner. By setting the `bUpdateRCVersion` parameter to `true` in the `nhqm.conf` file, users can opt-in to receive pre-release versions for testing. ```json { "bUpdateRCVersion": true } ``` -------------------------------- ### Configure OCTune API Host for LAN/VPN Access (v0.4.5.0+) Source: https://github.com/nicehash/nicehashquickminer/wiki/OCTune Modify the `nhqm.conf` file to set the `watchDogAPIHost` to your mining rig's local IP address. This allows OCTune to be accessed from other machines on the same LAN or VPN. Ensure NiceHash QuickMiner is restarted after the change. ```ini "watchDogAPIHost" : "192.168.1.22" ``` -------------------------------- ### NiceHash QuickMiner Configuration File (nhqm.conf) Source: https://context7.com/nicehash/nicehashquickminer/llms.txt This JSON configuration file defines various settings for NiceHash QuickMiner, including mining address, worker name, service location, logging, command-line arguments for the miner, watchdog API details, CPU miner parameters, and device speed thresholds. ```json { "miningAddress": "34HKWdzLxWBduUfJE9JxaFhoXnfC6gmePG", "workerName": "MyRig01", "serviceLocation": -1, "bUpdateRCVersion": false, "fileLogLevel": 2, "launchCommandLine": "-qx -qm -wp 18000 -d 2 -f 6", "watchDogAPIHost": "localhost", "watchDogAPIAuth": "your-auth-token-here", "CPUMinerELP": "--cpu-max-threads-hint 50 --print-time 15", "whenDeviceSpeedTooHigh": 2, "whenDeviceSpeedZero": 2, "whenNoDevices": 1, "maxDeviceSpeed": 300, "overrideDisplayDeviceUUID": null, "optimizeProfilesCustomDataURL": null } ``` -------------------------------- ### OCTune Web Interface Source: https://context7.com/nicehash/nicehashquickminer/llms.txt The OCTune web interface provides a graphical way to manage GPU overclocking settings. It can be accessed locally and supports authorization for write operations. Key metrics for monitoring include UMed KT, HW ok, HW err, Speed, Power Real, and Efficiency. ```APIDOC ## OCTune Web Interface ### Description Provides a web-based GPU overclocking interface accessible at `http://localhost:18000/octune/octune.html`. Authorization token is required for write access. ### URL Structure `http://localhost:18000/octune/octune.html?auth=YOUR_AUTH_TOKEN` ### Key Metrics to Monitor - **UMed KT**: Upper Median Kernel Time (Target lowest possible value) - **HW ok**: Accepted shares count (should increase) - **HW err**: Hardware errors (should stay at 0) - **Speed (MH/s)**: Mining hashrate - **Power Real (W)**: Actual power consumption - **Eff. (kH/J)**: Efficiency in kilohashes per joule ### Alternative Overclocking (RTX 2000/3000 series) Requires `core_clock_limit` and `memory_clock_absolute`. #### Request Body ```json { "core_clock_limit": 1350, // Absolute max core clock (MHz) "memory_clock_absolute": 7950 // Absolute memory clock (MHz) } ``` ### Recommended Memory Clocks by GPU - **3060 Ti/3070**: 7900 MHz (delta +1100) - **3080**: 10300 MHz (delta +850) - **3090**: 10350 MHz (delta +850) ### Enable LAN/VPN Access Edit `nhqm.conf` to configure `watchDogAPIHost` and `launchCommandLine`. #### Configuration Example ```json { "watchDogAPIHost": "192.168.1.22", "launchCommandLine": "-qx -qm -wp 18000 -d 2 -f 0 -wi 192.168.1.22" } ``` ``` -------------------------------- ### Configure CPU Mining Load Hint in nhqm.conf Source: https://github.com/nicehash/nicehashquickminer/wiki/FAQ This snippet shows how to modify the `nhqm.conf` file to set the CPU mining load hint for XMRig. By adjusting the `--cpu-max-threads-hint` parameter, users can control the percentage of CPU cores XMRig will utilize, impacting mining performance and resource consumption. ```json { "CPUMinerELP":"--cpu-max-threads-hint 50 --print-time 15", ... } ``` -------------------------------- ### Structure of a NiceHash Optimization Profile Source: https://context7.com/nicehash/nicehashquickminer/llms.txt Custom optimization profiles are defined in JSON format, specifying algorithm compatibility, device-specific settings, and various overclocking parameters. These profiles can be loaded from local files or URLs. ```json // optimize/data_010.json structure { "data_version": 9, "iteration": 1, "op_names": [ { "id": 1, "name": "Lite" }, { "id": 2, "name": "Medium" }, { "id": 3, "name": "High" }, { "id": 4, "name": "Extreme" }, { "id": 11, "name": "Efficient" }, { "id": 101, "name": "Enterprise" } ], "algo_profiles": [{ "validfor": [ { "name": "daggerhashimoto" }, { "name": "etchash" } ], "devices": [ { "name": "GeForce RTX 3090", "op": [ { "id": 4, "pt": 0, "dmc": 1500, "mcc": 1200, "fm": 3, "ftg": 50, "ftr": 74 }, { "id": 3, "pt": 0, "dmc": 1200, "mcc": 1140, "fm": 3, "ftg": 56, "ftr": 90 }, { "id": 2, "pt": 0, "dmc": 800, "mcc": 1065, "fm": 3, "ftg": 58, "ftr": 94 }, { "id": 1, "pt": 0, "dmc": -400, "mcc": 945, "fm": 3, "ftg": 62, "ftr": 94 } ] } ] }] } // Profile type (pt) meanings: // 0: Delta clock mode (dmc = delta memory clock, mcc = max core clock) // 1: Power limit mode (dcc = delta core clock, pl = power limit watts) // 2: Voltage curve mode (mcc = max core clock, mcv = max core voltage) // 4/5: AMD specific modes (mmc = max memory clock, mcv = max core voltage) // Other properties: // fm: Fan mode (2=auto curve, 3=target temp) // ftg: Fan target GPU temp // ftr: Fan target VRAM temp (for GDDR6X cards) // mt: Memory timings array [["FAW","16"],["RRD","4"]] // rm: Required memory vendor ("Samsung", "Micron", "Hynix") // Load custom profile via nhqm.conf: { "optimizeProfilesCustomDataURL": "D:\\nhqm\\optimize\\data_010.json" } ```