Skip to main content

Troubleshooting Hashwarp on Windows

Step-by-step guide to fix missing OpenCL issues when running Hashwarp on Windows.
If you’re trying to run Hashwarp on Windows and see errors like:
No OpenCL platforms found
No usable mining devices found
it usually means that Windows cannot locate the NVIDIA or AMD OpenCL runtime (nvopencl.dll or amdocl.dll) required for GPU mining. This guide explains both the automatic and manual ways to fix the issue.
Hashwarp includes an automated OpenCL registry repair script that fixes the issue for you.

Script: fix-opencl-icd.vbs

This VBScript automatically:
  1. Detects your Windows architecture (32-bit or 64-bit)
  2. Scans for AMD and NVIDIA OpenCL ICD libraries
  3. Backs up existing registry keys
  4. Registers missing OpenCL vendor entries for:
    • NVIDIA (nvopencl.dll, nvopencl64.dll, nvopencl32.dll)
    • AMD (amdocl*.dll)
  5. Confirms success and recommends rebooting

How to Use

  1. Locate fix-opencl-icd.vbs inside your Hashwarp release package.
  2. Right-click it and choose Run (it will self-elevate if needed).
  3. Follow the on-screen prompts:
    • Choose [N] NVIDIA, [A] AMD, or [B] Both.
    • If the script cannot find your OpenCL DLLs, paste the full paths when asked.
      Example path:
      C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_xxxxx\nvopencl64.dll
      
  4. When it confirms successful registration, reboot your PC.
  5. After reboot, run Hashwarp again — your GPU should now be detected.

Example registry entries created by the script

[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors]
"C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_d471cab2f241c3c2\nvopencl64.dll"=dword:00000000
"C:\Windows\System32\DriverStore\FileRepository\amdgpu.inf_amd64_abcdef1234567890\amdocl64.dll"=dword:00000000
The script is safe to use — it does not delete files, only repairs registry entries and keeps backups at:
%TEMP%\OpenCL_Vendors_64.reg
%TEMP%\OpenCL_Vendors_32.reg
If you prefer to fix things manually, continue below.

Manual Fix (Advanced)

Step 1 — Locate the OpenCL DLLs

Run PowerShell as Administrator, then execute:
Get-ChildItem -Path "C:\" -Filter "nvopencl*.dll" -Recurse -ErrorAction SilentlyContinue
Expected output (example):
C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_xxxxx\nvopencl64.dll
C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_xxxxx\nvopencl32.dll
If you find these files, note their exact folder paths — you’ll need them later.

Step 2 — Check if Registry Keys Are Missing

Still in PowerShell, run:
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Khronos\OpenCL\Vendors'
Get-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors'
If you see “The system was unable to find the specified registry key or value”, you’ll need to register them manually.

Step 3 — Manually Register the NVIDIA OpenCL ICD

Copy and run the following commands in Administrator PowerShell, replacing the paths with your actual ones from Step 1:
$icd64 = 'C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_xxxxx\nvopencl64.dll'
$icd32 = 'C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_xxxxx\nvopencl32.dll'

New-Item -Path 'HKLM:\SOFTWARE\Khronos' -Name 'OpenCL' -Force | Out-Null
New-Item -Path 'HKLM:\SOFTWARE\Khronos\OpenCL' -Name 'Vendors' -Force | Out-Null
New-Item -Path 'HKLM:\SOFTWARE\WOW6432Node\Khronos\OpenCL' -Name 'Vendors' -Force | Out-Null

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

New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors' `
  -Name $icd32 -PropertyType DWord -Value 0 -Force | Out-Null
Then reboot your PC.

Step 4 — Verify After Reboot

After restarting, run the following checks:
reg query "HKLM\SOFTWARE\Khronos\OpenCL\Vendors"
clinfo | Select-String "Device Name"
Expected output should include something like:
Platform Name: NVIDIA CUDA
Device Name: NVIDIA GeForce RTX 4090
If you see this, OpenCL is working — Hashwarp should now detect your GPU correctly.

Step 5 — Optional: Reinstall the Full Game Ready Driver

If the manual fix doesn’t persist after a driver update, or fails to register, reinstall the Standard Game Ready Driver:
  1. Go to NVIDIA Driver Downloads
  2. Choose Custom (Advanced)Perform a clean installation
This reinstalls and registers the OpenCL ICD automatically.

Alternative Option — Install CUDA Toolkit Instead

If you don’t want to reinstall your NVIDIA drivers, you can instead install the NVIDIA CUDA Toolkit. The CUDA Toolkit package includes the required nvopencl.dll and registers the OpenCL runtime automatically during setup.
If after installing CUDA Toolkit the OpenCL runtime is still not registered, re-do steps 1, 3 and 4.
This method is often quicker and safer if your GPU drivers are already up to date and working fine for gaming or other workloads.

Final Check

Now you can run Hashwarp again:
hashwarp -P http://127.0.0.1:8545
If everything was successful, you should see output like:
m  15:42:12|hashwarp  Mining on GPU #0: 32.5MH/s
Your GPU is now recognized and mining successfully on Parallax.