刚刚很高兴的结束了硬件平台搭建,结果开始在ubuntu18.04下按照getting start按照vulkan-sdk。
一共2种方法:1.直接update下载源,然后下载。2.下载完sdk后解压后运行。
结果方法1提示我要安装很多lib,我不高兴。于是用方法2解析后运行命令,结果提示bin格式不正确。
突然有点不好的预感。再仔细看看官方安装教程
https://vulkan.lunarg.com/doc/sdk/1.1.130.0/linux/getting_started_ubuntu.html
结果注意到sdk支持的ubuntu 18.04为64-bit。“The Vulkan SDK supports versions 18.04 (64-bit) and 16.04 (64-bit) of Ubuntu,”它为什么不写成only support呢!天哪,我的ubuntu 18.04是32bit的
对于其他的linux版本,需要自己构建,源代码路径也给出了,但是暂时对我来说有点折腾,所以将其搁置。虽然我也知道将来若放入开发板也需要我自己构建^V^
所以嵌入式开发上使用vulkan暂时搁置。因为那么多要编译的,万一编译过程中有问题就很浪费时间,我的主要关注点还是应用vulkan api而已。另外之后我还要稍微学习下opengl,所以今后考虑将opengl放入ubuntu及嵌入式开发板。
2020/1/18日17:00更新。故事还没有讲完。
一波三折,由于我看到时间还早只有13:00点,所以我想尝试下编译,当一个个从git clone下来后,看了提示需要cmake3.10以上版本,而我看了下我的版本是3.5,所以我用一般的ubuntu卸载包的方法准备卸载,结果不成功,网上搜索了下有直接安装新版本然后更新软链接的。我以前用过觉得麻烦,所以搜索到了简单的命令就是sudo autoremove cmake,结果感觉不正常,很多软件都被删除了。网上搜索了下autoremove是不能乱用了,会把内核文件都删除导致无法启动的。
一,重装ubuntu 18.04 64 bit
算了我还是重新装下ubuntu吧,正好另外一台64 bit的PC是win7的,运行很慢,准备重装。结果重装的时候没有选择删除原来的win7,直接在分配空间,导致我其实是双系统,但是又把efi分区删除导致ubuntu也无法正常安装,系统也无法正常启动。然后就一直在搜索如何恢复efi分区,并且了解了下efi分区的作用,就是类似一个bootloader。
问题1:不小心装成双系统
由于我不想用双系统,所以我应该是删除原系统只安装ubuntu的,用了这样的选择项,ubuntu18.04正常安装,并且正常启动。在这个过程中我也发现,原来我32bit的ubuntu版本是16.04并不是18.04,这可能也是我上午装vulkan-sdk不成功的原因。
二,正式实验
一切准备条件都满足了:ubuntu18.04 64 bit,下载了sdk包。按官方教程运行命令
sudo apt-get update
sudo apt-get dist-upgrade
cd ~
mkdir vulkan
cd vulkan
tar xf $HOME/Downloads/vulkansdk-linux-x86_64-1.1.xx.y.tar.gz
source ~/vulkan/1.1.xx.y/setup-env.sh
运行命令看vulkan效果
vulkaninfo
问题2:提示failed with ERROR_INCOMPATIBLE_DRIVER。
网上搜索下需要安装支持vulkan的驱动。
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install mesa-vulkan-drivers vulkan-utils
再次运行vulkaninfo命令,成功显示信息。然后运行vkcube验证环境安装。大功告成!
之后再搭建下cmake编译环境即可。