2016-07-13 63 views
1

我一直想與Vulkan,新的圖形API一起工作,並在Windows 7上運行並沒有問題。然而,我無法讓Vulkan在linux上工作。當我嘗試運行任何LunarG樣本,甚至我自己的代碼時,vkEnumeratePhysicalDevices總是說沒有物理設備。這裏是我的設置:Vulkan無法在Linux上找到物理設備

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] 

我想知道是否也許有我的GPU,我需要設置一個環境變量文件,但我真的不知道。正如我之前所說的,這完全適用於Windows 7,但我似乎無法得到此工作以上配置。我能夠使用LunarG標準驗證層和正確的擴展名創建實例,但vkEnumeratePhysicalDevices找不到任何物理設備。它沒有給出錯誤,只是說它找不到任何物理設備。這真的讓我難住,我真的很感激這個幫助。謝謝!

+0

看起來像驅動程序沒有正確安裝。 –

+0

@ratchetfreak我使用「其他驅動程序」頁面來下載和安裝我的驅動程序,我認爲驅動程序安裝正確,但也許它沒有 – Jerfov2

回答

1

根據您的發行版,您可能需要安裝nvidia-utils包。見this issue on my Vulkan repo for details

如果不是這樣,請檢查Karl提到的目錄,並檢查是否沒有可能導致故障的其他ICD(可能是Intel的一個ICD)。如果您使用雙GPU的Optimus系統,則可能需要明確激活NVIDIA GPU。

730應該在Linux上正常工作,至少從我的數據庫上的Linux硬件報告來看,如this one

+0

我不知道它是什麼,也許是重新啓動,但現在Vulkan現在爲我工作!我的情況與xyproto傢伙的情況很相似。點擊該頁面上的鏈接並按照他們的說法進行操作後,示例現在就可以使用!我的代碼也是這樣!非常感謝! – Jerfov2

0

如果驅動程序安裝正確,您不應該設置環境變量。

檢查正確安裝的一種方法是查找標識驅動程序的JSON文件。例如,NVIDIA驅動程序將在/etc/vulkan/icd.d/中放置一個名爲nvidia_icd.json的文件。 /usr/share/vulkan/icd.d/是另一種標準,但不太常見的位置。

也可能是您的GPU不支持Vulkan。務必檢查您的GPU供應商的網頁以確認支持。您可能希望直接從供應商的網站下載驅動程序,以獲得他們認爲具有Vulkan支持的驅動程序。

你確定使用「其他驅動程序」頁面應該給你一個Vulkan驅動程序嗎?

有關更多信息,請參閱文檔部分https://vulkan.lunarg.com中的加載器文檔。

+0

1.環境變量是我相信的SDK 2.是的,我確實有' nvidia.json'文件,但它在'/ usr/share/vulkan/icd.d'中。也許裝載機不知道在那裏看? 3.我知道我的GPU支持Vulkan,因爲[this](https://developer.nvidia.com/vulkan-driver)網站,因爲它在Windows上工作。 4.據說,我得到的驅動程序支持Vulkan,而我沒有得到VK_ERROR_INCOMPATIBLE_DRIVER。所以我不知道,也許2號是問題 – Jerfov2