> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parallaxprotocol.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Common Hashwarp problems and what to do about them, and what to do when Hashwarp finds no GPU on Windows.

## Common problems

| Problem | What to do |
| - | - |
| `No usable mining devices found` | Hashwarp found no GPU it can mine with: see [No GPU found on Windows](#no-gpu-found-on-windows) below. On Linux, install the NVIDIA driver (525 or newer) or AMD's driver with OpenCL (ROCm) |
| `Wrong result, lower the overclock if it happens often` | Lower the memory overclock of that GPU, then check it with `hashwarp --selftest` |
| Rejected shares with a `low difficulty` reason | The pool may need another Stratum flavour: try `--esm` (see [Pool Mining](/hashwarp/pool-mining#stratum-flavours)) |
| The pool keeps disconnecting | Check the pool's address and port, and `--tls` for a TLS port. `--log-debug json` shows the messages exchanged with the pool |
| `Epoch N needs ...` and the GPU paused | The GPU doesn't have enough free memory for the DAG. Close other programs using the GPU |
| The hashrate drops to 0 and the GPU shows `paused` | A temperature limit was reached: see the warning above it, and [Safety](/hashwarp/safety#temperatures) |
| The hashrate swings a lot | Something else uses the GPU: a desktop, a browser, a video. Mine on GPUs without a display where you can |
| `--mem-temp-stop has no effect` | The GPU reports no memory or hotspot temperature: see [Safety](/hashwarp/safety#temperatures) |
| Overclocking says `needs root` | Run Hashwarp with `sudo` on Linux, or as administrator on Windows |
| `Rusticl warning` or `pci id for fd` lines at start (Linux) | Printed by Mesa's OpenCL driver, harmless. On NVIDIA-only rigs mine with `--cuda`, or set `OCL_ICD_VENDORS` to the vendor's `.icd` file (e.g. `nvidia.icd`) |
| TLS pools fail with a certificate error | Install your distribution's CA certificates (`ca-certificates`), or set `SSL_CERT_FILE` to a CA bundle |

When asking for help, run `hashwarp --list-devices` and include its output, your command line or configuration (without your address if you prefer), and the lines around the problem from the log (`--log-file hashwarp.log`).

***

## No GPU found on Windows

If Hashwarp stops at start with:

```
Error: No usable mining devices found
```

it found no GPU it can mine with. Run `hashwarp --list-devices` to see which GPUs it detects, then follow the section for your GPU.

***

### NVIDIA GPUs

Hashwarp mines on NVIDIA GPUs with **CUDA**, which needs only the NVIDIA driver:

1. Install or update the driver from [NVIDIA Driver Downloads](https://www.nvidia.com/Download/index.aspx): version **525 or newer**.
2. Reboot, then run `hashwarp --list-devices` again.

If the driver is too old, Hashwarp says so when it starts: `The NVIDIA driver supports CUDA ... only: update it to version 525 or newer`.

<Note>
  Older Hashwarp versions mined on NVIDIA GPUs with OpenCL, and needed the OpenCL runtime to be registered in Windows. Hashwarp 2.0 doesn't: on NVIDIA you don't need the steps below.
</Note>

***

### AMD GPUs

Hashwarp mines on AMD GPUs with **OpenCL**. The AMD driver (Adrenalin) installs the OpenCL runtime (`amdocl64.dll`) and registers it so programs can find it. When Hashwarp doesn't find an AMD GPU, the driver install is usually damaged:

1. Download the current driver from [AMD Drivers and Support](https://www.amd.com/en/support/download/drivers.html).
2. Install it with **Factory Reset** selected, which removes the previous installation first.
3. Reboot, then run `hashwarp --list-devices` again.

If the GPU is still missing, the OpenCL runtime may not be registered. You can register it by hand, as below.

***

### Registering the OpenCL runtime by hand (advanced)

#### Step 1 — Locate the OpenCL DLL

Run **PowerShell as Administrator**, then execute:

```powershell theme={null} theme={null}
Get-ChildItem -Path "C:\Windows\System32\DriverStore\FileRepository" -Filter "amdocl64.dll" -Recurse -ErrorAction SilentlyContinue
```

Expected output (example):

```
C:\Windows\System32\DriverStore\FileRepository\u0123456.inf_amd64_xxxxx\B012345\amdocl64.dll
```

Note the full path: you'll need it in Step 3. If the file isn't there, the driver isn't installed correctly: reinstall it as above.

***

#### Step 2 — Check if the registry key is missing

Still in PowerShell, run:

```powershell theme={null} theme={null}
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Khronos\OpenCL\Vendors'
```

If the output doesn't list the path from Step 1, or you see **"Cannot find path"**, register it in Step 3.

***

#### Step 3 — Register the OpenCL runtime

Run the following in **Administrator PowerShell**, with the path from Step 1:

```powershell theme={null} theme={null}
$icd = 'C:\Windows\System32\DriverStore\FileRepository\u0123456.inf_amd64_xxxxx\B012345\amdocl64.dll'

New-Item -Path 'HKLM:\SOFTWARE\Khronos\OpenCL' -Name 'Vendors' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Khronos\OpenCL\Vendors' `
  -Name $icd -PropertyType DWord -Value 0 -Force | Out-Null
```

Then **reboot your PC**.

<Warning>
  Driver updates can move the DLL to a new folder. If the GPU disappears after an update, repeat these steps with the new path, or reinstall the driver with Factory Reset.
</Warning>

***

#### Step 4 — Verify after reboot

```powershell theme={null} theme={null}
reg query "HKLM\SOFTWARE\Khronos\OpenCL\Vendors"
```

The output should list the path of `amdocl64.dll` with the value `0x0`.

***

### Final check

Now you can run Hashwarp again:

```bash theme={null} theme={null}
hashwarp --list-devices
```

If everything was successful, your GPU is listed. Start mining as usual, and Hashwarp prints its hashrate every 10 seconds:

```
15:42:12  INFO  miner  115.42 MH/s · 60s 115.43 · 15m 116.18 · A20 · 71°C · fan 53% · 377 W · 306 kH/J
```

Your GPU is now recognized and mining on Parallax.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.