I am building a library for dart/flutter for realtime ML use that loads webgpu via dawn (which defaults to Vulkan on Linux desktop) to execute compute shaders. I ran into an issue with the Vulkan backend when testing with a 3090 on Ubuntu 22.04 LTS that only appeared on drivers greater than version 550.
I tested the downloaded drivers from the website and the ones installed via ubuntu-drivers to be sure, as well as the latest beta drivers.
From the app perspective this only seems to happen when Dawn is built with Flutter, so it may be related to embedding Vulkan inside of or after a OPENGLES context, or it may be related a upstream dependency problem at build time.
Last working: 535.183.01
Tested: 535.133.01, 570.86.16
Error: Loader Message: loader_validate_device_extensions: Device extension VK_GOOGLE_display_timing not supported by selected physical device or enabled layers.
Error: Loader Message: vkCreateDevice: Failed to validate extensions in list
Error: Device lost because of FailedCreation: Failed to create device:
vkCreateDevice failed with VK_ERROR_EXTENSION_NOT_PRESENT
at CheckVkSuccessImpl (/home/dev/minigpu/minigpu/example/linux/flutter/ephemeral/.plugin_symlinks/minigpu_ffi/src/external/dawn/src/dawn/native/vulkan/VulkanError.cpp:106)
at CreateDevice (/home/dev/minigpu/minigpu/example/linux/flutter/ephemeral/.plugin_symlinks/minigpu_ffi/src/external/dawn/src/dawn/native/vulkan/DeviceVk.cpp:634)
at Initialize (/home/dev/minigpu/minigpu/example/linux/flutter/ephemeral/.plugin_symlinks/minigpu_ffi/src/external/dawn/src/dawn/native/vulkan/DeviceVk.cpp:123)
at Create (/home/dev/minigpu/minigpu/example/linux/flutter/ephemeral/.plugin_symlinks/minigpu_ffi/src/external/dawn/src/dawn/native/vulkan/DeviceVk.cpp:86)
For now I will advise users of the library to stick with 535, but am curious as to what in the latest drivers could be causing VK_ERROR_EXTENSION_NOT_PRESENT for the VK_GOOGLE_display_timing extension, which is usually only present on Android.
Let me know if there’s anything I can do to help further diagnose this.
Helpful for troubleshooting other install issues or testing –
to go back to gui if you need
systemctl isolate graphical.target
to uninstall use
systemctl isolate multi-user.target
after login
sudo apt purge nvidia
sudo ./NVIDIA-Linux-x86_64-570.86.16.run
or for 550
sudo ubuntu-drivers install nvidia:550
reboot