6

I have an AMD FX CPU Nvidia GTX 650 ti up to date ubuntu 17.10 with 384.90 nvidia drivers.

When I try to run Dawn of War III under Vulkan I get this error message:

ubuntu required Vulkan extension VK_KHR_surface is not available

Vulkaninfo outputs:

===========
VULKAN INFO
===========

Vulkan API Version: 1.0.61

INFO: [loader] Code 0 : Found manifest file /home/papajo/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json, version "1.0.0"
INFO: [loader] Code 0 : Found manifest file /home/papajo/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json, version "1.0.0"
INFO: [loader] Code 0 : Meta-layer VK_LAYER_LUNARG_standard_validation all 0 component layers appear to be valid.
INFO: [loader] Code 0 : Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0"
ERROR: [loader] Code 0 : loader_scanned_icd_add: Attempt to retrieve either 'vkGetInstanceProcAddr' or 'vk_icdGetInstanceProcAddr' from ICD libGL.so.1 failed.
Cannot create Vulkan instance.
/build/vulkan-L06RNr/vulkan-1.0.61.1+dfsg1/demos/vulkaninfo.c:704: failed with VK_ERROR_INCOMPATIBLE_DRIVER

And hwinfo --gfxcard output is:

33: PCI 100.0: 0300 VGA compatible controller (VGA)             
  [Created at pci.378]
  Unique ID: VCu0.Q5LVSWQ7Z_D
  Parent ID: _Znp.+7g4VeAizS0
  SysFS ID: /devices/pci0000:00/0000:00:02.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "nVidia GK106 [GeForce GTX 650 Ti]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x11c6 "GK106 [GeForce GTX 650 Ti]"
  SubVendor: pci 0x1569 "Palit Microsystems Inc."
  SubDevice: pci 0x11c6 
  Revision: 0xa1
  Driver: "nvidia"
  Driver Modules: "nvidia"
  Memory Range: 0xfd000000-0xfdffffff (rw,non-prefetchable)
  Memory Range: 0xf0000000-0xf7ffffff (ro,non-prefetchable)
  Memory Range: 0xf8000000-0xf9ffffff (ro,non-prefetchable)
  I/O Ports: 0xe000-0xe07f (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 30 (4525840 events)
  Module Alias: "pci:v000010DEd000011C6sv00001569sd000011C6bc03sc00i00"
  Driver Info #0:
    Driver Status: nvidiafb is not active
    Driver Activation Cmd: "modprobe nvidiafb"
  Driver Info #1:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #2:
    Driver Status: nvidia_384_drm is not active
    Driver Activation Cmd: "modprobe nvidia_384_drm"
  Driver Info #3:
    Driver Status: nvidia_384 is not active
    Driver Activation Cmd: "modprobe nvidia_384"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #19 (PCI bridge)

Primary display adapter: #33
3
  • File a bug report or feature request
    – Panther
    Oct 21, 2017 at 19:26
  • or maybe there is a way to download and save that file to where it is expected to be...
    – papajo
    Oct 21, 2017 at 20:42
  • 1
    I don't see how this is offtopic - upgrading Ubuntu from 17.04 to 17.10 introduced the regression. Oct 28, 2017 at 5:50

1 Answer 1

9

If you're using the graphics PPA verify you forced their version of packages. I had a similar problem after 17.10 upgrade. Run vulkaninfo to verify your loader is 'good'.

PPA: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

Your /usr/share/vulkan/icd.d/nvidia_icd.json should look something like this:

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.0.49"
    }
}

You likely have one that looks like this given your output:

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGL.so.1",
        "api_version" : "1.0.49"
    }
}
5
  • 1
    That seems to be the problem indeed. How would I fix that?
    – DanMan
    Oct 24, 2017 at 21:23
  • Assuming it's just the ICD library path issue you could edit the JSON file as shown. Barring that use the drivers at the PPA linked above. Oct 26, 2017 at 23:34
  • And the file won't be overwritten somehow by an update? In any case, I did just that and it fixed it.
    – DanMan
    Oct 27, 2017 at 10:22
  • Like explained here I replaced "library_path": "libGL.so.1" by "library_path": "libGLX_nvidia.so.0" in the file /usr/share/vulkan/icd.d/nvidia_icd.json and it works. Thank you. Nov 1, 2017 at 10:18
  • With these changes I get "ERROR: [Loader Message] Code 0 : libGLX_nvidia.so.0: cannot open shared object file: No such file or directory" when trying to run vulkaninfo. This is using nvidia-418 and locate returns results on the library. Any ideas on what could be the issue?
    – Martin
    Mar 31, 2019 at 12:35

Not the answer you're looking for? Browse other questions tagged .