protonscr

Required Vulkan extension VK_KHR_surface not supported

dxvkclosed not a bug
doitsujin/dxvk#3191 · opened 2023-01-16 by Augusto7743 · updated 2025-04-23 · 24 comments · github
AAugusto7743 2023-01-16 github

Hello.
All good with you ?

OS Ubuntu 20.04 ... Radeon HD3000 using Mesa drivers installed both 32 and 64 bits. With that GPU the Mesa Vulkan driver will use the CPU software rendering.

In Mesa previous version before 12-2022 trying run Visual Pinball using DXVK 1.10.3 and WINE 8.0 works correctly.
Now updated Mesa to version 22.3.2 the Visual Pinball not start and is created an file

VPinballX_d3d9.log
info: Game: VPinballX.exe
info: DXVK: v1.10.3
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
info: OpenXR
info: OpenVR: could not open registry key, status 2
info: OpenVR: Failed to locate module
info: Required Vulkan extension VK_KHR_surface not supported

However Mesa new version works with other software requiring Vulkan 1.2.
Only DXVK not work.

Perhaps the issue is in Mesa ?
Have any command or configuration to try an solution for it ?

Have an nice week.

BBlisto91 2023-01-16 github

Hello.

VK_KHR_surface missing means there is a driver issue as it is one of the most basic core extensions in Vulkan.
Tho i'm guessing you should be able to use the software renderer as previously.

If you have it installed could you try sharing the output of vulkaninfo ?

AAugusto7743 2023-01-16 github

Thanks for replying
Here is the log.
Is possible run anothers softwares using Mesa Vulkan ... the issue is only when using DXVK

vulkaninfo --summary

WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 0. Skipping ICD.
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 5. Skipping ICD.
ERROR: [../src/amd/vulkan/radv_device.c:741] Code 0 : Device '/dev/dri/renderD128' is not using the AMDGPU kernel driver: No such file or directory (VK_ERROR_INCOMPATIBLE_DRIVER)

VULKANINFO

Vulkan Instance Version: 1.3.236

Instance Extensions: count = 20

VK_EXT_acquire_drm_display : extension revision 1
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 10
VK_EXT_debug_utils : extension revision 2
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
VK_KHR_device_group_creation : extension revision 1
VK_KHR_display : extension revision 23
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2 : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_portability_enumeration : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_surface_protected_capabilities : extension revision 1
VK_KHR_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6

Instance Layers: count = 3

VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1
VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211 version 1

Devices:

GPU0:
apiVersion = 1.3.230
driverVersion = 0.0.1
vendorID = 0x10005
deviceID = 0x0000
deviceType = PHYSICAL_DEVICE_TYPE_CPU
deviceName = llvmpipe (LLVM 15.0.6, 256 bits)
driverID = DRIVER_ID_MESA_LLVMPIPE
driverName = llvmpipe
driverInfo = Mesa 22.3.2 - kisak-mesa PPA (LLVM 15.0.6)
conformanceVersion = 1.3.1.1
deviceUUID = 6d657361-3232-2e33-2e32-202d206b6900
driverUUID = 6c6c766d-7069-7065-5555-494400000000

BBlisto91 2023-01-16 github

Could you try running the game together with either DXVK_FILTER_DEVICE_NAME="llvmpipe" or DXVK_FILTER_DEVICE_NAME="LLVMPIPE" ? I am unsure if it is case sensitive and what the software driver shows up as.

AAugusto7743 2023-01-16 github

The game is Visual Pinball running in WINE.
Visual Pinball access D3D9 and thus DXVK try access Vulkan driver in host OS.
VIsual Pinball not have option to select video driver ... However when trying select the Menu Option Video crash Visual Pinball.

DXVK can't access Vulkan driver in host OS.

DXVK_FILTER_DEVICE_NAME="llvmpipe" or DXVK_FILTER_DEVICE_NAME="LLVMPIPE" are configurations to be used in DXVK or trying load an game using command line ?

BBlisto91 2023-01-16 github

Ye it is a environment variable so if launching from terminal you'd just put that first before other commands.

Btw i suspect that the game would probably run better using wined3d and OpenGL than dxvk plus a software Vulkan driver. Unless it has graphical issue or refuses to launch.

Ddoitsujin maintainer 2023-01-16 github

Launching applications with llvmpipe as the only Vulkan driver works fine here (using mesa 22.3.3).

Also is there any reason you're still uisng DXVK 1.10.3? Version 2.0 will work just fine with llvmpipe.

AAugusto7743 2023-01-17 github

@Blisto91

Thanks very much for your good deeds.
I have used your environment sets ... not work.

@doitsujin

You are using the Mesa same version used here.
Installed DXVK 2.0 and not work.

DXVK creator ... your software is an work of an good programmer.
Trying run Visual Pinball in WINE using wined3d has issues.
When is pressed ESC is opened an menu with text.
wined3d only show the menu.
DXVK show the menu and the text. Also run much better.

