video2x icon indicating copy to clipboard operation
video2x copied to clipboard

"vkEnumeratePhysicalDevices failed -3" error with Debian 11

Open stealthdave opened this issue 1 year ago • 0 comments

I'm running Debian 11 with nvidia-docker installed, and running video2x returns the vkEnumeratePhysicalDevices failed -3 error on repeat. Here's my command line:

docker run --runtime nvidia --rm --gpus all --privileged -ti \
  -e NVIDIA_DRIVER_CAPABILITIES=all \
  -e NVIDIA_VISIBLE_DEVICES=all \
  --device /dev/nvidia0:/dev/nvidia0 \
  --device /dev/nvidiactl:/dev/nvidiactl \
  --device /dev/nvidia-uvm:/dev/nvidia-uvm \
  --device /dev/nvidia-modeset:/dev/nvidia-modeset \
  --device /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools \
  --device /dev/nvidia-caps/nvidia-cap1:/dev/nvidia-caps/nvidia-cap1 \
  --device /dev/nvidia-caps/nvidia-cap2:/dev/nvidia-caps/nvidia-cap2 \
  -v $(pwd):/host ghcr.io/k4yt3x/video2x:5.0.0-beta6 -i input.mkv -o output.mkv -p1 upscale -h 1080 -a waifu2x

nvidia-docker does appear to be set up correctly as evidenced by this command successfully running vulkaninfo from the same container that is used as the base container for video2x:

$ docker run --runtime=nvidia --rm --gpus all -ti \
  --device /dev/nvidia0:/dev/nvidia0 \
  --device /dev/nvidiactl:/dev/nvidiactl \
  --device /dev/nvidia-uvm:/dev/nvidia-uvm \
  --device /dev/nvidia-modeset:/dev/nvidia-modeset \
  --device /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools \
  docker.io/nvidia/vulkan:1.3-470 vulkaninfo

'DISPLAY' environment variable not set... skipping surface inforake/storage$ 
error: XDG_RUNTIME_DIR not set in the environment.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.204


Instance Extensions: count = 18
===============================
	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
...

Attempting to run vulkaninfo directly from the video2x container directly results in the following error:

$ docker run --runtime nvidia --rm --gpus all --privileged -ti \
  -e NVIDIA_DRIVER_CAPABILITIES=all \
  -e NVIDIA_VISIBLE_DEVICES=all \
  --device /dev/nvidia0:/dev/nvidia0 \
  --device /dev/nvidiactl:/dev/nvidiactl \
  --device /dev/nvidia-uvm:/dev/nvidia-uvm \
  --device /dev/nvidia-modeset:/dev/nvidia-modeset \
  --device /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools \
  --device /dev/nvidia-caps/nvidia-cap1:/dev/nvidia-caps/nvidia-cap1 \
  --device /dev/nvidia-caps/nvidia-cap2:/dev/nvidia-caps/nvidia-cap2 -\
  v $(pwd):/host --entrypoint vulkaninfo \
  ghcr.io/k4yt3x/video2x:5.0.0-beta6

ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Could not get 'vkCreateInstance' via 'vk_icdGetInstanceProcAddr' for ICD libGLX_nvidia.so.0
'DISPLAY' environment variable not set... skipping surface info
error: XDG_RUNTIME_DIR not set in the environment.
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
ERROR: [Loader Message] Code 0 : setup_loader_tramp_phys_devs:  Failed during dispatch call of 'vkEnumeratePhysicalDevices' to lower layers or loader to get count.
ERROR at /vulkan-sdk/1.3.204.1/source/Vulkan-Tools/vulkaninfo/vulkaninfo.h:230:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED

Any help in getting video2x running would be greatly appreciated!

stealthdave avatar Nov 09 '23 06:11 stealthdave