vulkan是类似opengl这样的封装层,或者叫中间层,用于屏蔽不同类型GPU的差异,向上层应用程序提供统一的接口,用过Java SDK或者其他中间件做过开发的很好理解这个概念,所以vulkan也有自己的vulkan SDK,LunarXchange提供了Windows、Linux、Mac和Android等版本的SDK,不过Linux版的SDK只有X86版本的,所以Jetson这种arm64版的得自己下载源码编译:

对于GPU的支持vulkan的driver, NVIDIA对其GPU提供了vulkan driver,以便于使用vulkan开发的程序能通过vulkan访问NVIDIA的GPU。用于Jetson平台序列的板子的JetPack里都已安装好了vulkan driver,无需手工安装,而X86平台上则需要选择相关的GPU driver程序来安装,而且要注意的是NVIDIA的GPU driver不是随便哪个版本都含有支持vulkan的,这点很怪异,需要从这里去选择下载: https://developer.nvidia.com/vulkan-driver

点击Linux那个链接进入到这个页面可以看到,支持vulkan的只是特定的GPU driver版本:

所以如果X86机器上安装的不是这里列出的版本之一,安装vulkan sdk后,执行vulkaninfo时就会报类似这样的错:

/build/vulkan-UL09PJ/vulkan-1.1.70+dfsg1/demos/vulkaninfo.c:768: failed with VK_ERROR_INCOMPATIBLE_DRIVER

X86机器上下载上面的driver安装即可,对于Jetson平台,JetPack已经安装好了支持vulkan的driver,JetPack 4.5内含的是vulkank库版本是1.2.141,但是一般只提供有so库文件(/usr/lib/aarch64-linux-gnu/和/usr/lib/aarch64-linux-gnu/tegra/下),并没有头文件,所以当需要在Jetson板子上编译需要vulkan sdk的头文件和lib支持的程序的话,还得自己从 GitHub - KhronosGroup/Vulkan-Loader: Vulkan Loader下载源码,并按下面的步骤编译:

  1. 确保下面这些支持包已存在,否则执行下面这个命令安装:

    sudo apt-get update && sudo apt-get install git build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev cmake
  2. 下载和JetPack4.5里使用的版本一致的源码:git clone -b v1.2.141 GitHub - KhronosGroup/Vulkan-Loader: Vulkan Loader 或者下载最新版:git clone GitHub - KhronosGroup/Vulkan-Loader: Vulkan Loader
  3. cd Vulkan-Loader && mkdir build && cd build
  4. ../scripts/update_deps.py
  5. cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/Vulkan-Headers/build/install ..
  6. make
  7. cd Vulkan-Headers
  8. ln -s ../loader lib

当在Jetson板子上编译其他程序,例如ncnn,需要用到vulkan sdk时,设置对应的环境变量指向include和lib所在的父目录即可:

export VULKAN_SDK=/home/ubuntu/Vulkan-Loader/build/Vulkan-Headers

在一个没有vulkan的环境,假如只是使用vulkan不需要编译环境,那么可以直接安装sdk即可,例如在Ubuntu下,执行下面的命令即可安装vulkan sdk:

wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list
sudo apt update
sudo apt install vulkan-sdk

