cuInit(): no CUDA-capable device is detected on WSL2 The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali)
running device query:
./deviceQuery Starting...

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "NVIDIA GeForce RTX 3080 Ti"
  CUDA Driver Version / Runtime Version          12.2 / 12.2
  CUDA Capability Major/Minor version number:    8.6
  Total amount of global memory:                12288 MBytes (12884377600 bytes)
  (80) Multiprocessors, (128) CUDA Cores/MP:    10240 CUDA Cores
  GPU Max Clock rate:                            1665 MHz (1.66 GHz)
  Memory Clock rate:                            9501 Mhz
  Memory Bus Width:                              384-bit
  L2 Cache Size:                                6291456 bytes
  Maximum Texture Dimension Size (x,y,z)        1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:              65536 bytes
  Total amount of shared memory per block:      49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                    32
  Maximum number of threads per multiprocessor:  1536
  Maximum number of threads per block:          1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                            512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                    Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:      Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device supports Compute Preemption:            Yes
  Supports Cooperative Kernel Launch:            Yes
  Supports MultiDevice Co-op Kernel Launch:      No
  Device PCI Domain ID / Bus ID / location ID:  0 / 1 / 0
  Compute Mode:
    < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.2, CUDA Runtime Version = 12.2, NumDevs = 1, Device0 = NVIDIA GeForce RTX 3080 Ti
Result = PASS

running hashcat -I:
hashcat -I
hashcat (v6.2.6) starting in backend information mode

cuInit(): no CUDA-capable device is detected

OpenCL Info:

OpenCL Platform ID #1
  Vendor..: The pocl project
  Name....: Portable Computing Language
  Version.: OpenCL 3.0 PoCL 4.0+debian  Linux, None+Asserts, RELOC, SPIR, LLVM 15.0.7, SLEEF, DISTRO, POCL_DEBUG

  Backend Device ID #1
    Type...........: CPU
    Vendor.ID......: 128
    Vendor.........: GenuineIntel
    Name...........: cpu-haswell-13th Gen Intel(R) Core(TM) i7-13700KF
    Version........: OpenCL 3.0 PoCL HSTR: cpu-x86_64-pc-linux-gnu-haswell
    Processor(s)...: 24
    Clock..........: 3417
    Memory.Total...: 13851 MB (limited to 2048 MB allocatable in one block)
    Memory.Free....: 6893 MB
    Local.Memory...: 2048 KB
    OpenCL.Version.: OpenCL C 1.2 PoCL
    Driver.Version.: 4.0+debian

Sun Sep 24 13:55:35 2023
| NVIDIA-SMI 525.125.06  Driver Version: 537.42      CUDA Version: 12.2    |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|        Memory-Usage | GPU-Util  Compute M. |
|                              |                      |              MIG M. |
|  0  NVIDIA GeForce ...  On  | 00000000:01:00.0  On |                  N/A |
|  0%  59C    P8    66W / 350W |  1011MiB / 12288MiB |      1%      Default |
|                              |                      |                  N/A |

| Processes:                                                                  |
|  GPU  GI  CI        PID  Type  Process name                  GPU Memory |
|        ID  ID                                                  Usage      |
|    0  N/A  N/A      100      G  /Xwayland                      N/A      |
It seems you're encountering an issue with CUDA on WSL2 with The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) Linux.
To resolve this problem, you can follow these steps:

1. Check Your WSL2 Configuration:
  - Ensure that you have WSL2 properly installed and configured on your Windows machine.
  - Make sure you have the necessary drivers for your GPU installed on your Windows host machine.

2. Update The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) Linux:
  - Open your The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) Linux terminal.
  - Run the following commands to update your The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) Linux distribution:
sudo apt update
sudo apt upgrade

3. Install NVIDIA Drivers for WSL:
  - Install the NVIDIA drivers for WSL by running the following commands:
    sudo apt install nvidia-driver

4. Reboot Your System:
  - After installing the drivers, reboot your computer to ensure the changes take effect.

5. Verify CUDA Installation:
  - After rebooting, open your The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) Linux terminal again and verify that CUDA is installed correctly:
    nvcc --version

6. Check CUDA Device:
  - To check if CUDA-capable devices are detected, you can run:

  - If no devices are detected, it's possible that your GPU is not compatible with WSL2 or there may be a configuration issue on your Windows host.

7. WSL2 Configuration File:
  - Ensure that the `.wslconfig` file on your Windows host is properly configured to support GPU acceleration. You can create or modify this file in your user directory (`C:\Users\<your_username>\.wslconfig`). An example configuration for GPU support might look like this:
    memory=4GB  # Your preferred memory allocation
    processors=2 # Your preferred CPU allocation

8. Check WSL2 Version:
  - Make sure you are using WSL2. You can check the WSL version by running:
    wsl --list --verbose

9. WSL2 Kernel Update:
  - Ensure that you are using the latest WSL2 kernel. You can update it from the [Microsoft WSL GitHub repository](

10. Come back to Forum:
  - If you've followed these steps and are still facing issues, I can't help you anymore. Maybe someone else can.