Vulkan在linux上找不到物理设备

时间:2016-07-13 15:48:43

标签: windows ubuntu graphics driver vulkan

我一直想与新的图形API Vulkan一起工​​作,并且已经在Windows 7上运行并且没有任何问题。但是我不能让Vulkan在linux上工作。当我尝试运行任何LunarG示例,甚至我自己的代码时,<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(function () { $("input[name='cod']").click(function () { if ($("#chkYes").is(":checked")) { $("#dvPassport").show(); } else { $("#dvPassport").hide(); } }); }); </script> <form method ="post"> <label for="chkYes"> <input type="radio" id="chkYes" name="cod" /> COD </label> <br/> <label for="chkNo"> <input type="radio" id="chkNo" name="cod" /> E-Wallet </label> <hr /> <button type="submit" name="submit1" value="submit">Submit</button> </form> <div id="dvPassport" style="display: none"> <input type="text" id="txtPassportNumber" /> </div> <?php echo $com; echo $grand_total; if(isset($_POST['submit'])) { if($grand_total <= $com) { $com = $com - $grand_total; $sql1 = mysqli_query($conn,"UPDATE commission SET total_commission=$com WHERE e_id = '".$_SESSION["e_id"]."'"); echo $com; $total_pay = $com; echo $total_pay; } else { $newcom = $grand_total - $com; $sql2 = mysqli_query($conn,"UPDATE commission SET total_commission=$newcom WHERE e_id = '".$_SESSION["e_id"]."'"); $total_pay = $newcom; echo $total_pay; } } ?> 总是说没有物理设备。这是我的设置:

vkEnumeratePhysicalDevices

我想知道是否有我的GPU的文件需要设置环境变量,但我真的不知道。正如我之前所说,这完全适用于Windows 7,但我似乎无法通过上述配置来实现这一点。我能够使用LunarG标准验证层和正确的扩展创建实例,但OS: Ubuntu 16.04 (LTS) [x64] GPU: Nvidia Geforce GT 730 2GB GDDR5 Driver: NVIDIA Binary driver - version 364.19 from nvidia-364 (open source) Vulkan SDK: LunarG v1.0.17.0 [ latest version] 找不到任何物理设备。它没有给出错误,只是说它找不到任何物理设备。这真让我难过,我真的很感激帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

根据您的发行版,您可能需要安装nvidia-utils包。请参阅this issue on my Vulkan repo for details

如果不是这种情况,请查看Karl提到的目录,并检查是否没有可能导致麻烦的其他ICD(可能是英特尔的ICD)。如果您使用的是具有双GPU的optimus系统,则可能需要明确激活NVIDIA GPU。

730应该可以在Linux上运行良好,至少从我在我的数据库上获得的Linux硬件报告来判断this one

答案 1 :(得分:0)

如果驱动程序安装正确,您不必设置环境变量。

检查正确安装的一种方法是查找标识驱动程序的JSON文件。例如,nvidia驱动程序会在nvidia_icd.json中放置一个名为/etc/vulkan/icd.d/的文件。 /usr/share/vulkan/icd.d/是另一个标准,但不常见的位置。

也可能是您的GPU不支持Vulkan。请务必检查GPU供应商的网页以确认支持。您可能希望直接从供应商的网站下载驱动程序,以获得他们认为具有Vulkan支持的驱动程序。

你确定使用&#34;附加驱动程序&#34;页面应该给你一个Vulkan驱动程序?

您可以参考https://vulkan.lunarg.com的文档部分中的加载程序文档以获取更多信息。