Search code examples
c++graphicsgpuhardwarevulkan

Why does vulkan report a single device in a system with an integrated graphics card and a GPU?


In C++ I am checking the number of available devices like this:

uint32_t deviceCount = 0;
vkEnumeratePhysicalDevices(instance, &deviceCount, nullptr);

cout << deviceCount << endl;
vkGetPhysicalDeviceProperties(device, &deviceProperties);
vkGetPhysicalDeviceFeatures(device, &deviceFeatures);

cout << deviceProperties.deviceName << endl;

This is printing out 1 Geforce GTX 1070.

My system has a GTX 1070 and a 4th generation intel 5 processor with integrated graphics. Which to my understanding, should be good enough for Vulkan.

So why is my program only picking up the GTX 1070? Shouldn't it also be able to find the integrated graphics card?

Edit:

The exact model as per cpuinfo is: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz

Edit 2:

My OS is Arch linux


Solution

  • By default for desktops if you have dedicated GPU, integrated GPU is disabled in bios and will not show as a device in system.

    Each bios vendor calls it differently, but try to look for "IGP ENABLE" or "Multi-monitor support".