Как установить Vulkan на MacOS BigSur, который работает на Mac Mini с чипом M1?

У меня Mac Mini M1 с BigSur ОС. Я пытаюсь запустить программу, которая открывает окно из Vulkan учебника. Я скачал последнюю версию Vulkan и следил за учебником Vulkan, как настроить его на XCode. Я скопировал файлы в другое место, как было предложено, но когда я дошел до того, чтобы связать библиотеки, я не могу найти libvulkan.1.dylib в указанном месте, и, очевидно, я получаю сообщение об ошибке при запуске программы, что библиотека отсутствует: dyld: Library not loaded: @rpath/libvulkan.1.dylib. Я видел, что вы можете установить его с помощью sudo ./install_vulkan.py или просто ./install_vulkan.py из терминала, но я получаю эту ошибку:

Copying /Users/username/VulkanSDK/macOS/lib/cmake/SPVRemapperTargets.cmake to /usr/local/lib/cmake/vulkan
Traceback (most recent call last):
  File "./install_vulkan.py", line 141, in <module>
    main()
  File "./install_vulkan.py", line 120, in main
    os.mkdir(os.path.split(absolute_copy_files[key]["Dest"])[0])
OSError: [Errno 2] No such file or directory: '/usr/local/lib/cmake'`.

Я искал путь /usr/local/lib/cmake, но внутри пути /usr/local/ нет /lib.

Я так понимаю, что в BigSur пути изменены и я видел куда устанавливаются пакеты через Homebrew. Похоже, новый путь по умолчанию — /opt/Homebrew, если я не ошибаюсь. Проблема, я думаю, в том, что ./install_vulkan.py не знает об этих изменениях по сравнению с MacOS BigSur.

У кого-нибудь есть подобные проблемы с путями в новом MacOS?


person s_diaconu    schedule 20.01.2021    source источник
comment
Работает ли vkcube.app из SDK?   -  person Andrew Tomazos    schedule 20.01.2021
comment
@AndrewTomazos, это хороший вопрос. Да, vkcube и vkcubepp из каталога Applications работают.   -  person s_diaconu    schedule 20.01.2021
comment
На самом деле я не использую install_vulkan.py, вы можете просто скопировать нужные вам файлы туда, куда вы хотите. Там не много. Если вы изучите каталог vkcube.app, вы увидите, что вам нужно связать для выполнения.   -  person Andrew Tomazos    schedule 20.01.2021
comment
Как я сказал в начале. Моей первой попыткой было просто скопировать файлы после открытия vulkansdk-macos-1.2.162.1.dmg. В туториале говорится связать libvulkan.1.dylib и libvulkan.1.x.xx.dylib с vulkansdk/macOS/lib. Проблема в том, что я вообще не могу найти libvulkan.1.dylib. Я пробовал более старые версии, но то же самое. Я посмотрел, есть ли скрытый файл, но это не так. Я не могу найти его нигде.   -  person s_diaconu    schedule 20.01.2021
comment
Эммм, libvulkan.1.dylib определенно есть в SDK. Я найду путь.   -  person Andrew Tomazos    schedule 21.01.2021
comment
Это под ${SDKDMG}/macOS/lib. Ммм, после того, как вы смонтируете DMG, он находится под /Volumes/, внутри должен быть macOS/lib. ?   -  person Andrew Tomazos    schedule 21.01.2021
comment
Проверьте еще раз, если его там нет, единственное, что я могу подумать, это то, что GateKeeper удаляет его как вредоносное ПО или что-то в этом роде.   -  person Andrew Tomazos    schedule 21.01.2021
comment
Я думаю, что это GateKeeper, поскольку я помню, что у меня была эта проблема на предыдущем Mac на базе Intel. Я пытался отключить его, но в терминале я получаю это сообщение: Class SPExecutionPolicy is implemented in both /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy and /usr/sbin/spctl. One of the two will be used. Which one is undefined.. Теперь мне нужно понять, как я могу отключить его, независимо от того, где находится реализация. В любом случае спасибо за помощь.   -  person s_diaconu    schedule 21.01.2021
comment
Каким-то образом мне удалось отключить Gatekeeper, я скачал разные версии Vulkan, но так и не нашел libvulkan.1.dylib. Я обнаружил, что это работает, если я устанавливаю Vulkan с ./install_vulkan.py, но все еще указываю библиотеки в другое место. Например, без установки vkconfig от ${SDKDMG}/Applications жалуется, что не может найти Vulkan Layers. Что мне не хватает? Почему в документации написано, что работает без установки? Что-то изменилось в BigSur? В учебнике ничего не говорится об установке. Хорошо работает в конце концов.   -  person s_diaconu    schedule 21.01.2021


Ответы (1)


Мы изменили документацию, начиная с версии 1.2.162.0 VulkanSDK, чтобы прямо указать, что вы должны использовать sudo при запуске ./install_vulkan.py. Это необходимо, потому что программе нужно создать нужные папки. Технически вы можете обойтись без sudo, если вы установили и используете homebrew, который также создает эти папки.

Что касается пропавшего vulkan.1.dylib, то это для меня загадка. Это символическая ссылка на реальную библиотеку, поэтому, возможно, что-то пошло не так при извлечении файла .dmg или копировании содержимого. Вы также можете напрямую ссылаться на саму библиотеку (libvulkan1.2.162.dylib, если вы используете последнюю версию SDK) и вообще не использовать символическую ссылку.

person Richard S. Wright Jr.    schedule 21.01.2021
comment
Для меня также является загадкой отсутствие библиотеки libvulkan.1.dylib, но пока она работает, я не буду жаловаться. В папке установки его тоже нет. Когда у меня возникла ошибка при установке с sudo или без него, я просто создал отсутствующие каталоги, не уверен, почему их там не было, так как я предполагаю, что установочный файл для Vulkan знает структуру MacOs, поэтому я подозреваю, что это как-то связано с BigSur и/или M1 chip, но мое предположение не доказано. - person s_diaconu; 23.01.2021