The check for opencl capability in john.py is incomplete. In addition to checking for john built-in opencl modules (john --list=formats), should also check for the system being properly configured for opencl with "john --list=opencl-devices". If there are no usable devices, john will provide the following response: "Error: No OpenCL-capable platforms were detected by the installed OpenCL driver.
Error: No OpenCL-capable devices were detected by the installed OpenCL driver."
The actual check should then test for both of these being functional / available.
Implement something similar to the below after the john available format check and add an additional check to the opencl check:
"opencl_dev_stdout = Process(['john', '--list=opencl-devices']).stdout()"
The check for opencl capability in john.py is incomplete. In addition to checking for john built-in opencl modules (john --list=formats), should also check for the system being properly configured for opencl with "john --list=opencl-devices". If there are no usable devices, john will provide the following response: "Error: No OpenCL-capable platforms were detected by the installed OpenCL driver.
Error: No OpenCL-capable devices were detected by the installed OpenCL driver."
The actual check should then test for both of these being functional / available.
Implement something similar to the below after the john available format check and add an additional check to the opencl check:
"opencl_dev_stdout = Process(['john', '--list=opencl-devices']).stdout()"