Ошибка Manjaro/hashcat: clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR

Вопрос или проблема

Сейчас я на Manjaro.

Когда я запускаю hashcat, я получаю следующую ошибку:

clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR

Запуск hashcat с sudo дает ту же ошибку.

Погуглив ошибку, я узнал, что это обычно проблема с драйверами для видеокарт NVIDIA, поэтому я попробовал кое-что сделать с драйверами.

Вот информация о моей NVIDIA:

$ lspci -v | grep -i nvidia 
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1) 
        Используемый драйвер ядра: nvidia 
        Ядро модули: nouveau, nvidia_drm, nvidia 

При попытке установить драйвер с помощью mhwd я получаю следующую ошибку:

$ sudo mhwd -a pci nonfree 0300
> Пропуск уже установленной конфигурации 'video-hybrid-intel-nvidia-440xx-prime' для устройства: 0000:00:02.0 (0300:8086:591b) контроллер дисплея Intel Corporation HD Graphics 630

Я проверил установленные драйверы и подтвердил, что он установлен:

$ pacman -Qs nvidia 
local/lib32-nvidia-440xx-utils 440.64-1 
    Утилиты драйверов NVIDIA (32-бит) 
local/libvdpau 1.3-1 
    Библиотека Nvidia VDPAU 
local/linux54-nvidia-440xx 440.64-2 (linux54-extramodules) 
    Драйверы NVIDIA для linux. 
local/mhwd-nvidia-340xx 340.108-1 
    Идентификаторы модулей MHWD для nvidia 340.108 
local/mhwd-nvidia-390xx 390.132-1 
    Идентификаторы модулей MHWD для nvidia 390.132 
local/mhwd-nvidia-418xx 418.113-1 
    Идентификаторы модулей MHWD для nvidia-418xx 418.113 
local/mhwd-nvidia-430xx 430.64-1.0 
    Идентификаторы модулей MHWD для nvidia-430xx 430.64 
local/mhwd-nvidia-435xx 435.21-1.0 
    Идентификаторы модулей MHWD для nvidia 435.21 
local/mhwd-nvidia-440xx 440.64-1 
    Идентификаторы модулей MHWD для nvidia 440.64 
local/nvidia-440xx-utils 440.64-1 
    Утилиты драйверов NVIDIA 
local/nvidia-prime 1.0-1 
    Конфигурация и утилиты NVIDIA Prime Render Offload 

Когда я попытался удалить, казавшиеся ненужными, драйверы, я получил ошибки зависимостей:

$ sudo pacman -Rns local/mhwd-nvidia-340xx local/mhwd-nvidia-390xx local/mhwd-nvidia-418xx local/mhwd-nvidia-430xx local/mhwd-nvidia-435xx 
проверка зависимостей... 
error: не удалось подготовить транзакцию (невозможно удовлетворить зависимости) 
:: удаление mhwd-nvidia-340xx нарушает зависимость 'mhwd-nvidia-340xx', требуемую mhwd-db 
:: удаление mhwd-nvidia-390xx нарушает зависимость 'mhwd-nvidia-390xx', требуемую mhwd-db 
:: удаление mhwd-nvidia-418xx нарушает зависимость 'mhwd-nvidia-418xx', требуемую mhwd-db 
:: удаление mhwd-nvidia-430xx нарушает зависимость 'mhwd-nvidia-430xx', требуемую mhwd-db 
:: удаление mhwd-nvidia-435xx нарушает зависимость 'mhwd-nvidia-435xx', требуемую mhwd-db 

Конечно, mhwd-db нельзя удалить из-за mhwd.

Я проверил nvidia-settings, но не знаю, что именно мне нужно сделать здесь.

nvidia-settings

Я также видел упоминания о bumblebee, но я не уверен, нужно ли мне его использовать.

Как я могу исправить ошибку clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR?

Я знаю, что это очень поздний ответ, но у меня была такая же проблема, и я только что смог её исправить.

Чтобы запустить hashcat, вам нужны OpenCL и CUDA (если ваша видеокарта поддерживает это). У меня RTX 2070, и при установке cuda с:

sudo pacman -S cuda

Я смог выбрать пакет opencl, предназначенный для моего установленного драйвера. У меня установлена версия драйвера 455.x, и поэтому я выбрал вариант для opencl_nvidia-455xx.

После установки opencl и cuda все заработало нормально.

Ответ или решение

Ошибка clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR, возникающая при запуске программы hashcat на Manjaro, обычно свидетельствует о проблемах с установкой драйверов для графической карты NVIDIA или отсутствием необходимых библиотек OpenCL. Вот шаги, которые помогут вам устранить эту проблему.

1. Проверьте установленные драйверы NVIDIA

Сначала проверьте, корректно ли установлены драйверы для вашей видеокарты. Для этого выполните следующую команду:

lspci -v | grep -i nvidia

Согласно вашему выводу, драйвер nvidia уже загружен и используется. Однако важно удостовериться, что у вас установлены все необходимые пакеты для работы OpenCL.

2. Установите OpenCL

Чтобы hashcat работал корректно, вам необходимо установить OpenCL. Для этого выполните команду:

sudo pacman -S cuda

При установке вам будет предложено выбрать нужный пакет OpenCL, подходящий под вашу версию драйвера. Убедитесь, что вы выбираете соответствующий пакет, например, opencl_nvidia-440xx, если у вас версия драйвера 440.xx.

3. Переустановите или обновите драйверы

Иногда проблемы могут возникать из-за устаревших или неправильно установленных драйверов. Для переустановки драйверов используйте команду:

sudo mhwd -r pci video-hybrid-intel-nvidia-440xx-prime
sudo mhwd -a pci nonfree 0300

Это удалит текущие драйвера и установит их заново.

4. Конфигурация через nvidia-settings

Если после установки OpenCL проблема не исчезла, откройте nvidia-settings и убедитесь, что ваша видеокарта включена для использования. Можно также проверить настройки PRIME, если вы используете гибридный графический режим.

5. Убедитесь, что библиотеки OpenCL доступны

После выполнения всех этих шагов вы можете проверить, обнаружены ли платформы OpenCL с помощью команды:

clinfo

Если clinfo не установлен, вы можете установить его с помощью:

sudo pacman -S clinfo

6. Проверка установленных пакетов

Для окончательной проверки всех установленных пакетов NVIDIA и OpenCL, воспользуйтесь командой:

pacman -Qs nvidia

Убедитесь, что установлены все необходимые компоненты, такие как nvidia, nvidia-utils, и библиотека OpenCL, соответствующая вашему драйверу.

7. Используйте Bumblebee (если применимо)

Если вы используете ноутбук с поддержкой Optimus и параллельного использования интегрированной и дискретной графики, возможно, вам нужно настроить bumblebee. Он может помочь в управлении ресурсами графики и позволит использовать hashcat с вашей дискретной видеокартой.

Заключение

Следуя указанным шагам, вы должны устранить возникшую ошибку clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR и запустить hashcat без проблем. В случае, если проблема сохраняется, рассмотрите возможность изучения форумов и сообществ Manjaro и NVIDIA для получения дополнительной информации.

Оцените материал
Добавить комментарий

Капча загружается...