From b5a71dca588f3b546240bd75e73a047e42e64bdf Mon Sep 17 00:00:00 2001 From: jsteube Date: Wed, 11 May 2016 11:38:52 +0200 Subject: [PATCH] Add more informative help text in case of faulty or no OpenCL installation --- docs/changes.txt | 2 +- docs/readme.txt | 2 +- src/ext_OpenCL.c | 15 ++++++++++++++- src/hashcat.c | 9 ++++++++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index a703d4a..33c49ee 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -11,7 +11,7 @@ It combines all features of all hashcat projects in one project. - Support for Apple OpenCL runtime - Support for NVidia OpenCL runtime (replaces CUDA) -- Support for Mesa/Clover OpenCL runtime +- Support for Mesa (Gallium) OpenCL runtime - Support for pocl OpenCL runtime - Support for Khronos' OSS OpenCL reference implementation for building - Support to utilize OpenCL devices-types other than GPU, ex: CPU and FPGA diff --git a/docs/readme.txt b/docs/readme.txt index 886cd8f..437ecda 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -221,7 +221,7 @@ NVidia users require NVidia drivers 346.59 or later (recommended 361.x or later) - AMD Catalyst - Apple - Intel -- Mesa/Clover +- Mesa (Gallium) - NVidia ForceWare - pocl diff --git a/src/ext_OpenCL.c b/src/ext_OpenCL.c index f43815a..79eb656 100644 --- a/src/ext_OpenCL.c +++ b/src/ext_OpenCL.c @@ -79,7 +79,20 @@ int ocl_init (OCL_PTR *ocl) if (ocl->lib == NULL) { - log_error ("ERROR: cannot load opencl library"); + log_info (""); + log_info ("ATTENTION! Can't find OpenCL ICD loader library"); + log_info (""); + #if defined (LINUX) + log_info ("You're probably missing the \"ocl-icd-libopencl1\" package (Debian/Ubuntu)"); + log_info (" sudo apt-get install ocl-icd-libopencl1"); + log_info (""); + #elif defined (WIN) + log_info ("You're probably missing the OpenCL runtime installation"); + log_info (" AMD users require AMD drivers 14.9 or later (recommended 15.12 or later)"); + log_info (" Intel users require Intel OpenCL Runtime 14.2 or later (recommended 15.1 or later)"); + log_info (" NVidia users require NVidia drivers 346.59 or later (recommended 361.x or later)"); + log_info (""); + #endif exit (-1); } diff --git a/src/hashcat.c b/src/hashcat.c index d5c9aa0..ee26530 100644 --- a/src/hashcat.c +++ b/src/hashcat.c @@ -12548,7 +12548,14 @@ int main (int argc, char **argv) if (platforms_cnt == 0) { - log_error ("ERROR: No OpenCL compatible platform found"); + log_info (""); + log_info ("ATTENTION! No OpenCL compatible platform found"); + log_info (""); + log_info ("You're probably missing the OpenCL runtime installation"); + log_info (" AMD users require AMD drivers 14.9 or later (recommended 15.12 or later)"); + log_info (" Intel users require Intel OpenCL Runtime 14.2 or later (recommended 15.1 or later)"); + log_info (" NVidia users require NVidia drivers 346.59 or later (recommended 361.x or later)"); + log_info (""); return (-1); } -- 2.25.1