Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vkGetPhysicalDeviceSurfaceFormats2KHR error in vulkaninfo #76

Closed
zimudec opened this issue Sep 29, 2020 · 7 comments
Closed

vkGetPhysicalDeviceSurfaceFormats2KHR error in vulkaninfo #76

zimudec opened this issue Sep 29, 2020 · 7 comments

Comments

@zimudec
Copy link

zimudec commented Sep 29, 2020

I have had problems starting vulkan with the latest versions of steam-manjaro, and I had to downgrade to previous versions to avoid the problem.

Something similar has happened to me with libglvnd, where I have also had to downgrade.

I saw that when I run pvkrun vulkaninfo, it throws me the following:

ERROR: [Loader Message] Code 0 : /usr/lib32/libvulkan_intel.so: wrong ELF class: ELFCLASS32 INTEL-MESA: warning: Ivy Bridge Vulkan support is incomplete ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.2.151/vulkaninfo/vulkaninfo.h:245:vkGetPhysicalDeviceSurfaceFormats2KHR failed with ERROR_INITIALIZATION_FAILED

I think it may have to do with it. I have not found anything related on the web, and I need guidance.

@felixdoerre
Copy link
Owner

felixdoerre commented Sep 29, 2020

On my system this error is caused by the following behavior.

  • primusrun/optirun powers on the dedicated graphics card
  • vulkaninfo explicitly requests vulkan api 1.2
  • The vulkan-info speficied in the primus_vk layer-json file is 1.1
  • The loader skips the primus_vk layer
  • Now the loader directly contacts the dedicated graphics card and asks for supported surface formats
  • The nvidia driver is confused, as it is asked to talk to the primary X-Server (which runs on intel graphics) which is didn't know about before.

For me, changing the vulkan version to 1.2 in the primus_vk.json solved the problem in vulkaninfo. I didn't experience any problems with a real-world application though, so I didn't check further.

Can you try, if changing the version to 1.2here helps you?

@crbble
Copy link

crbble commented Sep 29, 2020

I also had this problem and changing the version to 1.2 in /usr/share/vulkan/implicit_layer.d/primus_vk.json worked for me. Without this change DXVK with WINE did not work.

@felixdoerre
Copy link
Owner

Strange, I am running several wine/dxvk applications without problem. At least on master, dxvk currently only requests vulkan 1.1:
https://github.com/doitsujin/dxvk/blob/ea53923406e3bfe3a6bc1e2452254773855e7ed0/src/dxvk/dxvk_instance.cpp#L122

But whatever, version 1.2 is in any case the "correct" version for primus_vk.json

@zimudec
Copy link
Author

zimudec commented Sep 29, 2020

I effectively made the change and vulkaninfo no longer returns an error.

However, even though you have made that change, the latest version of steam-manjaro (1.0.0.66-1) still shows an error when trying to run vulkan:

PrimusVK: Searching for display GPU:
PrimusVK: 0x56731a60: 
PrimusVK: Got integrated gpu!
PrimusVK: Device: Intel(R) HD Graphics 4000 (IVB GT2)
PrimusVK:   Type: 1
PrimusVK: Searching for render GPU:
PrimusVK: 0x56731a60.
PrimusVK: No device for the rendering GPU found. Is the correct driver installed?
PrimusVK: VK_ICD_FILENAMES not set
vkCreateInstance failed with error -3
BInit - Unable to initialize Vulkan!
[0929/203723.960952:INFO:crash_reporting.cc(270)] Crash reporting enabled for process: renderer
[0929/203724.054021:INFO:crash_reporting.cc(270)] Crash reporting enabled for process: renderer
[0929/203724.172321:INFO:crash_reporting.cc(270)] Crash reporting enabled for process: renderer
Installing breakpad exception handler for appid(steam)/version(1599174997)

I go back to the previous version (1.0.0.61-7) and pvkrun with vulkan, steam and optimus works without problems.

I'm going to open a new issue, as it seems to be a different error.

@felixdoerre
Copy link
Owner

So this issue is solved then?

@zimudec
Copy link
Author

zimudec commented Sep 30, 2020

yes, the vulkaninfo command error is fixed!

@jarbus
Copy link

jarbus commented Jan 20, 2021

On my system this error is caused by the following behavior.

  • primusrun/optirun powers on the dedicated graphics card
  • vulkaninfo explicitly requests vulkan api 1.2
  • The vulkan-info speficied in the primus_vk layer-json file is 1.1
  • The loader skips the primus_vk layer
  • Now the loader directly contacts the dedicated graphics card and asks for supported surface formats
  • The nvidia driver is confused, as it is asked to talk to the primary X-Server (which runs on intel graphics) which is didn't know about before.

For me, changing the vulkan version to 1.2 in the primus_vk.json solved the problem in vulkaninfo. I didn't experience any problems with a real-world application though, so I didn't check further.

Can you try, if changing the version to 1.2here helps you?

Thank you so much, this fixed it for me as well!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants