macOS, eGPU detected but cannot be used.
#1
hashcrack 6.2.5, I've tried installing it with homebrew as well as compiling it from source; same issue.

Mac is a MacBook Pro 13" 2017, connected to a Razer Core (X?) via Thunderbolt. Inside it is an AMD Vega 64.




Code:
~/Downloads/hashcat-6.2.5  $ hashcat -I hashcat (v6.2.5) starting in backend information mode OpenCL Info: ============ OpenCL Platform ID #1   Vendor..: Apple   Name....: Apple   Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)   Backend Device ID #1     Type...........: CPU     Vendor.ID......: 8     Vendor.........: Intel     Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz     Version........: OpenCL 1.2     Processor(s)...: 4     Clock..........: 3100     Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)     Memory.Free....: 8160 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.1   Backend Device ID #2     Type...........: GPU     Vendor.ID......: 8     Vendor.........: Intel Inc.     Name...........: Intel(R) Iris(TM) Plus Graphics 650     Version........: OpenCL 1.2     Processor(s)...: 48     Clock..........: 1050     Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)     Memory.Free....: 704 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2(Feb 16 2022 20:39:05)   Backend Device ID #3     Type...........: GPU     Vendor.ID......: 1     Vendor.........: AMD     Name...........: AMD Radeon RX Vega 64 Compute Engine     Version........: OpenCL 1.2     Processor(s)...: 56     Clock..........: 1630     Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)     Memory.Free....: 8064 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2 (Feb 16 2022 20:32:57)





Commands always fail with the same error:




Code:
$ hashcat -d 3 -m 1000 -b hashcat (v6.2.5) starting in benchmark mode Benchmarking uses hand-optimized kernel code by default. You can use it in your cracking session by setting the -O option. Note: Using optimized kernel code limits the maximum supported password length. To disable the optimized kernel code in benchmark mode, use the -w option. No devices found/left. Started: Sat Apr  9 20:10:15 2022 Stopped: Sat Apr  9 20:10:15 2022



I've tried -D as well, same error. Also, this happens with device #2 as well.

Any insight is appreciated.
Reply
#2
(04-10-2022, 05:13 AM)machone Wrote: hashcrack 6.2.5, I've tried installing it with homebrew as well as compiling it from source; same issue.

Mac is a MacBook Pro 13" 2017, connected to a Razer Core (X?) via Thunderbolt. Inside it is an AMD Vega 64.




Code:
~/Downloads/hashcat-6.2.5  $ hashcat -I hashcat (v6.2.5) starting in backend information mode OpenCL Info: ============ OpenCL Platform ID #1   Vendor..: Apple   Name....: Apple   Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)   Backend Device ID #1     Type...........: CPU     Vendor.ID......: 8     Vendor.........: Intel     Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz     Version........: OpenCL 1.2     Processor(s)...: 4     Clock..........: 3100     Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)     Memory.Free....: 8160 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.1   Backend Device ID #2     Type...........: GPU     Vendor.ID......: 8     Vendor.........: Intel Inc.     Name...........: Intel(R) Iris(TM) Plus Graphics 650     Version........: OpenCL 1.2     Processor(s)...: 48     Clock..........: 1050     Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)     Memory.Free....: 704 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2(Feb 16 2022 20:39:05)   Backend Device ID #3     Type...........: GPU     Vendor.ID......: 1     Vendor.........: AMD     Name...........: AMD Radeon RX Vega 64 Compute Engine     Version........: OpenCL 1.2     Processor(s)...: 56     Clock..........: 1630     Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)     Memory.Free....: 8064 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2 (Feb 16 2022 20:32:57)





Commands always fail with the same error:




Code:
$ hashcat -d 3 -m 1000 -b hashcat (v6.2.5) starting in benchmark mode Benchmarking uses hand-optimized kernel code by default. You can use it in your cracking session by setting the -O option. Note: Using optimized kernel code limits the maximum supported password length. To disable the optimized kernel code in benchmark mode, use the -w option. No devices found/left. Started: Sat Apr  9 20:10:15 2022 Stopped: Sat Apr  9 20:10:15 2022



I've tried -D as well, same error. Also, this happens with device #2 as well.

Any insight is appreciated.

If you compiled from source you should be using ./Hashcat command.
Reply
#3
(04-10-2022, 04:57 PM)CheeseMachine Wrote:
(04-10-2022, 05:13 AM)machone Wrote: hashcrack 6.2.5, I've tried installing it with homebrew as well as compiling it from source; same issue.

Mac is a MacBook Pro 13" 2017, connected to a Razer Core (X?) via Thunderbolt. Inside it is an AMD Vega 64.




Code:
~/Downloads/hashcat-6.2.5  $ hashcat -I hashcat (v6.2.5) starting in backend information mode OpenCL Info: ============ OpenCL Platform ID #1   Vendor..: Apple   Name....: Apple   Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)   Backend Device ID #1     Type...........: CPU     Vendor.ID......: 8     Vendor.........: Intel     Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz     Version........: OpenCL 1.2     Processor(s)...: 4     Clock..........: 3100     Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)     Memory.Free....: 8160 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.1   Backend Device ID #2     Type...........: GPU     Vendor.ID......: 8     Vendor.........: Intel Inc.     Name...........: Intel(R) Iris(TM) Plus Graphics 650     Version........: OpenCL 1.2     Processor(s)...: 48     Clock..........: 1050     Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)     Memory.Free....: 704 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2(Feb 16 2022 20:39:05)   Backend Device ID #3     Type...........: GPU     Vendor.ID......: 1     Vendor.........: AMD     Name...........: AMD Radeon RX Vega 64 Compute Engine     Version........: OpenCL 1.2     Processor(s)...: 56     Clock..........: 1630     Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)     Memory.Free....: 8064 MB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2 (Feb 16 2022 20:32:57)





Commands always fail with the same error:




Code:
$ hashcat -d 3 -m 1000 -b hashcat (v6.2.5) starting in benchmark mode Benchmarking uses hand-optimized kernel code by default. You can use it in your cracking session by setting the -O option. Note: Using optimized kernel code limits the maximum supported password length. To disable the optimized kernel code in benchmark mode, use the -w option. No devices found/left. Started: Sat Apr  9 20:10:15 2022 Stopped: Sat Apr  9 20:10:15 2022



I've tried -D as well, same error. Also, this happens with device #2 as well.

Any insight is appreciated.

If you compiled from source you should be using ./Hashcat command.

In both cases where I used homebrew to install it as well as compiling it from source (after removing the Homebrew-installed copy of course), the binary goes into a $PATH'd directory. So no, I don't think so.
Reply
#4
Apple dropped Opencl support, opencl 1.2 is way to old and on windows machines opencl 1.2 resulting in a very long init time

for your Vega mac is a BSD fork but i think this also apply, you will need a supported driver backend for your graphicscard.

AMD GPUs on Linux require "RadeonOpenCompute (ROCm)" Software Platform (3.1 or later)

its like cuda for nvidia, apple i believe is using something called METAL?
Reply
#5
(04-11-2022, 11:06 AM)Snoopy Wrote: Apple dropped Opencl support, opencl 1.2 is way to old and on windows machines opencl 1.2 resulting in a very long init time

for your Vega mac is a BSD fork but i think this also apply, you will need a supported driver backend for your graphicscard.

AMD GPUs on Linux require "RadeonOpenCompute (ROCm)" Software Platform (3.1 or later)

its like cuda for nvidia, apple i believe is using something called METAL?

Interesting. I did see on the Hashcat website that a driver would be required but I only found instructions for Linux and Windows, not macOS although macOS was distinctly mentioned elsewhere. So I wasn't sure. I also looked to follow the Linux instructions (since as you say, macOS runs Darwin), and I wasn't clear about how to get them installed on my platform.

It looks like in some cases people have made it work, but it's not always clear how: https://hashcat.net/forum/thread-8136-po...l#pid43823

https://hashcat.net/forum/thread-8525.ht...t=mac+egpu
Reply
#6
did you used this tutorial for compiling from source?

https://gist.github.com/chadmayfield/600...t_macos-sh

if yes, well im sry, i didnt have access to a mac to test it
Reply
#7
(04-12-2022, 09:55 AM)Snoopy Wrote: did you used this tutorial for compiling from source?

https://gist.github.com/chadmayfield/600...t_macos-sh

if yes, well im sry, i didnt have access to a mac to test it

Yes, but I think I've just solved my issue. Looks like on macOS you have to specify the device as well as the device type:

Code:
~/Dev/hashcat$ /hashcat -I hashcat (v6.2.5-384-g2e148a216) starting in backend information mode Metal Info: =========== Metal.Version.: 212.8 Backend Device ID #1   Type...........: GPU   Vendor.ID......: 2   Vendor.........: Apple   Name...........: AMD Radeon RX Vega 64   Processor(s)...: 1   Clock..........: N/A   Memory.Total...: 8176 MB (limited to 3584 MB allocatable in one block)   Memory.Free....: 8064 MB   Local.Memory...: 32 KB   Phys.Location..: connected via an external interface (port 4)   Feature.Set....: macOS GPU Family 2 v1   Registry.ID....: 1422   Max.TX.Rate....: 40000000 MB/sec   GPU.Properties.: headless 0, low-power 0, removable 1 Backend Device ID #2   Type...........: GPU   Vendor.ID......: 2   Vendor.........: Apple   Name...........: Intel(R) Iris(TM) Plus Graphics 650   Processor(s)...: 1   Clock..........: N/A   Memory.Total...: 1536 MB (limited to 1024 MB allocatable in one block)   Memory.Free....: 704 MB   Local.Memory...: 32 KB   Phys.Location..: built-in   Feature.Set....: macOS GPU Family 2 v1   Registry.ID....: 1388   Max.TX.Rate....: N/A   GPU.Properties.: headless 0, low-power 1, removable 0 OpenCL Info: ============ OpenCL Platform ID #1   Vendor..: Apple   Name....: Apple   Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)   Backend Device ID #3     Type...........: CPU     Vendor.ID......: 8     Vendor.........: Intel     Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz     Version........: OpenCL 1.2     Processor(s)...: 4     Clock..........: 3100     Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)     Memory.Free....: 8160 MB     Local.Memory...: 32 KB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.1   Backend Device ID #4     Type...........: GPU     Vendor.ID......: 8     Vendor.........: Intel Inc.     Name...........: Intel(R) Iris(TM) Plus Graphics 650     Version........: OpenCL 1.2     Processor(s)...: 48     Clock..........: 1050     Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)     Memory.Free....: 704 MB     Local.Memory...: 64 KB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2(Feb 16 2022 20:39:05)   Backend Device ID #5     Type...........: GPU     Vendor.ID......: 1     Vendor.........: AMD     Name...........: AMD Radeon RX Vega 64 Compute Engine     Version........: OpenCL 1.2     Processor(s)...: 56     Clock..........: 1630     Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)     Memory.Free....: 8064 MB     Local.Memory...: 32 KB     OpenCL.Version.: OpenCL C 1.2     Driver.Version.: 1.2 (Feb 16 2022 20:32:57) ~/Dev/hashcat$ ./hashcat -d 5 -D 2 -b -m 1000 hashcat (v6.2.5-384-g2e148a216) starting in benchmark mode Benchmarking uses hand-optimized kernel code by default. You can use it in your cracking session by setting the -O option. Note: Using optimized kernel code limits the maximum supported password length. To disable the optimized kernel code in benchmark mode, use the -w option. * Device #5: Apple's OpenCL drivers (GPU) are known to be unreliable.             You have been warned. METAL API (Metal 212.8) ======================= * Device #1: AMD Radeon RX Vega 64, skipped * Device #2: Intel(R) Iris(TM) Plus Graphics 650, skipped OpenCL API (OpenCL 1.2 (Aug 11 2021 00:46:43)) - Platform #1 [Apple] ==================================================================== * Device #3: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz, skipped * Device #4: Intel(R) Iris(TM) Plus Graphics 650, skipped * Device #5: AMD Radeon RX Vega 64 Compute Engine, 8064/8176 MB (2044 MB allocatable), 56MCU Benchmark relevant options: =========================== * --backend-devices=5 * --opencl-device-types=2 * --optimized-kernel-enable ----------------------- * Hash-Mode 1000 (NTLM) ----------------------- Speed.#5.........: 35297.6 MH/s (24.94ms) @ Accel:64 Loops:1024 Thr:256 Vec:1 Started: Tue Apr 12 01:21:58 2022 Stopped: Tue Apr 12 01:22:07 2022

More info here: https://github.com/hashcat/hashcat/issues/3060
Reply