I not has information if Mesa Vulkan not work here if is an kernel issue.
Also in moment is being used an IGP Radeon 3000 ( IGP before of 2009 similar with GF 8400 ).
However the Mesa Vulkan driver will use cpu software render, but not work.
Recent Mesa version has added Vulkan 1.3 thus I not understand if has breaked Vulkan driver if in OS are being used an much old IGP.

I will try post about it in
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Only reporting not demanding anything .... that IGP is much old. well ... had worked in Mesa version of 10-2022.

Fflightlessmango 2023-01-18 github

I'm running into this as well without llvmpipe.
Anything running with wine and dxvk seems to cause it

warn:  DXGIDeclareAdapterRemovalSupport: Stub
warn:  CreateDXGIFactory2: Ignoring flags
info:  Game: Wow.exe
info:  DXVK: v2.0
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Required Vulkan extension VK_KHR_surface not supported
err:   DxvkInstance: Failed to create instance
warn:  DXGIGetDebugInterface1: Stub

Running mesa 22.3.3-1

DDungeonseeker 2023-01-18 github

Hello. All good with you ?

OS Ubuntu 20.04 ... Radeon HD3000 ....

I'm not 100% sure this is accurate but I'm gonna go out on a limb and say that your 15 year old GPU probably doesn't support DXVK or Vulkan at all.

BBlisto91 2023-01-18 github

We know. We are talking about the Software based Vulkan driver.

@Augusto7743 Can you post the output of ls /usr/share/vulkan/icd.d/ ?

AAugusto7743 2023-01-19 github

dzn_icd.x86_64.json
intel_icd.x86_64.json
radeon_icd.x86_64.json
intel_hasvk_icd.x86_64.json
lvp_icd.x86_64.json
virtio_icd.x86_64.json

Inside in each json

{
"ICD": {
"api_version": "1.1.230",
"library_path": "/usr/lib/x86_64-linux-gnu/libvulkan_lvp.so"
},
"file_format_version": "1.0.0"
}

point to an libvulkan_"NAMEUSEDISJSONFILENAME".so

Perhaps is an issue in WINE 8.0 ?
In 8.0 changelog was done changes in wined3d and winevulkan driver.
Anyone can test DXVK in WINE 8.0 ?

BBlisto91 2023-01-19 github

I see that you don't have any 32bit drivers installed?

Edit: Tho taking a quick peek at arch wiki maybe that is normal? https://wiki.archlinux.org/title/Vulkan#Software_Vulkan:_lavapipe

AAugusto7743 2023-01-19 github

Here installed libglvnd and Mesa both 32 and 64 bits.
Libglvnd is more related with OpenGL ?

In link
https://wiki.archlinux.org/title/Vulkan#Software_Vulkan:_lavapipe
Have information about not has Mesa Vulkan for 32 bits.
However here in Mesa and WINE previous version had Mesa Vulkan llvmpipe 32 bits working.

You are using WINE 8.0 ?

AAugusto7743 2023-01-21 github

WINE internal d3d implementation has issues.
DXVK is fast and not have the same issues if using wined3d.
Visual Pinball only is rendered correctly if using DXVK.

I have always done the installation in sequence :

  • OS fresh install.
  • sudo apt update
  • sudo add-apt-repository ppa:kisak/kisak-mesa
  • sudo apt upgrade -d

Thus Mesa is updated.
After is installed WINE and DXVK.
Never had happened any problem.

Well ... manually unninstalled mesa vulkan drivers and done an downgrade in both 32 and 64 libraries to 22.2.5
Finally WINE 8.0 using DXVK without any issue.
After done an mesa vulkan upgrade and all continue working correctly.
Perhaps doing the downgrade and after the upgrade in mesa files has fixed it.

Now in
/usr/share/vulkan/icd.d/
have the files below

dzn_icd.x86_64.json
intel_hasvk_icd.i686.json
intel_hasvk_icd.x86_64.json
intel_icd.i686.json
intel_icd.x86_64.json
lvp_icd.i686.json
lvp_icd.x86_64.json
radeon_icd.i686.json
radeon_icd.x86_64.json
virtio_icd.i686.json
virtio_icd.x86_64.json

Also I has done an test in Ubuntu 18.04.5 32 bits with WINE 7.20 and DXVK current version. All working correctly.
Strange detail is was installed only the files below ... not was installed any named mesa-vulkan-drivers_22.3.2~kisak1~f_i386

