LunarG/VulkanTools

Vulkan Caps Viewer works once, then gives "Could not enumerate physical devices"

Closed this issue · 3 comments

I'm on Windows 11, on a laptop with a RTX 3050 Ti Laptop GPU and AMD Ryzen 7 5800U with Radeon Graphics.

I installed the SDK, and the first time it worked. Opening the hardware capability viewer shows my devices, and I'm able to run the SDK test programs fine. That is, until I close the software.

Any application that I'm experiencing Vulkan rendering issues can be run with the Vulkan Configurator. Once I close it, it will not open again until I perform another fresh installation. The fresh installation process I've found that works is:

  • Run the SDK uninstaller.
  • Remove ANY folders associated with the SDK (C:\Vulkan SDK, C:\Users\myusername\Vulkan SDK, %Appdata%\Local\LunarG)
  • Reboot my computer
  • Run the installation program again
  • Check the "open configurator" checkbox at the end of the program.

And it will enumerate devices and run programs up until I close the configurator or CAPS viewer, and then I'm back to square one.

I thought this could be an issue with my drivers? But even after updating to the latest version (and uninstalling and reinstalling those drivers after that didn't work) and trying to query physical devices with my own test code, it's not working. In fact, I've isolated the crash to ANY attempt to query physical drivers without using Vulkan Configurator. vkEnumeratePhysicalDevices seeeems to work okay? But any time any program tries to get information (like physical device properties), it will not work unless it's run through Configurator.

After running vkvia, it returns the same error that my program gets, which is ERROR: vkGetPhysicalDeviceProperties: Invalid physicalDevice [VUID-vkGetPhysicalDeviceProperties-physicalDevice-parameter].

The SDK is the only way I've gotten these applications to work, but the fact that it only works once per installation is kind of driving me crazy. Any help would be much appreciated. I might try to find a game in my library that runs Vulkan and see if that's working as well.

This is wacky.

Can you run any vulkan application with the environment variable VK_LOADER_DEBUG=all set, then capture the output and paste it here? I suggest vulkaninfo because its a 'console' app and the stdout doesn't get sucked into the void (unlike vkcube...)

This sounds like a broken layer install. I suggest running VK_LOADER_LAYERS_DISABLE=~all~ and running any vulkan application to see if it works/breaks.

Vulkan Configurator modifies the 'active' status of layers (depending on what you specify in the app) so when its open it may prevent the bad layer from running.

I fixed it!

So, for reasons that escape me, AMD Ryzen 7 5800U with Radeon Graphics means that there's actually another GPU inside (or connected to, etc.) my AMD CPU (found this out looking at the devices list during a fresh install of the SDK). I never realized, and so I never bothered updating the drivers. After going to AMD's website to download new drivers, everything is now working perfectly.

Great to hear!
If I had to guess it was the AMD Switchable graphics layer installed in the older driver. That has had numerous bugs. Updating the AMD driver updates the swichable graphics layer, fixing your issues.