NVIDIA vulkan driver的安装和Jetson平台上vulkan sdk的制作相关推荐

  1. NVIDIA Jetson平台上TensorRT加速YOLOV3,V4及V5系列参考例程分享

    我的Jetson *Jenson Nano: Jetpack4.4 CUDA10.2 cuDNN8.0 OpenCV4.1 TensorRT7.1 *Jenson Xavier NX:Jetpack4 ...

  2. [NVIDIA] Ubuntu 16.04 安装 nvidia-384 + cuda-9.0

    租的腾讯云 GPU 主机,因为要安装 nvidia-384 + cuda-9.0,所以选择系统 Ubuntu 16.04. CUDA,NVIDIA Driver 之间的版本对应关系表格 文章目录 安装 ...

  3. nvidia驱动卸载与安装

    参考了:Ubuntu 卸载 Nvidia 驱动和安装最新驱动_WMSmile的博客-CSDN博客_ubuntu 卸载nvidia驱动 1 完全卸载驱动: sudo apt-get --purge re ...

  4. linux 显卡驱动无法安装程序,我就纳闷了,Linux下Nvidia显卡驱动一直安装失败

    我就纳闷了,Linux下Nvidia显卡驱动一直安装失败 发布时间:2009-12-21 15:19:22来源:红联作者:zhanghui625 今天 刚计划着把Linux的知识复习一下, 结果就出问 ...

  5. 01. Ubuntu下安装nvidia显卡驱动(安装方式简单)

    文章目录 第一步 获取显卡型号 第二步 查看GTX970M显卡驱动 第三步 查询支持GTX970M显卡的显卡驱动的其他驱动版本 第四步 安装 第五步 测试nvidia driver是否安装成功 环境 ...

  6. ubuntu16.04安装英伟达(NVIDIA)驱动——run文件安装

    ubuntu16.04安装英伟达(NVIDIA)驱动--run文件安装 去官网http://www.nvidia.com/Download/index.aspx?lang=en-us选择显卡驱动 中文 ...

  7. linux eth0 device not found,nVidia集成驱动已经安装了,但是Device not found,我的网卡怎么用呢?...

    nVidia集成驱动已经安装了,但是Device not found,我的网卡怎么用呢? (2011-08-23 22:42:12) 标签: 杂谈 nVidia集成驱动已经安装了,但是Device n ...

  8. 【BIM入门实战】Win11平台上Revit 2018_x64简体中文版图文安装与卸载完整教程

    Win11平台上Revit 2018_x64简体中文版图文安装与卸载完整版教程. [扩展阅读]:[BIM]Revit2018项目模板.族库图文安装教程 1. Revit 2018安装 断开网络连接,双 ...

  9. 91Android万能驱动最新版,NVIDIA万能驱动电脑版下载|NVIDIA万能驱动官方安装版下载 -爱安卓...

    NVIDIA万能驱动,NVIDIA万能驱动电脑版下载,NVIDIA万能驱动官方安装版下载NVIDIA日前发布了最新公版驱动下载,可确保用户获得最佳的游戏体验,驱动程序还提供了针对各种不同游戏的性能提升 ...

最新文章

  1. 16-acrobat por 简单使用指南
  2. 『中级篇』k8s基础网络Cluster Network(66)
  3. python医学科研中能做什么-非结构化数据-病历智能处理引擎的设计、实现和应用...
  4. linux服务器oracle数据库导出dmp文件功能演示,备份数据库命令。exp命令显示command not found解决方法,EXP-00028: 无法打开dmp进行写入问题解决
  5. 论文公式编号右对齐_公式对齐(二):公式居中,编号右对齐(MathType 6.9)
  6. Zdenek Kalal的TLD Tracker(牛啊,学习!)
  7. java基础—网络编程——TCP客户端与服务端交互
  8. BZOJ 3925: [Zjoi2015]地震后的幻想乡(概率)
  9. 30个超实用Python代码片段
  10. MySQL数据库开发的三十六条军规
  11. 如何正确预防网页中的5种“隐形杀手”
  12. 方案:计算机软件单元测试(GB/T 15532-1995)
  13. 简单Python爬虫实例:抓取豆瓣热映电影信息
  14. Google Earth导入GPS设备NMEA文本数据
  15. js数组操作方法 concat
  16. Android资源,国内镜像站点,博客文章等
  17. ESP8266模块睡眠模式
  18. 索尼xz Android 内存,首发Android 9.0索尼新旗舰XZ2P曝光:搭载骁龙845处理器和6GB内存...
  19. C#中使用属性及get,set访问private字段和直接用public修饰字段的对比和理解
  20. hadoop实现自动打包并提交到集群(完全自动)

热门文章

  1. 【数据结构】最大曼哈顿距离
  2. pause容器作用_kubernetes中的Pause容器如何理解?
  3. JS And Vue代码调试——IDEA+JS+vue-devtools-dev+JetBrains IDE Support(Chrome插件)
  4. matlab的积分函数
  5. 张国荣5周年祭辰 张学友梁朝伟等红馆唱悼哥哥
  6. 7 款基于 HTML5 Canvas 的超炫 3D 动画效果
  7. 信贷业务:常用风险指标
  8. Mac 屏幕色温一直变化
  9. 机器学习7——线性回归
  10. Python编程中的常见语句