libdrm2_2.4.110-1~kisak~b_i386
libdrm-amdgpu1_2.4.110-1~kisak~b_i386
libdrm-common_2.4.110-1~kisak~b_all
libdrm-intel1_2.4.110-1~kisak~b_i386
libdrm-nouveau2_2.4.110-1~kisak~b_i386
libdrm-radeon1_2.4.110-1~kisak~b_i386
libegl1_1.3.3-1~kisak1~b_i386
libegl1-mesa_22.2.2~kisak1~b_i386
libegl-mesa0_22.2.2~kisak1~b_i386
libgbm1_22.2.2~kisak1~b_i386
libgl1_1.3.3-1~kisak1~b_i386
libgl1-mesa-dri_22.2.2~kisak1~b_i386
libgl1-mesa-glx_22.2.2~kisak1~b_i386
libglapi-mesa_22.2.2~kisak1~b_i386
libglvnd0_1.3.3-1~kisak1~b_i386
libglx0_1.3.3-1~kisak1~b_i386
libglx-mesa0_22.2.2~kisak1~b_i386
libllvm14_1%3a14.0.6-1~kisak1~b_i386
libva2_2.16.0-0ubuntu1~18.04.sav0_i386
libva-drm2_2.16.0-0ubuntu1~18.04.sav0_i386
libva-x11-2_2.16.0-0ubuntu1~18.04.sav0_i386
libwayland-client0_1.18.0-1~kisak1~b_i386
libwayland-cursor0_1.18.0-1~kisak1~b_i386
libwayland-egl1_1.18.0-1~kisak1~b_i386
libwayland-egl1-mesa_22.2.2~kisak1~b_i386
libwayland-server0_1.18.0-1~kisak1~b_i386
libxatracker2_22.2.2~kisak1~b_i386

Your DXVK current version works with WINE 8.0 RC2.
Thank you helping me.
Have an nice day.

BBlisto91 2023-01-22 github

Glad you got it working :slightly_smiling_face:

Rrafa9101 2023-06-28 github

I fix this installing lib32 drivers, thanks! using wine 8.11 staging and dxvk 2.2

BBlueTree242 2023-09-02 github

lib32

i am having the same issue, can you clearify how you fixed it? it's been days...

Mmbriar 2023-09-02 github

How you install the lib32 drivers depends on your distro, and also, if there are no vulkan 1.3 capable drivers for your GPU then you can't fix it.

BBlueTree242 2023-09-02 github

How you install the lib32 drivers depends on your distro, and also, if there are no vulkan 1.3 capable drivers for your GPU then you can't fix it.

It's integrated Intel UHD 630 and when i use vulkaninfo it's 1.3+ additionally i am using dxvk 1.10.3 which has less driver requirements

BBlueTree242 2023-09-02 github
BBlueTree242 2023-09-02 github

How you install the lib32 drivers depends on your distro, and also, if there are no vulkan 1.3 capable drivers for your GPU then you can't fix it.

I am on ubuntu 22.04 and i followed many documentations about drivers and stuff

MMarSoft 2024-02-08 github

Another possible reason for the Required Vulkan extension VK_KHR_surface error: this may happen if you use x86_64 system and run application for x86 (32-bit), and you don't have 32-bit mesa/opengl drivers installed.

Mmelroy89 2025-03-21 github

Just for others who might see this error. And you do not know which packages you may or may not have.

For Linux Mint (apt) it would be:

sudo dpkg --add-architecture i386

sudo apt update

sudo apt install libosmesa6:amd64 libosmesa6-dev:amd64 libosmesa6:i386 libglx-dev:i386 libglx-mesa0:i386 va-driver-all:i386 mesa-common-dev:i386 steam-libs:i386 libgbm1:i386 libgbm-dev:amd64 libglx0:i386 mesa-libgallium:i386 libva-glx2:i386 mesa-va-drivers:i386 libgl1-mesa-dri:i386 steam-libs-i386:i386 vdpau-driver-all:i386 xserver-xorg-dev:i386 mesa-vulkan-drivers:i386 libgstreamer-plugins-base1.0-dev:amd64 steam-installer:amd64 libgl-dev:i386 libsdl2-2.0-0:i386 libegl-mesa0:i386 libgl1:i386 libegl1:i386 libsdl2-dev:amd64 mesa-vdpau-drivers:i386 libdrm-dev:amd64 libdrm-dev:i386 libdrm-nouveau2:amd64 libdrm-nouveau2:i386 libdrm-common:amd64 libdrm-amdgpu1:amd64 libdrm-amdgpu1:i386 libdrm-radeon1:amd64 libdrm-radeon1:i386 libdrm2:amd64 libdrm2:i386 libdrm-intel1:amd64 libdrm-intel1:i386 libvulkan1:amd64 libvulkan1:i386 libglx-mesa0:amd64 libgbm1:amd64 mesa-libgallium:amd64 mesa-va-drivers:amd64 libgl1-mesa-dri:amd64 mesa-vulkan-drivers:amd64 libglapi-mesa:amd64  libegl-mesa0:amd64 mesa-vdpau-drivers:amd64

That should pretty much cover it all.

FFlandreDaisuki 2025-04-23 github

I install mesa-vulkan-drivers:i386 and everything works fine.

sudo dpkg --add-architecture i386

apt update

# install wine with lots of dependencies but no mesa-vulkan-drivers:i386
apt install winehq-staging 

# ref: https://www.reddit.com/r/linux_gaming/comments/vqbrrz/comment/lvbudl3/
apt install mesa-vulkan-drivers:i386

OS: debian (bookworm)