【问题标题】:How should I set the Vulkan SDK environment variables?我应该如何设置 Vulkan SDK 环境变量?
【发布时间】:2016-06-10 20:18:35
【问题描述】:

Linux Getting Started Guide for the Vulkan SDK 提供了设置运行时环境以允许应用程序查看本地 Vulkan SDK 安装的说明:

设置 VULKAN_SDK 变量后,在您的环境中设置这些变量:

$ export PATH=$PATH:$VULKAN_SDK/bin
$ export LD_LIBRARY_PATH=$VULKAN_SDK/lib
$ export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d

我应该如何处理这些命令?目前我只是把它们放在我的~/.bashrc 文件的末尾:

$ tail -4 ~/.bashrc
VULKAN_SDK=~/vulkan/VulkanSDK/1.0.13.0/x86_64
export PATH=$PATH:$VULKAN_SDK/bin
export LD_LIBRARY_PATH=$VULKAN_SDK/lib
export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d

到目前为止,这似乎有效,但这不只是在 Bash 中设置变量吗?如果我使用不同的 shell 或 IDE 怎么办?

这是我应该设置 Vulkan SDK 环境变量的方式,还是有更好的方式?

【问题讨论】:

    标签: linux environment-variables vulkan


    【解决方案1】:

    1.0.13.0 之前的 SDK 版本用于将定义层的 json 文件复制到 /etc/vulkan/explicit_layer.d。这减少了设置 VK_LAYER_PATH 的必要性。

    从 1.0.13.0 开始,SDK 不再将文件放入系统目录。因此,不要使用 VK_LAYER_PATH 指向 $VULKAN_SDK/etc/explicit_layer.d 中的 json 文件,而是可以将 $VULKAN_SDK/etc/explicit_layer.d 的内容复制到 ~/.local/share/vulkan/explicit_layer.d。

    除了 /etc/vulkan/explicit_layer.d 和 /usr/share/vulkan/explicit_layer.d 之外,Vulkan 加载程序还在 ~/.local/share/vulkan/explicit_layer.d 中搜索层

    【讨论】:

    • 所以这消除了在~/.bashrc 中设置VK_LAYER_PATH 的需要,对吗?有什么方法可以消除设置LD_LIBRARY_PATH 的需要吗? (我尝试删除 export PATH=$PATH:$VULKAN_SDK/bin 部分,它似乎没有破坏任何东西,所以我想这没有必要?)
    • 是的,这样就不需要设置VK_LAYER_PATH。不利的一面是,如果您安装了新的 SDK,您需要记住将 json 文件重新复制到您的 .local。也许 .local 中的符号链接可以避免这种情况。是的,您仍然需要设置LD_LIBRARY_PATH,除非您将二进制文件复制到默认加载程序路径中的某个位置。 “安装”二进制文件的一种替代方法是编辑每个 json 文件,将完整路径名放在 library_path 成员中。
    • 而且您不需要修改您的PATH,除非您想调用$VULKAN_SDK/bin 目录中的任何可执行文件,例如vulkaninfo。
    • 好的,谢谢!很高兴得到来自 LunarG 的人的回答。 :)
    【解决方案2】:

    设置环境变量的最佳位置很大程度上取决于您的用例以及您使用的发行版。 但是,如果您从 Ubuntu 桌面运行 IDE,并且希望这些变量在全局范围内可用,我建议您将它们放在 ~/.profile 文件中,而不是 ~/.bashrc。

    ~/.bashrc 是在您启动 bash 终端时获取的,因此仅适用于从终端运行的工具,而不适用于从桌面启动器启动的工具。

    另一方面,

    ~/.profile 是在您登录时获取的,因此其变量可从终端和桌面全局使用。 但是,对于 ~/.profile,您必须注销并重新登录才能使更改生效。

    或者,正如棘轮怪胎所说,大多数(但不是全部)IDE 都提供了自己的工具来设置环境变量。这适用于 Code::Blocks 和 Qt Creator,但不适用于 Android Studio。所以,就我个人而言,我还是更喜欢将它们放在 ~/.profile 中。

    【讨论】:

      【解决方案3】:

      在 IDE 中,有一种方法可以为正在运行的程序设置环境变量。这些设置通常与命令行参数设置一起找到。

      在程序本身中,您可以在加载 vulkan 加载程序之前在 linux 中使用 setenv(3) 或在 windows 中使用 _putenv_s

      【讨论】:

      猜你喜欢
      • 2015-09-07
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2014-09-29
      • 2015-08-30
      • 1970-01-01
      相关资源
      最近更新 更多