Hi there,
First, excuse me for my poor english because I’m not native (i’m french)…
I’m going to try to tell what my problem is.
My configuration :
Asus laptop X556U
Ubuntu 10.10
GPU : Intel integrated GPU + Nvidia GeForce 940mx
Driver : nvidia-driver-440 (free)
I installed the Vulkan SDK in my home dir in : /home/seb/vulkan-sdk
I put in my .profile file :
source /home/seb/vulkan-sdk/1.1.126.0/setup-env.sh
Then, I created the file /etc/ld.so.conf.d/vulkan-libs.conf wich contains :
seb@seb-X556UQK:/etc/ld.so.conf.d$ cat vulkan-libs.conf
/home/seb/vulkan-sdk/1.1.126.0/x86_64/lib
Then I did :
sudo ldconfig
In the NVidia configuration panel, in PRIME profile I selected “NVIDIA (Performance mode)”
If I launch vkcube, a black window appears (there is no rotating cube)
If I try vulkaninfo, it says the following :
WARNING: [Loader Message] Code 0 : loader_icd_scan: Can not find 'ICD' object in ICD JSON file /usr/share/vulkan/icd.d/nvidia_layers.json. Skipping ICD JSON
/home/seb/vulkan-sdk/1.1.126.0/source/Vulkan-Tools/vulkaninfo/vulkaninfo.h:803: failed with ERROR_INITIALIZATION_FAILED
In the NVidia panel if I switch to “Intel (Power saving mode)”, reboot,
vkcube now works, it shows a rotating cube in a window
vulkaninfo now says a lot of things :
WARNING: [Loader Message] Code 0 : loader_icd_scan: Can not find 'ICD' object in ICD JSON file /usr/share/vulkan/icd.d/nvidia_layers.json. Skipping ICD JSON
...
...
Presentable Surfaces:
=====================
GPU id : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2)):
...
...
(but there is no NVidia GPU)
If I delete /usr/share/vulkan/icd.d/nvidia_layers.json, the WARNING message doesn’t appears anymore but vulkaninfo still doesn’t show my NVidia GPU and vkcube still doesn’t show the rotating cube
Is it normal that a nvidia_layers.json file is in the icd.d directory ?
here is the content of :
-
/usr/share/vulkan/icd.d/nvidia_icd.json :
{
“file_format_version” : “1.0.0”,
“ICD”: {
“library_path”: “libGLX_nvidia.so.0”,
“api_version” : “1.1.99”
}
} -
/usr/share/vulkan/icd.d/nvidia_layers.json :
{
“file_format_version” : “1.0.0”,
“layer”: {
“name”: “VK_LAYER_NV_optimus”,
“type”: “INSTANCE”,
“library_path”: “libGLX_nvidia.so.0”,
“api_version” : “1.1.119”,
“implementation_version” : “1”,
“description” : “NVIDIA Optimus layer”,
“functions”: {
“vkGetInstanceProcAddr”: “vk_optimusGetInstanceProcAddr”,
“vkGetDeviceProcAddr”: “vk_optimusGetDeviceProcAddr”
},
“enable_environment”: {
“__NV_PRIME_RENDER_OFFLOAD”: “1”
},
“disable_environment”: {
“DISABLE_LAYER_NV_OPTIMUS_1”: “”
}
}
} -
With those following drivers there is no nvidia_layers.json in /usr/share/vulkan/icd.d/ :
nvidia-driver-430 (proprietary)
nvidia-driver-390 (proprietary)
But vkcube doesn’t work with my NVidia GPU and vulkaninfo only show my Intel integrated GPU
Is someone could help me please ?