nix-community/nixGL

nixVulkanIntel usage with AMDGPU-PRO

kir68k opened this issue · 1 comments

Hi, I have been using this program to get steam installed on my distro without Flatpak and without the hassle of 32-bit dependencies globally installed. It works great, but I can't seem to force amd_pro_icd64.json usage when using nixVulkanIntel.

Example: VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json nixVulkanIntel vulkaninfo --summary will print:

GPU0:
	apiVersion         = 1.3.260
	driverVersion      = 2.0.279
	vendorID           = 0x1002
	deviceID           = 0x73ff
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 6600 XT
	driverID           = DRIVER_ID_AMD_PROPRIETARY
	driverName         = AMD proprietary driver
	driverInfo         = (AMD proprietary shader compiler)
	conformanceVersion = 1.3.3.1
	deviceUUID         = 00000000-0a00-0000-0000-000000000000
	driverUUID         = 414d442d-4c49-4e55-582d-445256000000
GPU1:
	apiVersion         = 1.3.246
	driverVersion      = 23.1.4
	vendorID           = 0x1002
	deviceID           = 0x73ff
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 6600 XT (RADV NAVI23)
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 23.1.4
	conformanceVersion = 1.3.0.0
	deviceUUID         = 00000000-0a00-0000-0000-000000000000
	driverUUID         = 414d442d-4d45-5341-2d44-525600000000
GPU2:
	apiVersion         = 1.3.246
	driverVersion      = 0.0.1
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 15.0.7, 256 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 23.1.4 (LLVM 15.0.7)
	conformanceVersion = 1.3.1.1
	deviceUUID         = 6d657361-3233-2e31-2e34-000000000000
	driverUUID         = 6c6c766d-7069-7065-5555-494400000000

Seems like my /usr/share entry is appended to the end of VK_ICD_FILENAMES, only selected on GPU0.

Oh, this might be a non-issue and my mistake, GPU0 seems to be the real one and is the only one I get when running vulkaninfo without nixVulkanIntel:

Devices:
========
GPU0:
	apiVersion         = 1.3.260
	driverVersion      = 2.0.279
	vendorID           = 0x1002
	deviceID           = 0x73ff
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 6600 XT
	driverID           = DRIVER_ID_AMD_PROPRIETARY
	driverName         = AMD proprietary driver
	driverInfo         = (AMD proprietary shader compiler)
	conformanceVersion = 1.3.3.1
	deviceUUID         = 00000000-0a00-0000-0000-000000000000
	driverUUID         = 414d442d-4c49-4e55-582d-445256000000

I have to wonder then, what is GPU1 and GPU2? Why does that only appear when using nixVulkanIntel? I presume games would select GPU0, but I want to be sure of what the other two are.