我目前正在使用 Manjaro。
當我運行時hashcat
,出現以下錯誤:
clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
運行hashcat
withsudo
會出現相同的錯誤。
在 google 上搜尋了該錯誤後,我發現這通常是 NVIDIA 顯示卡的驅動程式問題,因此我嘗試了一些驅動程式問題。
這是我的 NVIDIA 資訊:
$ lspci -v | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
嘗試使用安裝驅動程式時mhwd
,出現以下錯誤:
$ sudo mhwd -a pci nonfree 0300
> Skipping already installed config 'video-hybrid-intel-nvidia-440xx-prime' for device: 0000:00:02.0 (0300:8086:591b) Display controller Intel Corporation HD Graphics 630
我檢查了已安裝的驅動程式並確認已安裝:
$ pacman -Qs nvidia
local/lib32-nvidia-440xx-utils 440.64-1
NVIDIA drivers utilities (32-bit)
local/libvdpau 1.3-1
Nvidia VDPAU library
local/linux54-nvidia-440xx 440.64-2 (linux54-extramodules)
NVIDIA drivers for linux.
local/mhwd-nvidia-340xx 340.108-1
MHWD module-ids for nvidia 340.108
local/mhwd-nvidia-390xx 390.132-1
MHWD module-ids for nvidia 390.132
local/mhwd-nvidia-418xx 418.113-1
MHWD module-ids for nvidia-418xx 418.113
local/mhwd-nvidia-430xx 430.64-1.0
MHWD module-ids for nvidia-430xx 430.64
local/mhwd-nvidia-435xx 435.21-1.0
MHWD module-ids for nvidia 435.21
local/mhwd-nvidia-440xx 440.64-1
MHWD module-ids for nvidia 440.64
local/nvidia-440xx-utils 440.64-1
NVIDIA drivers utilities
local/nvidia-prime 1.0-1
NVIDIA Prime Render Offload configuration and utilities
當我嘗試卸載看似不必要的驅動程式時,出現依賴錯誤:
$ sudo pacman -Rns local/mhwd-nvidia-340xx local/mhwd-nvidia-390xx local/mhwd-nvidia-418xx local/mhwd-nvidia-430xx local/mhwd-nvidia-435xx
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing mhwd-nvidia-340xx breaks dependency 'mhwd-nvidia-340xx' required by mhwd-db
:: removing mhwd-nvidia-390xx breaks dependency 'mhwd-nvidia-390xx' required by mhwd-db
:: removing mhwd-nvidia-418xx breaks dependency 'mhwd-nvidia-418xx' required by mhwd-db
:: removing mhwd-nvidia-430xx breaks dependency 'mhwd-nvidia-430xx' required by mhwd-db
:: removing mhwd-nvidia-435xx breaks dependency 'mhwd-nvidia-435xx' required by mhwd-db
當然mhwd-db
是不能卸載的,因為mhwd
。
我查了一下nvidia-settings
,但不知道我到底該在這裡做什麼。
我也看到提到bumblebee
但我不確定是否應該使用它。
我該如何修復該錯誤clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
?
答案1
我知道這是一個很晚的答案,但我也遇到了同樣的問題,而且我只是能夠解決它。
要執行 hascat,您需要 OpenCL 和 CUDA(如果您的 GPU 支援)。我有一個 RTX 2070,安裝 cuda 時:
sudo pacman -S cuda
我可以選擇為我安裝的驅動程式設計的 opencl 軟體包。我安裝了 455.x 版本的驅動程序,因此我選擇了 opencl_nvidia-455xx 選項。
安裝opencl和cuda後一切正常。